WireGuard — настройка клиента на Linux
Установите
WireGuard доступен из репозиториев Ubuntu по умолчанию. Чтобы установить его, выполните следующие команды:
sudo apt update && sudo apt install -y wireguard
Это установит модуль и инструменты WireGuard.
WireGuard работает как модуль ядра.
Настройка клиентов
Инструкции по установке для всех поддерживаемых платформ доступны по адресу https://wireguard.com/install/ . В системах Linux вы можете установить пакет с помощью пакетного менеджера вашего дистрибутива, а в macOS — с помощью brew . После установки выполните следующие действия, чтобы настроить клиентское устройство.
Сначала сгенерируйте открытый и закрытый ключи:
wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
Создайте файл wg0.conf и добавьте следующее содержимое:
sudo nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.0.0.2/24
[Peer]
PersistentKeepalive = 5
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_IP_ADDRESS:51820
AllowedIPs = 0.0.0.0/0
Настройки в разделе интерфейса имеют то же значение, что и при настройке сервера:
- Адрес — разделенный запятыми список IP-адресов v4 или v6 для интерфейса
wg0. - PrivateKey — чтобы увидеть содержимое файла на клиентском компьютере, запустите:
sudo cat /etc/wireguard/privatekey
Одноранговый раздел содержит следующие поля:
- PublicKey — открытый ключ однорангового узла, к которому вы хотите подключиться. (Содержимое файла сервера
/etc/wireguard/publickey). - Конечная точка — IP или имя хоста однорангового узла, к которому вы хотите подключиться, за которым следует двоеточие, а затем номер порта, на котором удаленный одноранговый узел прослушивает.
- AllowedIPs — разделенный запятыми список IP-адресов v4 или v6, с которых разрешен входящий трафик для однорангового узла и на которые направляется исходящий трафик для этого однорангового узла. Мы используем 0.0.0.0/0, потому что мы маршрутизируем трафик и хотим, чтобы одноранговый сервер отправлял пакеты с любым исходным IP.
Активируем автозапуск:
sudo systemctl enable wg-quick@wg0
Проверка работы клиента
Выполните следующую команду, чтобы открыть интерфейс:
sudo wg-quick up wg0
Теперь вы должны быть подключены к серверу Ubuntu, и трафик с вашей клиентской машины должен проходить через него. Проверить соединение можно с помощью:
sudo wg
interface: wg0
public key: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo=
private key: (hidden)
listening port: 53527
fwmark: 0xca6c
peer: r3imyh3MCYggaZACmkx+CxlD6uAmICI8pe/PGq8+qCg=
endpoint: XXX.XXX.XXX.XXX:51820
allowed ips: 0.0.0.0/0
latest handshake: 53 seconds ago
transfer: 3.23 KiB received, 3.50 KiB sent
Чтобы остановить туннелирование, отключите интерфейс wg0:
sudo wg-quick down wg0