Is there a way to resolve Multicast DNS hostnames by common programs?

I know about DHCP clients in DNS and I know about Avahi, but I’m missing the link between the standard name resolution and avahi-daemon. This functionality is usually provided by nss-mdns, but this package is not available on OpenWRT. So, is there a way to, for instance, ping nas.local?

I suspect there won’t be a nice way: https://wiki.musl-libc.org/future-ideas.html#mDNS_and_alternate_hostname_database_backends

To be clear, it’s a matter of each machine, so this only concerns resolving mDNS from the router itself and not other devices in the network. Anyway, I’m certainly no mDNS expert.

That’s right, the OpenWrt mDNS responder umdns works out of the box. However, it’s bit strange to have a system with a working responder and no resolver.

Anyway, thanks for the link, guess I have to wait till Knot Resolver implements this :sweat_smile:

Knot Resolver isn’t planning to do anything with mDNS.

I see mDNS as very separated from DNS, despite what one might think by looking at the descriptions briefly.

OpenWrt mDNS responder umdns worked out of the box until TOS6 upgrade. Daemon umdns is listening just on network.lan IPv4 and link-local IPv6 [fe80::…] addresses, having no clue how to force it using my IPv6 lan prefix (manually configured by network.wan6.ip6prefix option - I use TurrisOS 6.0.3). When I try to list registered hosts by ubus -v call umdns hosts there are already registered hosts from my lan (including of their IPv6 addresses) but e.g. ping somelanhost.local doesn’t work anymore. Could someone test it on TOS6, because I see this behavior on all upgraded routers to TOS6.

I am using TOS7.0 on my Omnia. Same problem as you describe:

root@router:~# ubus call umdns hosts
{
        "Android.local": {
                "ipv4": "10.13.37.107",
                "ipv6": "fe80::8235:c1ff:fe77:9b87",
                "ipv6": "fd00:bad:c0de:1337:9ca6:eb13:789f:c354",
                "ipv6": "fd00:bad:c0de:1337:8235:c1ff:fe77:9b87"
        },
        "ap.local": {
                "ipv4": "10.13.37.253",
                "ipv6": "fd00:bad:c0de:1337::253",
                "ipv6": "fe80::da58:d7ff:fe00:20ad",
                "ipv4": "10.19.19.253",
                "ipv4": "10.25.56.253",
                "ipv4": "192.168.0.253",
                "ipv4": "192.168.0.253"
        },
        "router.local": {
                "ipv4": "192.168.0.254",
                "ipv4": "10.19.19.254",
                "ipv4": "10.13.37.254",
                "ipv4": "10.222.111.254",
                "ipv4": "10.25.56.254",
                "ipv4": "10.111.111.1"
        }
}
root@router:~# ping router.local
ping: router.local: Name does not resolve
root@router:~#