How to make Bonjour (mDNS) work over OpenVPN?

Solution 1:

IIUC, the problem with mDNS/Bonjour is that it's implemented using the so-called multicasting, and multicast packets do not automatically crosss network boundaries (due to both the protocol's design and the design of Linux).

You might want to use something like smcroute to tunnel multicast traffic between all the networks your OpenVPN instance connects.

See this for more info, and this in general.

Another possibility is to switch OpenVPN from tun mode to tap. Unfortunately, this has its repercussions which must be considered thoroughly before implementing.