Comment 81 for bug 94940

With all due respect +thejranjan, it's not really Ubuntu's fault. Microsoft recommended for years that companies use '.local' as their internal domain suffix so as not to conflict with the existing DNS namespace like .com, .net, .org, etc...

Unfortunately Microsoft just decided to recommend .local without thinking it through or registering .local with any standards body.

Later on a standards body decided to use .local for Multicast DNS.

So you run into this problem when you connect your Ubuntu box (and I believe Debian as well) to a Microsoft Windows network that *violates* established standards.

The fix is easy enough--edit /etc/nsswitch.conf and remove multicast DNS. That gives you access to your internal network which is configured improperly. Unfortunately you might have trouble communicating with multicast DNS services.

A work-around is to remove the '[NOTFOUND=return]' part of the mdns config. That basically tells the system to try looking up from multicast DNS and immediately fail if multicast DNS doesn't find anything. If you remove it, you will still have delays looking up hosts on your internal network, but you *will* get the best of both worlds--multicast DNS resolution *and* resolution of your incorrectly-named internal network.

So there's nothing really for Ubuntu to fix. It's up to you to fix your internal network or make a change to your Ubuntu install so it can communicate with your improperly configured internal network.