Мы в Telegram
Добавить новость
Новости сегодня

Новости от TheMoneytizer

Делаем собственный VPN за 30 минут: пошаговая инструкция для новичков

Делаем собственный VPN за 30 минут: пошаговая инструкция для новичков

VPN не только позволяет обходить региональные ограничения, но и обеспечивает безопасное использование интернета в общественных местах и постоянный доступ к локальной сети. Бесплатные VPN-сервисы ненадёжны, платные слишком уж завышают ценник и тоже могут блокировать пользователей или быть недоступны. Остаётся лишь настроить личный сервер, который выйдет и дешевле, и безопаснее. Это не так сложно, как кажется на первый взгляд.

Что для этого потребуется: 4 этапа

Поднятие своего собственного VPN-сервера состоит из нескольких шагов. Это под силу даже неопытному пользователю, достаточно следовать инструкции в статье.

  1. Нужен удалённый компьютер, на который будет устанавливаться специальное ПО. Проще всего арендовать его в одном из крупных и надёжных сервисов — далее в статье я расскажу о таких.
  2. Надо подключиться к серверу по SSH-протоколу с помощью программы Termius и установить на него WireGuard — софт для настройки VPN-соединения.
  3. После установки VPN надо его правильно сконфигурировать.
  4. После настройки WireGuard останется лишь инсталлировать приложение на клиентское устройство и присоединиться к настроенному серверу.

Этап №1. Аренда сервера (выбираем с оплатой криптовалютой)

Поднимать VPN будем на удалённом сервере. Существует огромное количество сервисов, предоставляющих VPS (Virtual Private Server) по адекватным ценам. Ниже представлены популярные поставщики услуг:

  • AWS: первые 12 месяцев бесплатно, затем 10 долларов в месяц, 15 ТБ трафика;
  • Hetzner: 3 евро в месяц, 20 ТБ трафика, требуется подтверждение личности по документу;
  • Vultr: 3,5 доллара в месяц (только при выборе VPS в США), 500 ГБ трафика;
  • Pulseheberg: 4 евро в месяц;
  • DigitalOcean: 5 долларов в месяц, 1 ТБ трафика.

К сожалению, сейчас их невозможно оплатить российскими картами, поэтому в этой статье я буду использовать и рекомендовать сервис СrownСloud. Его прелесть в том, что оплатить сервер можно с помощью криптовалюты (только BTC), которая доступна к использованию даже пользователям из России.

Самый дешёвый сервер можно арендовать за 2,5 доллара в месяц, правда, оплатить придётся на весь год — 30 долларов в сумме. За эту сумму вы получите 512 ГБ трафика ежемесячно. Оплата помесячно доступна для более дорогих решений — от 4 долларов в месяц за 1 ТБ трафика. Можно купить этот план для проверки, а затем сменить на более дешёвый, заплатив сразу за весь год.

Для тех, кто уже знает, как настраивать WireGuard, я советую взять KVM-сервер, ибо установка на нём будет проще и быстрее. В этом же материале я покажу на примере OpenVZ VPS.

На главной странице выбираем раздел Classic OpenVZ Plans.

Выбираем подходящий план — достаточно и самого дешёвого, но, как я сказал ранее, его придётся оплатить сразу на год. Поэтому для примера я выбрал вариант за 4 доллара в месяц. Переходим к оплате, кликнув на расположение сервера справа — США или Германия.

На этом этапе выберите операционную систему Ubuntu 20.04 x86_64 и перейдите к оплате, нажав кнопку Continue и затем Checkout.

Далее придется заполнить регистрационную форму — можете ввести туда абсолютно любые данные. Главное, чтобы они выглядели достоверно. Только укажите свою почту, к которой имеете доступ, а также запомните пароль. В самом низу выберите способ оплаты Bit-pay (Bitcoin) и поставьте флаг около условий обслуживания. Нажмите Complete Order и перейдите к окну оплаты.

Откроется окно сервиса BitPay. Если потребуется регистрация в этом сервисе — сделайте это, она занимает несколько минут и не требует ввода личных данных. Далее выберите подходящий кошелёк, на котором хранятся ваши цифровые активы. Я рекомендую использовать Electrum Wallet. Показывать пример буду также на нём, предполагая, что вы уже создали его и храните на нём средства.

Когда появится сумма, необходимая к оплате, нажмите «Пополнить кошелёк». Откроется приложение кошелька и сразу после этого — окно транзакции с заполненными данными.

Обязательно зайдите в «Инструменты» > «Настройки» и временно отключите пункт «Использовать возможность замены комиссии» или RBF (Replace-by-fee). Затем в поле «Комиссия» введите число, которое было указано на сайте (черная плашка внизу с надписью Required Fee Rate на изображении выше). Нажмите «Отправка», чтобы отправить транзакцию сразу. Возможно, потребуется ввести пароль от вашего кошелька. 

Как только транзакция попадёт в сеть, сервис BitPay сообщит об успешной оплате. Вернитесь на CrownCloud.

На открывшейся странице выберите вкладку Services > My services. Откроется список приобретённых серверов. Сразу после оплаты вы увидите статус Pending — это из-за того, что транзакция попала в сеть, но еще не подтвердилась. После получения первого подтверждения VPS станет активным. Этот процесс занимает не более 20 минут.

Как только удалённая машина станет активна, кликните на неё — вы увидите её IP-адрес, по которому будете подключаться к ней в следующем пункте.

Нажмите на вкладку Hello, <ваш юзернейм>, выберите Email History. Найдите сообщение с темой CrownCloud — New VPS Information и откройте его. Там вы увидите пароль от root-пользователя сервера и данные для панели управления VPS. Запомните их.

Сразу же перейдите в панель управления. Введите пароль и логин, которые получили выше, и выберите Manage под нужным сервером. Нажмите на панель Settings и кликните на кнопку Re-enable TUN/TAP. Подождите 2-3 минуты и переходите к следующему шагу настройки.

Этап №2. Настройка сервера и подключение

Для настройки VPS надо подключиться к нему по SSH-протоколу. Рекомендую использовать для этого программу Termius. Она удобная, простая в использовании и кроссплатформенная.

Скачав её с официального сайта и установив, запускаем и нажимаем кнопку New host. В поле Address вводим IP-адрес выданного сервера — скопировали его ранее. В строке Username пишем root, в поле пароля вводим то, что сохранили ранее из электронного письма внутри сервиса CrownCloud. Сохраняем всё кнопкой Save. Теперь можно подключиться к серверу, дважды кликнув на созданный хост.


Прежде чем выполнять какие-либо действия, я обновляю список доступных к установке пакетов и сами пакеты. Для этого выполняем команду, написав её и нажав Enter:

apt update && apt upgrade -y

Переходим к установке и настройке самого VPN-сервиса.

Этап №3. Установка VPN

На сегодняшний день существует несколько разных протоколов VPN:

  • PPTP — старый протокол, быстрый, но небезопасный, поэтому подойдёт только для просмотра контента, недоступного в некоторых регионах;
  • L2TP/IPSec — безопасен, прост в настройке, но скорость не самая высокая и может блокироваться файрволом;
  • SSTP — проприетарный протокол от Microsoft, который не поддерживается в GNU/Linux нативно;
  • IKEv2 — весьма быстр, стабилен и безопасен, но поддерживается не на всех устройствах;
  • SoftEther — свежий протокол, не поддерживается нативно в системах, но обеспечивает качественное шифрование с высокой скоростью;
  • OpenVPN — быстрый и очень безопасный, но непростой в конфигурации и требует установки специальных приложений;
  • WireGuard — активно развивающийся протокол, внедрена поддержка в ядро Linux, высокопроизводительный и надёжный, прост в развёртывании, хотя и требует установки дополнительных клиентских программ.

Для этой статьи я выбрал WireGuard. При относительно быстрой и лёгкой настройке он предоставляет отличную скорость и высокую безопасность, и, на мой взгляд, является идеально сбалансированным протоколом.

Для KVM-серверов достаточно установить его командой sudo apt install wireguard -y. Но так как я рассматриваю OpenVZ-решение, то инструкция по установке будет другая. Настройка подключения (четвёртый пункт) будет одинакова для всех вариантов.

Установим некоторые инструменты WireGuard:

apt install wireguard-tools --no-install-recommends

Так как мы используем OpenVZ-сервер, придётся использовать версию WireGuard, написанную на языке Go и не интегрированную в ядро ОС. Это не отразится на опыте использования, но придётся проделать чуть больше действий и скомпилировать утилиту самостоятельно.

Для начала установим среду для выполнения языка Go. По очереди выполните следующие команды:

cd /tmp
wget golang.google.cn/dl/go1.18.linux-amd64.tar.gz
tar zvxf go1.18.linux-amd64.tar.gz
sudo mv go /opt/go1.18
sudo ln -s /opt/go1.18/bin/go /usr/local/bin/go

Загрузим и скомпилируем wireguard-go. Последняя версия, которая без проблем запустилась у меня — 0.0.20201118. Последовательно введите команды:

cd /usr/local/src
wget git.zx2c4.com/wireguard-go/snapshot/wireguard-go-0.0.20201118.tar.xz
tar xvf wireguard-go-0.0.20201118.tar.xz
cd wireguard-go-0.0.20201118 

Скомпилируем и «установим»:

make
sudo cp wireguard-go /usr/local/bin

Проверьте, установилось ли всё успешно, командой wireguard-go --version. Если появится сообщение с версией, можно переходить к следующему этапу.

Откройте файл в редакторе текста:

vi /lib/systemd/system/wg-quick@.service

Нажмите клавишу i — внизу должна появиться надпись INSERT. Найдите строчку:

Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity

Под этой строчкой вставьте другую сочетанием клавиш Ctrl+Shift+V:

Environment=WG_I_PREFER_BUGGY_USERSPACE_TO_POLISHED_KMOD=1 

Нажмите клавишу Esc, введите :wq и нажмите Enter.

Если вы незнакомы с vi или просто предпочитаете более простой редактор текста, установите nano — он пригодится далее:

apt install nano

Этап №4. Конфигурация VPN

Сгенерируем пару ключей для сервера. server_privatekey — это название файла с приватным ключом сервера, server_publickey — файл с публичным ключом сервера:

wg genkey | tee server_privatekey | wg pubkey > server_publickey

Для каждого клиентского устройства также создадим пару ключей. Это можно сделать и позже, но тогда придётся возвращаться к файлу конфигурации и редактировать его. 1 устройство — 1 выполнение команды ниже и, соответственно, 1 пара ключей. Не забывайте для каждого девайса менять названия файлов в команде. Во всех командах я выделил жирным то, что можно заменить. Например, для второго клиента могут быть client2_privatekey и client2_publickey. Опять же, название можно дать любое, главное, чтобы оно не повторялось и позволяло различить тип ключа и девайс. Я сгенерирую только для одного смартфона:

wg genkey | tee client_privatekey | wg pubkey > client_publickey

Выполним следующую команду для того, чтобы вывести сразу все сгенерированные ключи для сервера и клиента. Если у вас несколько клиентских устройств, то добавьте в конец команды названия всех созданных для них файлов и только потом выполните её. Например, если у вас 3 клиента, напишите cat server_privatekey server_publickey client1_privatekey client1_publickey client2_privatekey client2_publickey client3_privatekey client3_publickey.

Сохраним полученное содержимое в отдельный текстовый файл allKeys.txt на основном компьютере. Каждые две строки — это пара ключей. Первый — приватный, второй — публичный. Соответственно, первая пара — это ключи сервера, другие пары ключей принадлежат клиентам:

cat server_privatekey server_publickey client_privatekey client_publickey

Создадим конфигурационный файл:

nano /etc/wireguard/wg0.conf

Вставим в него следующее содержимое, заменив <PRIV_SERV> строкой из сохранённого текстового файла allKeys.txt со всеми ключами (самая первая строчка), а <PUB_CLIENT> — строкой оттуда же, но для клиентского устройства (второй ключ в паре).


Для каждого клиентского устройства надо добавить раздел Peer по подобному принципу, указав IP-адрес, отличающийся четвёртым числом от ранее введённых (например, для второго клиента я введу AllowedIPs = 10.0.0.3/32, для третьего — AllowedIPs = 10.0.0.4/32 и так далее), и добавив его публичный ключ:

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <PRIV_SERV>
PreUp = iptables --table nat --append POSTROUTING --jump MASQUERADE --out-interface venet0
PreDown = iptables --table nat --delete POSTROUTING --jump MASQUERADE --out-interface venet0
[Peer]
PublicKey = <PUB_CLIENT>
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = <PUB_CLIENT2>
AllowedIPs = 10.0.0.3/32

Сохраним файл комбинацией клавиш Ctrl+X, нажмем Y и подтвердим клавишей Enter. Запустим сервис и сразу добавим его в автозапуск, чтобы VPN автоматически стартовал после перезагрузки сервера:

systemctl enable wg-quick@wg0
systemctl start wg-quick@wg0

Готово, можно подключаться с клиентского устройства.

Подключение к VPN

Подключение настроенного VPN требует установки специального приложения WireGuard на клиентское устройство. Оно доступно на все популярные десктопные и мобильные девайсы.

Android/iOS

Если нужно подключить смартфон, то наиболее удобным вариантом будет создание файла конфигурации прямо на VPS с последующей генерацией и сканированием QR-кода. Для этого введём через всё тот же Termius команду:

sudo apt install qrencode -y

Создадим файл конфигурации. Каждому новому устройству — новый файл конфигурации с уникальным именем (к примеру, client2.conf):

sudo nano client.conf

Вставим в файл содержимое, заменив <PRIV_CLIENT> на приватный ключ клиента (client_privatekey), сгенерированный ранее и сохранённый в отдельный файл allKeys.txt на основной машине. Вместо <PUB_SERV> подставим публичный ключ сервера (server_publickey) из того же файла. В Endpoint заменим <IP> на IP-адрес сервера (использовали его для подключения через Termius, нашли на шаге 11). В строке DNS можно указать желаемые DNS-сервера. Я выбрал DNS от Google.

[Interface]
Address = 10.0.0.2/32
PrivateKey = <PRIV_CLIENT>
DNS = 8.8.8.8, 8.8.4.4
[Peer]
PublicKey = <PUB_SERV>
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = <IP>:51820

Сохраним файл комбинацией клавиш Ctrl+X, нажмем Y и подтвердим клавишей Enter. Сгенерируем QR-код: 

qrencode -t ansiutf8 < client.conf

QR-код отсканируем в мобильном приложении, дадим имя туннелю и подключим VPN. Если всё прошло успешно, на любом сайте для проверки IP (например, ipleak.net) будет отображаться адрес удалённого сервера.

Windows/macOS

Что касается компьютеров на Windows и macOS, файл конфигурации с расширением .conf лучше создать в любом текстовом редакторе на самом клиенте. Его содержимое будет аналогично тому, что предлагается выше для мобильных устройств. Только пункт с созданием QR-кода можно пропустить. Созданный файл импортируем в приложении WireGuard кнопкой Add Tunnel и активируем.

GNU/Linux

На компьютере с операционной системой GNU/Linux установим WireGuard таким же образом, каким установили его на сервер:

sudo apt install wireguard -y

Не забываем настроить пересылку трафика:

sudo sed -i 's/\#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf

И сразу же обновим конфигурацию:

sudo sysctl -p

На машине с Ubuntu 20.04 LTS мне пришлось установить дополнительный пакет, так как без него возникала ошибка:

sudo apt install openresolv

Создадим всё тот же файл конфигурации:

sudo nano /etc/wireguard/wg0.conf

Только в этот раз вставим в него содержимое, которое я указал чуть выше для мобильных устройств. Сохраним файл комбинацией клавиш Ctrl+X, нажмем Y и подтвердим клавишей Enter. Активируем VPN:

sudo wg-quick up wg0

Отключить VPN так же просто:

sudo wg-quick down wg0

Для экономии времени я советую создать псевдонимы (aliases). Они позволят вместо таких комплексных команд вводить простые: wgon для подключения к VPN и wgoff для отключения. Откроем файл, который определяет конфигурацию терминала при запуске:

nano ~/.bashrc

Добавим в самый конец несколько строк:

# Aliases for WireGuard
alias wgon='sudo wg-quick up wg0'
alias wgoff='sudo wg-quick down wg0'

Сохраним файл комбинацией клавиш Ctrl+X, нажмем Y и подтвердим клавишей Enter.

Читайте на 123ru.net


Новости 24/7 DirectAdvert - доход для вашего сайта



Частные объявления в Вашем городе, в Вашем регионе и в России



Smi24.net — ежеминутные новости с ежедневным архивом. Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net. Мы не навязываем Вам своё видение, мы даём Вам срез событий дня без цензуры и без купюр. Новости, какие они есть —онлайн с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии. Smi24.net — живые новости в живом эфире! Быстрый поиск от Smi24.net — это не только возможность первым узнать, но и преимущество сообщить срочные новости мгновенно на любом языке мира и быть услышанным тут же. В любую минуту Вы можете добавить свою новость - здесь.




Новости от наших партнёров в Вашем городе

Ria.city

В Москве на ВДНХ состоялось открытие "сердечного" цветника Пензенской области

Шорт-лист номинации «Иностранная литература» премии «Ясная Поляна» составили 10 книг

Сезон отчетных концертов открылся в Лобне

Более 2,5 тыс человек посетили «Ночь музеев» в Ленинском округе

Музыкальные новости

Путин назвал президента Раиси надежным партнером России

Запорожская область становится флагманом импортозамещения в России

«СВЯТОЙ ЛЕНИН» помогает В.В. Путину улучшить либо отменить налоги в обществе.

Футболисты ФК «Динамо Пушкино» заняли второе место в межрегиональном турнире Laffy Cup 2024

Новости России

Сезон отчетных концертов открылся в Лобне

Паралимпиец из Звенигорода примет участие в международных соревнованиях

Монолитные работы в новом филиале ГИМ планируется завершить осенью 2024 года

Сдать нормативы ГТО и приютить котенка. В мэрии рассказали, что можно будет сделать на фестивале «Лето в Москве»

Экология в России и мире

Выездной Фотограф для всех желающих, ну и конечно Артистов и Музыкантов.

Светлые оттенки весенней моды: стильные идеи для женщин в возрасте

Июньские дни духовности: Православные праздники месяца от ясновидящей Галины Янко

Более 500 человек посетили «Ночь музеев» в Ставропольской краевой психиатрической больнице №1

Спорт в России и мире

Теннисист Медведев потеряет место в рейтинге ATP

Потапова не смогла пробиться во второй круг турнира WTA в Страсбурге

Рахимова прошла во второй круг турнира WTA в Рабате на отказе Таунсенд

Путинцева вернулась после 0:6 и одержала важную победу

Moscow.media

ТСД SAOTRON RT-T50: высокопроизводительный терминал сбора данных промышленного класса

Шапки женские вязаные на Wildberries, 2024 — новый цвет от 392 руб. (модель 466)

Сотрудник Дубненского отдела вневедомственной охраны Главного управления Росгвардии по Московской области встретился с учащимися МОУ СОШ №1

Главы МЧС и Минприроды РФ доложили Владимиру Путину о паводковой обстановке в Оренбуржье, Тюменской, Курганской и Омской областях







Топ новостей на этот час

Rss.plus





СМИ24.net — правдивые новости, непрерывно 24/7 на русском языке с ежеминутным обновлением *