How To Band-Aid Fix mDNS not Resolving Over VPN

I’m calling it a band-aid fix, because this is technically not a “fix”. As far as I could find, it is technically not possible to use mDNS (Bonjour) over VPN. Only when the remote client is bridged through VPN mDNS packets can reach the client, but it causes its own havoc, especially less useful for home and small office environment as not all devices would support bridge mode. Apparently the problem itself, trying to reroute mDNS packets over VPN, is rather an obscure goal, and routers and its firmwares simply do not support such functionalities.

From what I can gather on the subject, it is hopelessly convoluted to use mDNS outside of the LAN. It’s great to be able to access a device by addressing it as .local on a local network instead of locking in the IP address, but for the purpose of practicality, it is quicker to reserve the IP address and use the IP address —which remains reachable— over VPN.

So my recommended “fix” would be:

  • Set a static IP on the device
  • Reserve the same IP on the router for the MAC address

It’s easier to maintain the list of what devices have which static IPs with the router. The reason for the duplicate reservation has to do with MAC address randomization. I’ve seen the cases where some of the routers would not able to allocate the same IP address to the device, as the MAC address randomization has kicked in whereby it won’t match the record on the table. I suspect some modern firmwares do keep up with the changes and the trend of randomization; but it never hurts to reassert the IP from the device as a backup.

Leave a comment