Вступление
WireGuard - это чрезвычайно простое, быстрое и современное VPN-решение, которое использует самую современную криптографию. Согласно нескольким тестам, WireGuard в настоящее время является самым быстрым VPN-решением по сравнению с IPSec и OpenVPN. В этом руководстве вы узнаете, как установить соединение WireGuard между двумя серверами.
Требования
- Ubuntu или Debian
- Ядро 4.1 или новее
Установка и клонирование
Сама установка WireGuard очень проста и может быть выполнена в 4 этапа. Во-первых, мы должны установить заголовки ядра, а также основы сборки и другие необходимые пакеты:
apt-get install libmnl-dev linux-headers-$(uname -r) build-essential make git
После завершения этого шага мы можем продолжить извлечение WireGuard из репозитория Git:
git clone https://git.zx2c4.com/WireGuard
Сложение
На данный момент у нас установлены все необходимые пакеты, а также клонирован WireGuard WireGuard/
. Мы можем продолжить процесс сборки WireGuard и установить его:
cd WireGuard/src/
make
make install
Сразу после того, как make install
процесс завершится без ошибок, мы можем продолжить выполнение точно таких же шагов на другом сервере. После этого перейдите к следующему разделу этого руководства - процессу настройки.
конфигурация
Создание туннеля с помощью WireGuard очень просто и выполняется с помощью нескольких команд. Мы начнем с создания нашего интерфейса VPN:
ip link add dev wg0 type wireguard
Затем мы генерируем наш закрытый ключ, который будет использоваться для шифрования данных между обеими сторонами:
umask 077
wg genkey > private
На данный момент у нас есть все требования для создания самого туннеля:
wg set wg0 listen-port 51920 private-key ~/private peer <PEER_PUBLIC_KEY> allowed-ips 192.168.2.0/24 endpoint <OTHER_SERVER_IP>:51920
Примечание. Эту команду необходимо выполнить на обоих серверах со следующими настроенными аргументами: PEER_PUBLIC_KEY
и OTHER_SERVER_IP
.
Чтобы прочитать открытый ключ на обоих серверах, нам нужно выполнить следующую команду, чтобы преобразовать закрытый ключ в открытый ключ и затем прочитать его:
wg pubkey < private > public
cat public
Наконец, мы можем назначить IP-адреса нашему интерфейсу ( .1
для первого сервера, .2
для второго сервера):
ip link set up dev wg0
ip addr add 192.168.2.1/24 dev wg0
тестирование
Попробуйте пропинговать другой сервер, используя следующую команду на первом сервере:
ping 192.168.2.2
Если вы видите ответы от сервера, ваша установка верна и VPN-соединение работает. Если вы не получили ответа или ошибки, просмотрите команды, которые вы выполнили на обоих серверах, и убедитесь, что вы соответствующим образом скорректировали аргументы.
Вывод
WireGuard - это безопасное VPN-решение, которым очень легко пользоваться. Он хорошо работает во многих сетевых топологиях, включая (но не ограничиваясь ими): соединения между серверами, использование магистрали, персональные сети VPN и сети VPN в роуминге. Для получения дополнительной документации посетите официальный сайт . Счастливого взлома!