Маршруты или даже разделенное туннелирование выполняется путем установки параметра 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.