我有一个 Linux 机器,用作 DHCP、DNS(通过pihole-FTL
)和 WireGuard 服务器。我想让 VPN 网络可以从设备所在的网络访问。经过一番研究,我找到了 DHCP 的选项 121,查阅了手册页后,我将该选项添加到了pihole-FTL
配置中。刷新 DHCP 租约后,路由就如我所料的那样添加到了客户端上。但是,默认网关停止通告,客户端无法访问互联网。
之前配置:
在服务器上:
$ rg dhcp-option /etc/dnsmasq.d/
/etc/dnsmasq.d/02-pihole-dhcp.conf
7:dhcp-option=option:router,192.168.1.1
DHCP 刷新后客户端:
$ ip r
default via 192.168.1.1 dev enp3s0 proto dhcp src 192.168.1.223 metric 1002
192.168.1.0/24 dev enp3s0 proto dhcp scope link src 192.168.1.223 metric 1002
配置后:
服务器:
$ rg dhcp-option /etc/dnsmasq.d/
/etc/dnsmasq.d/02-pihole-dhcp.conf
7:dhcp-option=option:router,192.168.1.1
/etc/dnsmasq.d/03-dhcp-route-wireguard.conf
2:dhcp-option=121,192.168.2.0/24,192.168.1.4
刷新后的客户端:
$ ip r
192.168.1.0/24 dev enp3s0 proto dhcp scope link src 192.168.1.223 metric 1002
192.168.2.0/24 via 192.168.1.4 dev enp3s0 proto dhcp src 192.168.1.223 metric 1002
我正要离开这答案,但即使我的配置与那里显示的相符,它也不起作用,正如我预期的那样。
答案1
配置正确。但是,dhcpcd -n
我用来获取新租约的 DHCP 客户端 ( ) 无法正常工作,并且静态路由会覆盖默认路由。通过 NetworkManager 获取新租约后,两个路由都存在于一个设备上。