我已经使用 DNSMasq 设置了 dhcp,如下所示:
dhcp-range=interface:eth0,10.1.0.50,10.1.0.250,255.255.255.0
dhcp-range=interface:eth1,10.1.20.50,10.1.20.250,255.255.255.0
我需要做的是为每个接口分别设置网关“dhcp-option 3”,我预计它看起来像这样:
dhcp-option=interface:eth0,3,10.1.0.254
dhcp-option=interface:eth1,3,10.1.20.254
但是,这不起作用。在每个接口上设置独立网关的正确方法是什么?
答案1
按理说,问题中的语法是有意义的。然而,它甚至比这更简单:
dhcp-option=eth0,3,10.1.0.254
dhcp-option=eth1,3,10.1.20.254
[编辑] 使用了几年后,我报告了此设置的一个问题。假设您有一个公共网络和一个安全网络,都可以通过 WiFi 访问。如果您的设备连接到公共网络,但您希望切换到安全网络,您的设备和 DHCP 服务器将尝试重新使用您从公共网络获得的地址租约,从而导致您现在占用的子网的地址无效。这可能可以通过将租约时间设置为零来解决,但这可能会产生其他不利影响,具体取决于您的网络要求(网络打印机地址等)。
答案2
您可以使用范围标签来做到这一点:
dhcp-range=set:net1,10.1.0.50,10.1.0.250,255.255.255.0
dhcp-range=set:net2,10.1.20.50,10.1.20.250,255.255.255.0
dhcp-option=tag:net1,3,10.1.0.254
dhcp-option=tag:net2,3,10.1.20.254