DNS names matter
September 30, 2009,
When naming a local network it matters how you name the network. We found out the hard way.
Here at home I have a network that I share with a few people. The gateway is a low power Soekris with FreeBSD and pf. The clients are mostly machines installed with Fedora.
The local network name has the network name "local", because, well, it is a local network. After a reinstall of a few machines with Fedora 11 things started to behave slightly odd.
The signs that something was wrong started when Evolution would sometimes seem to hang for a few seconds and then continue. After a little while this got very very annoying. Another sign was that SSH to another machine would start screaming that the IP address of a local machine could not be verified via a look up and that there might be a break-in attempt and it took a little while before it would connect as well. This clearly pointed to DNS. Some network names also did not resolve correctly on the Fedora machines, but would on other machines.
Because it could not be a coincidence I launched Wireshark to capture network packets and see if there would be a correlation between a random hang and something on the network. Bingo. At the same time that there was a random hang in Evolution there was a mDNS request for my own hostname on the ".local" network, originating from my own machine. I knew that "local" is a reserved name in Zeroconf, but on earlier Fedora systems this had never been an issue. On Fedora 11 it apparently can be an issue, which can luckily be fixed very easily.
The solution is simple: rename the network from "local" to something else that is not "local" and which won't give you a headache to debug (so I would not take a FQDN which might clash with other machines on the Internet). Then restart the DNS server and DHCP server and force all clients to get new leases and DNS information.
On some machines you might have to search for hardcoded machine and network names in configuration files and change it too.