我有一个我认为是简单的配置:我想响应使用该选项dnsmasq
指定的本地主机文件中的主机名。addn-hosts
完整的配置如下所示:
local=/example/
domain=example
expand-hosts
except-interface=lo
bind-dynamic
no-hosts
listen-address=10.89.0.1
addn-hosts=/tmp/addnhosts
其中/tmp/addnhosts
包含:
10.89.0.4 foo
10.89.0.5 bar
(这是地址和主机名之间的选项卡。)
我希望向该服务器查询foo.example
或bar.example
返回相应的地址,但运行时dnsmasq -d -q -C example.conf
我在控制台上看到:
dnsmasq: started, version 2.80 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt DBus no-i18n IDN2 DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect inotify dumpfile
dnsmasq: using local addresses only for domain example
dnsmasq: reading /etc/resolv.conf
dnsmasq: using local addresses only for domain example
dnsmasq: using nameserver 127.0.0.1#53
dnsmasq: read /tmp/addnhosts - 2 addresses
dnsmasq: query[A] foo.example from 10.89.0.5
dnsmasq: config foo.example is NODATA-IPv4
dnsmasq: query[AAAA] foo.example from 10.89.0.5
dnsmasq: config foo.example is NODATA-IPv6
如果我添加显式地址条目 ( address=/foo.example/10.89.0.4
),一切都会按预期工作。我错过了什么?上面的查询日志并没有真正帮助识别问题;我还能得到更多详细的日志记录吗?
我正在使用似乎是最新的 dnsmasq 2.80。
我正在使用 Fedora 31,并且从版本 2.80-12 开始遇到同样的问题。
更新到 2.80-13 后一切正常,再次!
Fedora 2.80-13 的更改日志显示“Fix last build breakage of DNS”,这与您的问题相对应...
我希望这会有所帮助。