06.06.2023

Как настроить VPN-клиент WireGuard на CentOS

WireGuard - это приложение, которое может обеспечить безопасную виртуальную частную сеть (VPN), оно достаточно простое в использовании и настройке. Оно использует надежные криптографические протоколы и алгоритмы для шифрования данных. Разработанное исключительно для ядра Linux, оно может быть развернуто и на Windows, macOS, FreeBSD, iOS, а так же Android.

В нашем случае мы будем использовать CentOS 8.3 для установки WireGuard.

Как настроить VPN-клиент WireGuard:

Установка клиента WireGuard на CentOS

Установка клиента аналогична установке сервера. Войдите на ваш Linux-сервер, после входа добавьте репозитории EPEL и Elrepo для установки модулей ядра и инструментов WireGuard.

sudo dnf install epel-release elrepo-release -y

Теперь установим WireGuard из репозитория epel:

sudo dnf install kmod-wireguard wireguard-tools

Генерация закрытого и открытого ключей

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 вставьте закрытый ключ клиента.

Установите разрешения для файла конфигурации wg0.conf, чтобы сделать его безопасным.

sudo chmod 600 /etc/wireguard/wg0.conf

Запуск WireGuard

Для запуска соединения введите следующую команду:

sudo wg-quick up wg0

Теперь клиент может общаться с сервером, можно пропинговать сервер с клиента командой

ping 10.0.0.1

Чтобы узнать статус соединения, выполните следующую команду:

sudo wg show

Вы получите все детали соединения, как показано ниже

Поздравляю! Теперь ваш клиентский компьютер имеет доступ к VPN сети.