dnsmasq 不将请求转发到名称服务器

dnsmasq 不将请求转发到名称服务器

我正在尝试在 raspberry pi 上运行两个 dnsmasq 实例,我已经取得了很大进展。我目前正在尝试让第一个 dnsmasq 服务器将其不知道答案的任何请求转发到第二个服务器,但似乎只有在我的情况下才有效dig <address> @127.0.0.1。使用任一接口的外部地址或从另一台机器查询都行不通。

直接查询任一服务器都会得到所需的结果,但尝试让第一台服务器转发第二台服务器的结果……却不行。

实例 A (lan) 的配置:

root@Raspberry-server:~# cat /etc/dnsmasq/dnsmasq.conf

port=53
except-interface=eth0.1
bind-interfaces

no-hosts
#changing the cache size makes no difference
#cache-size=5000
cache-size=0

# uncomment to forget about 404 responses
#no-negcache

#resolv-file=/etc/dnsmasq/resolv.lan.conf
#no-poll
no-resolv
strict-order

server=192.168.1.13

auth-server=raspberry.lan,eth0
auth-zone=lan,192.168.1.0/24
host-record=raspberry.lan,192.168.1.11
host-record=htpc.lan,192.168.1.10
host-record=tom.lan,192.168.1.12

实例 B 的配置(全局):

root@Raspberry-server:~# cat /etc/dnsmasq/dnsmasq.blocker.conf

port=53
bind-interfaces
listen-address=192.168.1.13

no-hosts
addn-hosts=/etc/dnsmasq/blocked.host
cache-size=100000

# uncomment to forget about 404 responses
#no-negcache

resolv-file=/etc/dnsmasq/resolv.blocker.conf
#no-poll

strict-order

实例A状态日志:

systemd[1]: Starting DNSMasq Lightweight DNS server...
dnsmasq[1651]: dnsmasq: syntax check OK.
dnsmasq[1656]: started, version 2.76 cache disabled
dnsmasq[1656]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify
systemd[1]: Started DNSMasq Lightweight DNS server.
dnsmasq[1656]: using nameserver 192.168.1.13#53

答案1

打开查询日志记录(log-queries)并依次对每个服务器使用 dig/nslookup。

在您当前的设置中,serverB 似乎永远不会向任何其他服务器询问信息。当服务器 A 无法自行回答查询时,它应该将查询传递给服务器 B。

Dnsmasq 服务器尝试在本地解析查询,仅在必要时转发。启用查询日志记录应该会显示您正在访问哪个服务器以及何时访问,以及它们对该查询执行了哪些操作。

答案2

看一下/etc/default/dnsmasq。在某些发行版中,此文件会阻止读取除之外的“resolv.conf”文件/etc/resolv.conf

相关内容