如何在 dnsmasq 中允许一个域并阻止所有子域?

如何在 dnsmasq 中允许一个域并阻止所有子域?

在我的dnsmasq.conf文件中,我有两组规则中的一组:

第 1 组:

no-resolv
server=8.8.8.8

server=/firebaseio.com/#
address=/*.firebaseio.com/

第 2 组:

no-resolv
server=8.8.8.8

server=/firebaseio.com/8.8.8.8
address=/*.firebaseio.com/

dig firebaseio.com使用集合 1运行时会给出127.0.0.1,但使用集合 2 运行时会给出有效的 IP 地址。为什么第一组没有给出有效的 IP?规则不是server=/firebaseio.com/#应该从 定义的“标准服务器”中获取 IP 地址吗server=8.8.8.8

答案1

address以前用过。

引自man dnsmasq

A、–address=/<域>[/<域>...]/[<ipaddr>]
指定要返回给定域中任何主机的 IP 地址。域中的 A(或 AAAA)查询永远不会被转发,并且始终使用指定的 IP 地址(可能是 IPv4 或 IPv6)进行回复。

因此,您将 dnsmasq 配置为始终返回这些域的特定地址,但忽略了该地址。因此 dnsmasq 没有返回地址。

相关内容