Поднимаем сервер Wireguard на Debian и подключаемся к нему с телефонов и десктопов
WireGuard — это VPN-туннель с максимальной производительностью. Его просто установить и настроить. Это идеальное решение для подключения удаленного сотрудника к сети предприятия или для создания собственного сервера анонимности в интернете.
Подготовка
Мы будем устанавливать WireGuard не вручную, а используя специальный скрипт с Github.
Для правильной работы скрипта нужны дополнительные пакеты. На Debian их нет. Необходимо установить командой:
sudo apt install mawk grep iproute2 qrencode iptables wget
Установка
sudo apt install wireguard
Генерируем ключи и конфиги
Скачиваем скрипт easy-wg-quick
и запускаем его:
mkdir easy-wg-quick
cd easy-wg-quick
wget https://raw.githubusercontent.com/burghardt/easy-wg-quick/master/easy-wg-quick
chmod +x easy-wg-quick
./easy-wg-quick
Скрипт создаст необходимые ключи и конфиги в тестовой директории /easy-wg-quick
.
Также скрипт в самом конце выведет QR-код, для быстрого подключения мобильного клиента. О том как это сделать ниже.
Завершаем настройку сервера
Нам нужно перенести конфиг WireGuard в /etc/wireguard
и настроить автоматический запуск демона.
Выполняем поочередно команды:
cp wghub.conf /etc/wireguard/wghub.conf
systemctl enable wg-quick@wghub
systemctl start wg-quick@wghub
Сервер WireGuard готов!
Подключение к WireGuard
К WireGuard могут подключаться большое количество устройств. Все ограничивается только шириной канала и ресурсами сервера. В данный момент можно подключаться с любой операционной системы.
Для того, чтобы добавить новое устройство, выполняем команду:
./easy-wg-quick name_profile
No wgclient_name_profile.conf... creating one!
No wgclient_name_profile.uci.txt... creating one!
████████████████████████████████████████████████████████
████ ▄▄▄▄▄ █▀▀▄█▀█▀ ▀ ▀▀▀▀ █▀▄▄▄ ▄ █████▀█ █▀▄█▄▄██ ▀█ ▀▄█▄▀█ ▄▄▄▄▄ ████
████ █ █ █▀▀█ ▀▄▀▄ ▀▄█▄▀█▀▄ ▀█ ▀█▄▀█▀ █▀▄▀▀█▀███▀▄ ▀▀█ ▀▄█ █ █ ████
████ █▄▄▄█ █▀▄▄ ▄██▄█▀▀██▄▄██▄▄▄▄█ ▄▄▄ █ █▀▀▄▄▀ ▀▀▀ ▀ ▄▀█▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█▄█ ▀ ▀▄▀▄▀▄█▄█ █▄▀ █ █ █▄█ █ █▄█ ▀ █ █▄█▄▀▄█ ▀ ▀ █▄▄▄▄▄▄▄████
████ ▄▀▄▄ ▀██▀█ █▀▀ ▄▀ ▀█▀██ ▀▄ ▄ ▄▄███▄ ▄▄ ▀█ ██▀▄▄ ▀█▄█ █▄█ ▀▄▀████
█████▄▄ ▄ ▄▄▄▀█ █ █▀█▄██▀▄██▀█▄ ▄█▀█▀█▄ █▄▄ ▄█ ▄▄█ █▀██▄ ▄▄█ ▄████
████▀▄▀▄█ ▄ ██▄▄█ ▀▀▀▀▄▄▀▀ ▀▀█▄█▀▀ ▀█ █ █▀▄ ▀ █ ▄█▄███▄█▄▄▄█▄█ ▀████
████▀█▄ ▄▄▄▀██ █▄▄█▀█▀▀▀▄ ▄▀ ▀▄██▀ ▀▄▄▄▄ ▄▄███▀ ▄ ▀ ▄██▄▄▄▀▄ ▀▀▄█▄▀████
████▀ ▄▀ ▄▄▀▀ ▀ ▀ ▄██▄▄ ▄▀██▀ ▀▄█▀█ ▀▄█ ▀ █ ▀▀▀██▄▄▄▄▀█ █▄ █ ▄█ ▀████
█████▄▀▀ ▄▄▄▀ ▀█ █ ▀██ █▄ █ ▀▀▀▀█▄ █ ▀▀ █▄▄ ▀▄▀█▀ ▀▄▀ █▀▀▄█▄▄ ▄████
█████ ▄▀▀ ▄██▄██▀▄▀▀▀▀▄▄ ▀▀█▄ ▀ ██▄▄▀▄▄█▀ █▄▄ ▀ █▄▀▀ ▄▄ ▀█▀▀▄▄█ ▄█▄████
████▀█▄ █▄▄█▄█▀▀██ █▄█▀ █▀ ▀██▀ ▀ █ ▄▄▄██ ▄▀▀▄ █▄█ ▀█▀▀ █▀▄▀▄ ████
█████▄▄█▄█▄▄▀█ ▄▀▀ ▄█▀▄█▄▄ ▀██▄▄▄ ▄▄▄ █▀█ ▄▀█▀██ █▀▀██ ▄█ ▀ ▄▄▄ ▄█▀████
████ ▄▄▄▄▄ █▄ ▄ █ ███▄ ██▄██ ▀▄▀██ █▄█ ▄▄▄▄ ▄▀▄ ▀ ██▄█▀▀██▄ █▄█ █▀▄█████
████ █ █ █ ▄ ██▄▄▀▄▀ ▀▄ ▀▀█▀ █▀ ▄ ▄▄ █ ▀▀██▄▀▀▄▄▄▄▄█▀█▀▀ ▄▄ ▄████
████ █▄▄▄█ █ ▄█ ▄██▄██▄▀ ▀▄ ██▀█▀█ ▄ ▄▄▀ ▀▄▄▀▀ █ ▄█ █▀ ▄█▄█ █████
████▄▄▄▄▄▄▄█▄▄██▄██▄▄█▄█▄▄█▄██▄█▄██▄▄█▄██▄▄▄█▄███▄██▄██▄▄███▄▄▄██
Scan QR code with your phone or use "wgclient_name_profile.conf" file.
Updating wghub.conf... done!
Important: Deploy updated wghub.conf configuration to wireguard with wg-quick:
sudo wg-quick down ./wghub.conf # if already configured
sudo wg-quick up ./wghub.conf
sudo wg show # to check status
Где name_profile — это любое название профиля на английском языке.
После добавления нового пользователя необходимо повторить команду копирования конфига и перезапустить сервер:
cp wghub.conf /etc/wireguard/wghub.conf
systemctl restart wg-quick@wghub
С телефонов
Необходимо установить приложение WireGuard на Google Play Маркет или App Store
В приложении кликнуть на знак + (Добавить туннель) и выбрать СКАНИРОВАТЬ QR-КОД или СОЗДАТЬ из QR-код. Далее наводим на QR-код, созданный на этапе установки сервера или добавлении пользователя.
Это всё!
Активируем соединение и пользуемся VPN.
С десктопов
Устанавливаем приложение
Для десктопных операционных систем процесс подключния одинаковый.
Загружаем приложение с официального сайта проекта WireGuard и устанавливаем его.
Копируем клиентский конфиг с сервера
На предыдущем этапе мы создали конфигурационный файл для name_profile. Сам конфигурационный файл клиента можно вывести на экран командой:
cat wgclient_name_profile.conf
# 13: office > wgclient_name_profile.conf
[Interface]
Address = 10.145.207.13/24
DNS = 1.1.1.1
PrivateKey = BfPxwQdxIZ5tnLmpo4uiFQyHZlIp4GJJ3lDvKz3D8iH=
MTU = 1280
[Peer]
PublicKey =4wfluPXeh/0O2pzIyCFC6plYgiwuOtPpR40qRte67SA=
PresharedKey = ITh3+QpbdgsmBnTCSX9vosjzEwS+KwDFfUrjovroR8I=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 129.134.17.156:46396
PersistentKeepalive = 25
Команда выполняется на сервере. Весь конфиг выделяем (отмечено красным) и копируем в буфер обмена.
Вставляем конфиг в десктопное приложение
Открываем программу и создаем Пустой туннель
В открывшемся окне вводим имя нашего соединения (любое) и вставляем из буфера обмена конфиг.
После сохранения, можно подключаться и пользоваться.
Теги: OpenVPN