在 DNSMasq 中设置每个接口的网关

在 DNSMasq 中设置每个接口的网关

我已经使用 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

相关内容