作为全面的解决方案,我想使用dnsmasq将DNS解析分配给不同的服务器。
例如,默认情况下使用DNS服务器A,除非每个主机(MAC)明确设置为DNS服务器B。
我想将我的网络分成带有dnsmasq标记的子网,以此示例为例:
192.168.1.80-150 = 绿色
192.168.1.40-50 = 红色
我希望DHCP租约默认由标记为绿色的设备提供,除了一些特定的MAC地址,我希望它们获得红色标记。
我已经成功地将其通过明确设置MAC地址来实现,但我希望所有未指定的设备都默认为绿色。
然后,我想说:“对于所有带有绿色标记的设备,请将DNS服务器A设置为其解析器”,“对于所有带有红色标记的设备,请将DNS服务器B设置为其解析器”。
这种做法可行吗?
我有以下配置,但似乎无法正常工作:
--8<--
dhcp-range=set:green,192.168.1.80,192.168.1.150,infinite
dhcp-range=tag:red,192.168.1.40,192.168.1.50,infinite
dhcp-option=net:green,option:dns-server,8.8.8.8,8.8.4.4
dhcp-option=net:red,option:dns-server,192.168.1.11
dhcp-host=AA:BB:CC:DD:CC:BB,redhost1,192.168.1.41,infinite,net:red
dhcp-host=BB:CC:DD:AA:BB:00,greenhost1,192.168.1.81,infinite,net:green
dhcp-option=option:router,192.168.1.1
--8<--
然而,这似乎不起作用。基于我是否匹配了它们的MAC地址,我有不同的主机分配不同的IP地址,然后似乎DNS服务器没有被正确地分配。
我认为DNS服务器没有被分配是因为在其中一台主机上运行“cat /etc/resolv.conf”显示127.0.0.1。
总结我的问题:
- 除非通过MAC显式设置为“red”,否则我可以将一切默认为“green”吗? (目前,我必须将所有内容的MAC显式放入conf文件中)?
- 我可以为不同的标记网络指定不同的DNS服务器吗?
- 为了更加清晰,我对“标签”和“集合”之间的区别有点困惑,在搜索中发现了对两者的引用,简短而干净的定义将是很好的补充。
非常感谢
dhcp-host=00:25:64:93:34:A1,DellPC,net:green,192.168.2.20,infinite
dhcp-option=net:yellow,6,75.75.75.75,76.76.76.76
- TDave00