我正在尝试设置自己的家庭 DNS 服务器,部分原因是为了让没有 avahi/Bonjour 的计算机能够解析 .local 地址。(例如未 root 的 Android)我正尝试为此使用 unbound。因为我知道这dig hostname.local @224.0.0.251 -p 5353
可行(出于某种原因dig hostname.local @FF02::FB -p 5353
似乎行不通,即使我本地有 IPv6),我想我可以简单地将这些行放入我的 unbound.conf 中:
forward-zone:
name: local
forward-addr: 224.0.0.251@5353
但是,这会导致 SERVFAIL。问题似乎是 unbound 没有从其发送请求的 IP 获得回复。我的日志文件中有以下几行:
[1412507591] unbound[30868:3] info: 0RDd mod1 rep debian-bbb.local. A IN
[1412507591] unbound[30868:3] debug: cache memory msg=117331 rrset=174700 infra=488970 val=79412
[1412507591] unbound[30868:3] debug: answer cb
[1412507591] unbound[30868:3] debug: Incoming reply id = 3b44
[1412507591] unbound[30868:3] debug: Incoming reply addr = ip4 192.168.0.11 port 5353 (len 16)
[1412507591] unbound[30868:3] debug: lookup size is 1 entries
[1412507591] unbound[30868:3] debug: received unwanted or unsolicited udp reply dropped.
[1412507591] unbound[30868:3] debug: dropped message[50:0] 3B44840000010001000000000A64656269616E2D626262056C6F63616C0000010001C00C000100010000000A0004C0A8000B
我能做些什么来让它工作吗?我知道 unbound 具有 python 可扩展性,但这看起来相当慢(而且很麻烦)。另外,我是否正确认为这不会给具有 mdns 实现的计算机造成任何问题,因为它们会首先使用 mdns?