我的设置
我有一个庞大的l2网络,其中包含各种/ 24 IP子网。通过将数据包发送到255.255.255.255,可以访问网络中的每个主机
我想要什么
即使运行dnsmasq的计算机在此子网(例如203.0.113.0/24)中没有IP,也强制dnsmasq提供IP地址(例如203.0.113.228)。
我为什么要
由于我有很多/ 24子网,所以我不想为每个网络浪费一个IP地址,只是为了使dnsmasq正常工作。
到目前为止成功
没有成功。 dnsmasq说:
dnsmasq-dhcp:没有可用于eth0的DHCP请求的地址范围
我设法在openwrt论坛上找到了类似的问题,答案为零:https://forum.openwrt.org/t/dnsmasq-give-out-any-ip-address-on-certain-interface/1866
我当然知道我想要的东西在DHCP协议中是可能的,因为我已经通过scapy成功地制作了DHCP产品。当然,我不想基于scapy编写自己的DHCP服务器...
看起来问题是我无法为dhcp-range指定网络掩码0.0.0.0。即我这样工作:--dhcp-range=tag0,123.123.123.123,static,0.0.0.1
(123.123.123.123是dnsmasq接口的IP)。 Dnsmasq可以工作并且可以提供子网报价
203.0.113.0/24、192.168.100.0/24等。但是,如果我指定了网络掩码0.0.0.0
,则由于c代码(if (netmask.s_addr != 0
)中的各种检查,我认为dnsmasq失败。我想知道我是否可以使用这样的网络掩码...