I am trying to set up my own home DNS server, partly to allow computers without avahi/Bonjour to resolve .local addresses. (e. g. unrooted Androids) I am trying to use unbound for this. Since I know that dig hostname.local @224.0.0.251 -p 5353 works (for some reason dig hostname.local @FF02::FB -p 5353 doesn't seem to, even though I have IPv6 locally), I figured I could simply put these lines in my unbound.conf:
forward-zone:
name: local
forward-addr: 224.0.0.251@5353
However, this gives an SERVFAIL. The problem seems to be that unbound doesn't get the reply from the IP it sent the request to. I have got the following lines in my log file:
[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
Is there anything I could do to make this work? I know that unbound has python extensibility, but that looks rather slow (and troublesome). Also, am I right on that this will not cause any problems for computers with mdns implementation, because they will use mdns themselves first?