Cannot resolve mDNS names from router itself

I have a Turris Omnia running 7.0.

I have wireguard installed and can successfully vpn back to my home network when away. I would like to access .local addresses when I am vpned into my home network.

I have enabled umdns on the router and when I run ubus call umdns hosts I get a list back of the local devices with their local IP addresses.

However, if I ssh into the router and try to ping any of the local devices (device.local) I just get the error “name does not resolve.” also if I try to access any of the devices from a client vpned into the homework, it does not resolve either.

I seem to have the same problem as this thread, which doesn’t seem to have a resolution: Is there a way to resolve Multicast DNS hostnames by common programs?

Can anyone help me?

Hi @courier_yt,

since I am looking forward to get this on my device - have you also looked in openwrt documentation [OpenWrt Wiki] Multicast DNS Daemon

@Vienna

Yes I did follow that guide. I installed umdns but to no avail. mdns seems to be running and it will give me a list of local devices but maybe it is not talking to the primary dns resolver on the router? I am not knowledgeable enough about dns to troubleshoot any better.

The primary resolver does not speak mDNS.

On big distros the multiplexing of DNS and mDNS is done by glibc’s NSS or maybe also systemd-resolved, but neither is possible here. At a quick search and read through docs I couldn’t find how this is usually done in OpenWrt (if it is).

@vcunat Thanks for your input. Is there a possibility that this will be avaliable as a feature? Since mDNS is used in home automation eg. Matter…

I don’t know, I’m afraid.

  • I don’t really know mDNS stuff.
  • It’s rather unlikely to be ever done directly inside Knot Resolver, except possibly multiplexing.
  • I can’t speak for the Turris project, I’m not even its member.

I believe this should be the original topic. My design intuition would be that your VPN should pass through mDNS messages, i.e. you want to be a part of the LAN even if you’re remote. In that design it shouldn’t matter whether those .local names resolve on the router itself – you’d just use mDNS directly from your remote device.

I might add, that there are firewall rules that apply for OpenVPN… might have a look at these.
Network > Firewall > General Settings > Zones

Did anyone try this Tinc VPN on Turris Omnia? Not much here to find Tinc VPN support - #4 by davidhrbac

@courier_yt Did you also look at Enable Airplay and Homekit? - SW help - Turris forum or Cannot resolve mDNS names from router itself - #6 by vcunat ? Could be also [SOLVED] mDNS/Avahi/Zeroconf on bridges (e.g. br-lan) If you found a working solution please share it.

Yes this is my goal for sure.

I thought for a minute this might be connected to android, because originally I was only trying to reach the .local addresses from my android phone.

But I just setup my laptop to connect to my home network through wireguard as well and i have the same issue. I cannot reach any .local addresses. even though I can of course successfully reach the router and outside internet.

I have the default firewall rules for the omnia plus I added the following two when I setup wireguard, if this helps. maybe the firewall rule for mdns is not correct?

Maybe thumb to ask - but does any zone include WAN? Would be cautious about these generalisation…

Firewall configuration [Old OpenWrt Wiki] or [OpenWrt Wiki] Firewall configuration /etc/config/firewall - I would understand that WAN is one of the two, that are the basis of every config