我有一个简单的配置:我想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,它似乎是最新版本。
答案1
我正在使用 Fedora 31,从 2.80-12 版本开始遇到同样的问题。
更新到 2.80-13 后,一切再次正常运行!
Fedora 2.80-13 的更改日志中写着“修复 DNS 的最后构建损坏”,这与您的问题相对应......
我希望这能有所帮助。