Это старая версия документа!
Содержание
Установка WireGuard на Debian 12
Установка пакета WireGuard
apt-get install wireguard
Генерация ключей
Ключи для сервера и клиента генерируются одинаково
wg genkey - для приватного ключа
wg pubkey - для публичного ключа
Пример генерации приватного ключа в файл privatekey
(Можно использовать любое другое имя для удобства)
wg genkey > privatekey
Пример генерации публичного ключа в файл publickey
(Можно использовать любое другое имя для удобства)
wg pubkey < privatekey > publickey
Пример генерации ключей одной командой
wg genkey | tee privatekey | wg pubkey > publickey
Просмотреть ключи можно командами
(Приватный ключ должен быть засекречен!)
cat privatekey cat publickey
Конфигурация для сервера
Необходимо сгенерировать ключи для сервера и клиента
При последующем добавлении новых клиентов, нужна перезагрузка WireGuard
Файл конфигурации для сервера
nano /etc/wireguard/wg0.conf
Минимальная настройка wg0.conf
(Можно использовать любое другое имя для удобства)
[Interface] PrivateKey = <server_private_key> Address = 192.168.0.1/24 ListenPort = 51820 [Peer] PublicKey = <client_public_key> AllowedIPs = 192.168.0.2/32
[Interface] - настройка интерфейса
PrivateKey - приватный ключ сервера
Address - IP сервера и подсеть 24
ListenPort - порт для подключения, по умолчанию 51820
PostUp - команды выполняются при запуске интерфейса
PostDown - команды выполняются при остановке интерфейса
[Peer] - настройка для клиента
PublicKey - публичный ключ клиента
AllowedIPs - IP клиента и подсеть 32
Разрешить трафик через шлюз на сервере (форвардинг)
Раскомментировать или добавить параметр в /etc/sysctl.conf
net.ipv4.ip_forward=1
Применить параметр
sysctl -p
Конфигурация для клиента
Минимальная настройка для клиента
[Interface] Address = 192.168.0.2/32 PrivateKey = <client_private_key> DNS = 1.1.1.1 [Peer] PublicKey = <server_public_key> Endpoint = <server_ip>:51820 AllowedIPs = 0.0.0.0/0, ::/0
[Interface] - настройка интерфейса
Address - IP клиента и подсеть 32
PrivateKey - приватный ключ клиента
DNS - DNS сервер
[Peer] - настройка сервера
PublicKey - публичный ключ сервера
Endpoint - IP сервера и порт для подключения
AllowedIPs - IP адреса и подсети для перенаправления трафика на сервер (IPv4, IPv6)
PersistentKeepalive - интервал отправки пакетов для поддержания соединения в секундах, по умолчанию 0, достаточно поставить 25
0.0.0.0/0 - весь трафик для IPv4
::/0 - весь трафик для IPv6