WireGuard - это приложение которое позволяет настроить безопасную виртуальную частную сеть (VPN), известное своей простотой и удобством использования. Оно использует проверенные криптографические протоколы и алгоритмы для защиты данных. Изначально разработанное для ядра Linux, оно может быть развернуто на Windows, macOS, BSD, iOS и Android.
В этой настройке клиента WireGuard vpn используется дистрибутив линукса - Ubuntu 20.04.
Установка клиентского приложения WireGuard на Ubuntu
Установка WireGuard клиента происходит так же, как и на стороне сервера.
Войдите по SSH на Linux сервер, после входа в систему проверьте, обновлена ли машина, выполнив следующую команду:
sudo apt-get update && sudo apt-get upgrade
Теперь установите WireGuard, выполнив следующую команду:
sudo apt-get install wireguard
Генерация закрытого и открытого ключей
WireGuard работает путем шифрования соединения с помощью пары криптографических ключей. Пара ключей используется путем передачи открытого ключа другой стороне, которая затем может зашифровать свое сообщение таким образом, что оно может быть расшифровано только с помощью соответствующего закрытого ключа. Для обеспечения безопасности двусторонней связи каждая сторона должна иметь собственные закрытый и открытый ключи, так как каждая пара обеспечивает только односторонний обмен сообщениями.
Сгенерируйте пару открытого и закрытого ключей клиента, для этого выполните следующую команду:
wg genkey | tee private.key | wg pubkey > public.key
После этого создайте файл конфигурации клиента, в следующем каталоге:
sudo nano /etc/wireguard/wg0.conf
В файле пропишите:
[Interface]
PrivateKey = <contents-of-client-privatekey>
Address = 10.0.0.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
[Peer]
PublicKey = <contents-of-server-publickey>
AllowedIPs = 10.0.0.2/32
Примечания: В строку publickey вставьте публичный ключ сервера, который мы сгенерировали в предыдущей статье, а в private key вставьте закрытый ключ клиента.
Запуск WireGuard
Для запуска соединения введите следующую команду:
sudo wg-quick up wg0
Теперь клиент может общаться с сервером, можно пропинговать сервер с клиента командой
ping 10.0.0.1
Чтобы узнать статус соединения, выполните следующую команду:
sudo wg show
Вы получите все детали соединения, как показано ниже
Поздравляю! Теперь ваш клиентский компьютер имеет доступ к VPN сети.