Делаем полностью бесплатный VPN за 30 минут: пошаговая инструкция — ochenvkusnyerecepty.ru

Содержание

Что для этого потребуется: 3 этапаЭтап №1. Аренда сервера (выбираем бесплатный)Этап №2. Настройка сервера и подключениеЭтап №3. Конфигурация VPNПодключение к VPN

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

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

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

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

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

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

Я рассмотрел разные варианты и в итоге остановился на Amazon AWS, так как у него есть бесплатные VPS, и для написания этого материала мне достаточно того, что он предлагает. Также был опробован более выгодный Oracle Cloud, но возникли проблемы с доступом к интернету через развёрнутый там VPN, поэтому пришлось отказаться в пользу AWS. Если предполагаются постоянный просмотр фильмов, видео и загрузка большого количества файлов, программ или игр через VPN, обратите внимание на пропускную способность и лимит трафика. Платные VPS зачастую обеспечивают лучшую скорость и низкую задержку.

После регистрации на сайте и привязки карты (спишется 1 доллар или евро для проверки, вернётся через 3-5 дней), необходимо создать экземпляр виртуальной машины, в которой будем настраивать VPN.

Шаг 1. В окне, открывшемся сразу после регистрации, нажимаем «Открыть Консоль управления AWS».

Шаг 2. Входим как Root-user, вводим данные, указанные при регистрации.

Шаг 3. Определяем регион, в котором будет расположен сервер. Для этого в правом верхнем углу нажимаем на Ohio и из выпадающего списка выбираем любое необходимое расположение сервера. После этого нажимаем Launch a virtual machine.

Шаг 4. Выбираем операционную систему Ubuntu Server 20.04 LTS (x86).

Шаг 5-6. Не требуется настройка, просто нажимаем Next.

Шаг 7. Указываем объём хранилища для работы системы, 20 ГБ будет достаточно.

Шаг 8. Пропускаем, нажимая Next.

Шаг 9. Нужно добавить новое правило. Выбираем тип Custom UDP, в поле порта вписываем 51820, в поле Source — 0.0.0.0/0. Description можно оставить пустым, либо заполнить понятным комментарием. На скриншотах ниже изображено, как должно выглядеть правило. Если всё введено верно, идём дальше и нажимаем Review and Launch.

Шаг 10. Когда нажимаем Launch, появится окно с предложением создать пару ключей, выбираем пункт Create a new key pair, даём любое название и нажимаем Download Key Pair. Загруженный файл понадобится для подключения к серверу. После этого кликаем по Launch Instances и затем по View Instances.

Шаг 11. Далее попадаем в панель управления, где нужно найти столбец Public IPv4 address (не путайте с Public IPv4 DNS) и скопировать IP-адрес оттуда.

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

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

Скачав её с официального сайта и установив, запускаем и нажимаем кнопку New host. В поле Address вводим IP-адрес выданного сервера — скопировали его ранее на 11 шаге. В строке Username пишем ubuntu, рядом с полем пароля выбираем Keys, далее нажимаем кнопку "+KEY". Рядом со строкой Private key кликаем по надписи File и выбираем загруженный ранее файл с расширением .pem. Сохраняем всё кнопкой Save. Теперь можно подключиться к серверу, дважды кликнув на созданный хост.

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

sudo apt update && sudo apt upgrade -y

Настроим пересылку трафика:

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

Обновим конфигурацию:

sudo sysctl -p

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

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

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

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

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

Установим его:

sudo apt install wireguard -y

Сгенерируем пару ключей для сервера. 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

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

sudo 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>

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]

PublicKey = <PUB_CLIENT>

AllowedIPs = 10.0.0.2/32

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

sudo wg-quick up wg0

Сразу добавим его в автозапуск, чтобы VPN автоматически стартовал после перезагрузки сервера:

sudo systemctl enable wg-quick@wg0.service

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

Подключение к 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.

Источник: trashbox.ru

Ещё похожие статьи

Добавить комментарий