WireGuard:如何将路由和dhcp选项从服务器推送到客户端?

时间:2019-02-19 23:03:22

标签: vpn openvpn wireguard

WireGuard是否支持VPN服务器向其客户端推送路由和DHCP选项的方式,例如OpenVPN对以下方式的作用:

plot_confusion_matrix

我有100个客户端,它们可以动态地建立与VPN服务器的VPN连接,并且我希望在它们连接至VPN服务器时安装这些路由和选项。

2 个答案:

答案 0 :(得分:0)

通过在客户端配置中设置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

服务器配置

[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的所有内容发送到Wireguard隧道中,但不发送其他任何内容。 (在WireGuard服务器上也激活了IP转发和伪装。)

DNS = 100.64.0.1参数告诉客户端将100.64.0.1(在我的情况下为WireGuard服务器)用作DNS服务器。甚至DNS都位于WireGuard服务器本身上,互联网流量仍然直接路由,只有DNS由我的自定义DNS完成。

答案 1 :(得分:0)

当前版本无法实现。 IPSec和OpenVPN具有数千行代码,它们处理路由策略(至少是IPSec)以及IP地址的配置。 Wireguard希望至少在此刻,在每个文件中对它们进行硬编码。

请记住,拥有点对点接口比OpenVPN的多种桥接模式要好,但是无法在内核模块内部配置接口。即。没有第2层代码。遗憾的是,其余的都很好而且干净。