dnsmasq标记和条件dns服务器

dnsmasq标记和条件dns服务器,dns,dnsmasq,Dns,Dnsmasq,作为一个整体解决方案,我想使用dnsmasq在不同的服务器之间拆分dns解析 i、 e.默认为dns服务器A,除非明确设置为每个主机(mac)的dns服务器B 我想将我的网络拆分为dnsmasq标记的子网,例如: 192.168.1.80-150=绿色 192.168.1.40-50=红色 我希望dhcp租约被交给,默认情况下标记为绿色,除了一些我想交给红色标签的特定Mac之外。 我已经成功地完成了这个部分的工作(我相信),在这里我明确地将它设置为MAC,但是我希望所有的东西都默认为绿色,除非另

作为一个整体解决方案,我想使用dnsmasq在不同的服务器之间拆分dns解析

i、 e.默认为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<--
--8好的,我把它修好了(写下我的特殊要求),我会把我得到的东西贴在这里,以防它对其他人有帮助

因此,我的要求是将不同的dns服务器(可能还有不同的gw)分发给不同的主机,这似乎是可行的:

dhcp-range=set:green,192.168.1.80,192.168.1.150,infinite

# red network
dhcp-host=11:22:33:44:55:66,hosta,192.168.1.11,infinite,set:red
dhcp-host=66:55:44:33:22:11,aa:bb:cc:dd:ee:ff,hostb,192.168.1.12,infinite,set:red

# green network mobile
dhcp-host=dd:dd:dd:dd:dd:dd,android1,192.168.1.21,infinite,set:green
dhcp-host=cc:cc:cc:cc:cc:cc,android2,192.168.1.22,infinite,set:green
除非另有明确规定,否则所有内容均标记为绿色。某些Mac电脑被标记为红色。然后,要执行不同的dns服务器和不同的gw,您可以执行以下操作:

# options
dhcp-option=tag:green,option:dns-server,192.168.1.1,192.231.a.b   # ,8.8.8.8,8.8.4.4
dhcp-option=tag:red,option:dns-server,192.168.1.c
dhcp-option=tag:green,option:router,192.168.1.1
dhcp-option=tag:red,option:router,192.168.1.c
我发现其他一些注释/上下文对此以及net/set/tag选项很有帮助:

  • 可选设置:设置标记此网络的字母数字标签,以便可以在每个网络的基础上指定dhcp选项。当它的前缀改为“tag:”时,其含义将从设置标记变为与之匹配。只能设置一个标记,但可以匹配多个标记
  • 可以在dhcp主机指令中设置多个标记(但不允许在允许“set:”的其他位置)
  • 该系统是从较早的、更有限的系统演变而来,为了向后兼容,可以使用“net:”代替“tag:”,也可以省略“set:”。(除了在dhcp主机中,其中可以使用“net:”而不是“set:”)出于同样的原因,可以使用“#”而不是“!”表示没有
因此,我认为只需:

  • 使用set和tag,避免使用net(因为这是旧方法)
  • 在dhcp范围和dhcp主机中使用set来分配标记,以及
  • 在选项中使用标记以匹配已设置的标记
  • 作为这些dhcp主机的一部分,您可以看到具有多个mac地址的主机,因为它是同一机箱的eth0和wlan mac

不管怎么说,这似乎对我很有用,也许这会对某些人有所帮助。

为什么不改变主意,在2个VLAN上设置2个dhcp部分,只使用1个dnsmasq服务,并使2个VLAN通过它们的网关(或不)相互通信.

是否可以在不启用DHCP的情况下使用条件DNS名称服务器?请向使用WRT路由器的其他人提一提:我的配置中始终无法使用“set”。我不得不用“net”表示“set”,用“net”表示“tag”(旧方法)。示例:
dhcp主机=00:25:64:93:34:A1,DellPC,net:green,192.168.2.20,infinite
dhcp选项=net:yellow,6,75.75.75,76.76.76