For some time I’ve been wondering why none of my Debian/Ubuntu workstations would resolve something like ‘proxy.mycompany.local’. Simpy resolving ‘proxy’ would work.

I already knew that .local is not a correct tld, but since it was recomended by Microsoft to use this when installing Active Directory we used it. I never had any problems with it because most of the time I just use ip addresses when I need to access a server.

Now I installed a proxy server and a new mail relay server so I started using them as proxy.mycompany.local and relay.mycompany.local. The I found out that none of my Debian or Ubuntu workstations would resolve those addresses. At first I blamed the Microsoft DNS server for this. That’s the easiest and most logical thing to do ;-). But Windows XP/Vista clients did resolve those addresses. Strange huh?

Then I started wireshark on my client. I did a query for proxy.mycompany.local and then there was…. an MDNS request instead of a normal DNS request?!?

This quickly gave me the conclusion that it was something avahi related because this does all the zeroconf stuff with Debian/Ubuntu. Avahi seems to be configured to pick up any request ending in .local and make MDNS requests for it. This must be a problem for more people because there must be loads of Microsoft networks out there ending in .local. I won’t say this is a fault from the avahi guys because it’s also completely wrong to use .local as tld.

My current solution is to just simply disable Avahi on my workstations. On Ubuntu I just do ‘System -> Administration -> Services’ and disable ‘Multicast DNS Service Discovery’ there. With Debian I just disable the startup of Avahi in /etc/default/avahi-daemon by settting ‘AVAHI_DAEMON_START=0’.