2013-09-09

Propagate Bonjour services over multiple networks

Bonjour is a technology that announces services in the network. For example my printer announces its capabilities:
Another example are Web Sites in the local network that announce their web pages:
And last but not least, my Mac Mini which offers Screen Sharing via Bonjour.
If you want to have a full insight to all announced services, take a look at iNet which offers a nice browser for all services: 
Now, if you have multiple networks, then there is a problem. By default the Bonjour announcements are only visible in the local network. In a multi network environment like my LAN and Guest networks or (see my blog post how to enable a guest network on Airport Extreme). In my case, my guests are not able to see my devices like my printer. They are able to ping it, but the automatic announcement does not work.

The question is: Can we do something, the answer is: Yes, we can!

There is nice software called Avahi which does exactly what we want. There are many ports available, including pfSense which is my router solution. In pfSense you can install it as a package. Go to System, Packages and then Available Packages. Find Avahi and install it.
Now go to Services > Avahi and disable all interfaces where Avahi does not have to listen to. In my case it looks like this:
Ensure that this service is running:
There is no further configuration required. Now switch to the other network and verify that you can see all Bonjour services.