WireGuard - это приложение, которое может обеспечить безопасную виртуальную частную сеть (VPN), оно достаточно простое в использовании и настройке. Оно использует надежные криптографические протоколы и алгоритмы для шифрования данных. Разработанное исключительно для ядра Linux, оно может быть развернуто и на Windows, macOS, FreeBSD, iOS, а так же Android.
В нашем случае мы будем использовать CentOS 8.3 для установки WireGuard.
Как настроить VPN-клиент WireGuard:
- Как установить клиент WireGuard на CentOS
- Как создать закрытый и открытый ключ
- Как запустить WireGuard
Установка клиента WireGuard на CentOS
Для начала, обновим нашу систему:
sudo yum update
sudo dnf update
Установка клиента аналогична установке сервера. После входа добавьте репозитории EPEL и Elrepo для установки модулей ядра и инструментов WireGuard.
sudo dnf install epel-release elrepo-release -y
sudo yum install yum-plugin-elrepo
Теперь установим 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 сети.