I have a collection of macOS, Ubuntu Linux, and OpenBSD systems. They use mDNS to publish their dynamic IP addresses to the local network, making themselves available under the .local domain name.

My OpenBSD 7.1 machines can publish their host information to the LAN using Avahi or OpenMDNS, and I'm able to connect to them by name from Linux and macOS. However, the OpenBSD systems cannot resolve the names of neighbouring devices seamlessly.

The OpenBSD systems can resolve names through the Avahi utilities when they are running Avahi 0.8:

$ avahi-resolve-host-name eeyore.local pooh.local laban.local

When using OpenMDNS in place of Avahi, I can use its mdnsctl command to look up names from OpenBSD:

$ mdnsctl lookup pooh.local

However, no matter if I use OpenMDNS or Avahi, the normal resolver does not see these names, so I can't, for example, use ssh, ping, or any other tool to reach them by name from OpenBSD.

I wonder whether one could get OpenBSD's default resolver, or possibly unwind or unbound in the base system, or some other DNS resolver from packages, to use mDNS as an alternative "forwarder".

Additional info: The local router is an EdgeRouter X from Ubiquiti Inc. (I also have a spare EdgeRouter Lite). This is what acts as the DHCP and DNS server in the local network. It forwards DNS queries out of the LAN. One could enable the dnsmasq DHCP+DNS server on the router to provide the hostnames and/or IP addresses from the DHCP leases as responses to DNS queries from the LAN, but this is more of a work-around than a solution to the abovementioned problem (since it does not make the OpenBSD system resolve using mDNS).


1 Answer 1


You could check - https://github.com/openbsd/src/blob/013e174a3726f5dfc8d86cfb0c801d83d8f77ad6/lib/libc/asr/asr.c#L625

OpenBSD supports only 'file' and 'bind' options in the name resolver (resolv.conf) :-(

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .