I recently switched from odhcpd to dnsmasq even for dhcpv6 and ra.
After the switch dnsmasq would not start but crash immediately.
It turned out the reason were some hostids that I set to ensure static assignment.
I used 64bit/16hex hostid and this worked perfectly well on odhcpd. The value was used as the "interface id" of the addresses.
However dnsmasq seems to work differently:
For some hostid it worked but took only the second half of hostid.
For some hostids it generated some bad addresses and caused crash.
For instance 7ba22d5143a10b64 is ok, but only uses lower values int generates [::43a1:b64] suffix. However b0552d4cd6f490ab results internally in [::ffffffffffffd6f4:ffffffffffff90ab]somehow, and crashes dnsmasq.
After I shortened my hostid to 32bits it works all right.
Any ideas whether this is intended behavior or a bug? Am I doing something terribly wrong?
config host
option name 'my-hostname'
option dns '1'
list mac 'XX:XX:XX:XX:XX:XX'
option ip '10.0.0.42'
option hostid 'b0552d4c' # this is ok
#option hostid 'b0552d4cd6f490ab' # this is not ok
dnsmasq takes these and then produces /var/etc/dnsmasq.conf.cfg01411c
Do know by any chance how with the default OpenWrt config it is possible to get PTR for slaac addresses? I think odhcpd does something with the Mac address on the IP neighbor table...
But I disabled odhcpd long ago in favour for dnsmasq full
What however could work is mDNS. You can for instance enable it in your local desktop/laptop resolver like systemd-resolved/nsswitch then you can resolve hostname.local but it still won't do reverse lookup. I always had to do avahi-resolve -a <address here> to do revers lookup.