WireGuard: Как протолкнуть маршруты и опции dhcp клиентам с сервера? - PullRequest
0 голосов
/ 20 февраля 2019

Поддерживает ли WireGuard способ для VPN-сервера передавать маршруты и параметры DHCP своим клиентам, например, как OpenVPN делает что-то вроде:

push "route 10.0.2.0 255.255.255.0 " 

push "dhcp-option DNS 10.66.0.4"

У меня есть сотни клиентов, которые динамически настраивают свое VPN-соединениек серверу VPN, и я хочу, чтобы эти маршруты и параметры были установлены по мере их подключения к серверу VPN.

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

В текущей версии это невозможно.IPSec и OpenVPN имеют тысячи строк кода, которые касаются политик маршрутизации (по крайней мере, IPSec), а также настройки IP-адресов.Wireguard ожидает, что они будут жестко запрограммированы, по крайней мере, на данный момент времени, в каждом файле.

Имейте в виду, наличие интерфейса точка-точка лучше, чем режимы множественных мостов OpenVPN, но нет способа настроитьинтерфейс внутри модуля ядра.то есть.нет кода уровня 2.Немного обидно, так как все остальное красиво и чисто.

0 голосов
/ 26 февраля 2019

Маршруты или даже разделенное туннелирование выполняется путем установки параметра Allowed IPs в конфигурации клиента!

Конфигурация клиента

[Interface]
# client001 #
PrivateKey = <private key of client>
Address = 100.64.0.100/32
DNS = 100.64.0.1

[Peer]
PublicKey = <public key of server>
PresharedKey = <preshared key for client>
AllowedIPs = 100.64.0.0/10, 192.168.178.0/24
Endpoint = <your-ip-or-fqdn.to.connect>:<port>
PersistentKeepalive = 25

СерверConfig

[Interface]
Address = 100.64.0.1/10
SaveConfig = true
ListenPort = 51820
PrivateKey = <private key of server>

[Peer]
PublicKey = <public key of client>
PresharedKey = <preshared key for client>
AllowedIPs = 100.64.0.100/32

В этом случае конфигурация для клиента AllowedIPs = 100.64.0.0/10, 192.168.178.0/24 устанавливает маршруты на клиенте для отправки всего за 100.64.0.0/10 и 192.168.178.0/24 в проводной туннель, но ничегоостальное.(Переадресация IP-адресов и маскарадинг также активируются на сервере WireGuard.)

Параметр DNS = 100.64.0.1 указывает клиенту использовать 100.64.0.1 (в моем случае сервер WireGuard) в качестве DNS-сервера.Даже DNS находится на самом WireGuard-сервере, интернет-трафик по-прежнему маршрутизируется напрямую, только мой DNS выполняется моим пользовательским DNS.

...