Running a DNS nameserver in a .local domain

domain-name-systemlocalmdnsnetworking

We are using an ".intranet.local" domain for our internal network. For years the ".local" domain seemed to be a sane choice for local networks running on private (RFC 1918) IP addresses. Today we learned that ".local" is nowadays used for zeroconf network services. Our first software that breaks here is "Psi" (the Jabber client) which only sends multicast DNS (mDNS) queries to find the given Jabber server and fails because no service/server is listening on 224.0.0.251. It doesn't use a fallback to regular (unicast) DNS and thus fails.

It would be rather complicated to move our company network to another internal domain. Do we have another choice? Like running a network service that translates mDNS requests to unicast DNS requests on our local DNS server.

I tried "avahi-daemon" on our (Linux) gateway but couldn't find a configuration where mDNS would get forwarded/translated to unicast DNS. In addition the Avahi documentation warns:

"If you come across a network where .local is a unicast DNS domain, please contact the local administrator and ask him to move his DNS zone to a different domain. If this is not possible, we recommend not to use Avahi in such a network at all."

Next I hoped that our bind name server could answer mDNS requests but apparently it can't.

What is the best choice in our situation? Thanks in advance.

Best Answer

Just for additional reference - don't know if it comes in handy with your setup: We're also running a .local network. On Ubuntu machines I've discovered that the mdns interferes with the setup unless you change /etc/nsswitch.conf:

By default this file contains the line

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

You need to place the "dns" prior to the [NOTFOUND=return] section.

Took a while to hunt down - The ubuntu community support on launchpad was of great help with this. (See my question there for the nature of the problems we had with the setup prior to changing nsswitch.conf)