Быстрая установка сервера WireGuard на Ubuntu 22.04

WireGuard на Ubuntu

Коротко о WireGuard

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

Установка на Ubuntu

Для сервера WireGuard достаточно недорогой виртуальной машины, если мы говорим о домашнем использовании туннеля. Недорогие VPS в РФ, Франции, Нидерландах и Канаде можно найти здесь.

Мы будем использовать скрипт автоматизированной установки и настройки и это займет лишь пару минут.

Обновляем кэш репозиториев:

sudo apt update

Переходим в любой удобный вам каталог, например в домашний: cd

Скачиваем скрипт установки:

curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh

В описании скрипта сказано, что он подходит для Ubuntu, Debian, Fedora и других ОС семейства Linux. Я производил установку на Ubuntu 22.04

Устанавливаем права на запуск и запускаем скрипт:

sudo chmod +x wireguard-install.sh && sudo ./wireguard-install.sh

В первую очередь, скрипт попросит у вас указать данные для настройки: ip, порт, dns и прочее. Разумеется он предлагает значения по умолчанию для всех настроек, их можно не менять, если вам это не нужно. При этом порт каждый раз предлагается рандомный, я запускал скрипт на разных машинах и убедился в этом. На скриншоте ниже вы можете увидеть что спрашивает и предлагает скрипт:

WireGuard установка на Ubuntu

Далее вы нажимаете любую клавишу и начинается процесс установки, по завершению которого, скрипт запросит у вас данные для первого клиента: имя клиента и ip, который можно оставить по умолчанию, скрипт сам предлагает их по порядку, т.е. для первого клиента 10.66.66.2, для второго 10.66.66.3 и так далее. По завершению будет создана конфигурация для клиента, а вы получите QR-код прямо в консоли:

WireGuard добавление клиента

Эта же конфигурация в текстовом виде будет находиться в той директории, из которой вы запускали скрипт. Например в моем случае, там появился файл wg0-client-test.conf.

Теперь, если вы используете firewall, вам необходимо открыть указанный при настройке сервера UDP порт, в нашем случае это 55852:

sudo iptables -A INPUT -p udp --dport 55852 -j ACCEPT

Или если у вас UWF:

sudo ufw allow 55852/udp

На этом установка завершена.

Проверить статус сервиса можно следующей командой:

sudo systemctl status wg-quick@wg0

При повторном запуске скрипта вы сможете добавлять и удалять пользователей, а также удалить сервер WireGuard:

WireGuard управление

Подключение клиентов

Вы сможете подключаться к вашему серверу WireGuard с любых устройств. Например, на ПК с Windows вы скачиваете приложение, запускаете, нажимаете “Импорт туннелей из файла” и выбираете тот самый файл конфигурации wg0-client-test.conf, предварительно скачав его с вашей виртуальной машины. Теперь можно подключаться:

WireGuard windows

На iPhone устанавливаете приложение WireGuard из AppStore, запускаете и через него можете сканировать тот QR-код или импортировать конфигурацию в виде файла:

WireGuard iphone

К серверу WireGuard также можно подключить роутеры MikroTik, но только на новой прошивке RouterOS 7. Об этом я рассказал в этой статье.