我对 dnsmasq 及其 DHCP 多个子网的能力进行了一些研究,但遗憾的是它似乎只有在存在多个接口时才有效,如下面的配置所示:
interface=eth0
interface=eth1
interface=eth2
dhcp-range=192.168.0.100,192.168.0.200
dhcp-range=192.168.1.100,192.168.1.200
dhcp-range=192.168.2.100,192.168.2.200
但是,我还没有看到使用一个接口(比如说 eth0)来服务多个子网的可能性,如下所示:
interface=eth0
dhcp-range=192.168.0.100,192.168.2.200
这可能吗?如果不通过 dnsmasq 配置,有解决方法吗?
谢谢!
答案1
我相信这个链接可以回答你的问题:
http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2010q3/004415.html
具体来说:
乍一看,你的做法毫无意义。一个接口上有两个子网,这没问题,但唯一能定义一台机器位于哪个子网的是它的 IP 地址,而 DHCP 会分配该地址。在分配地址之前,人们对这台机器的了解仅限于它在特定的物理网络上,没有办法将它固定到子网。