Extremely slow DNS lookup

Solution 1:

/etc/resolv.conf (which is actually a symbolic link to /run/resolvconf/resolv.conf) is written by the resolvconf utility based on information coming from various possible sources.

127.0.1.1 is the loopback IP address on which the NetworkManager-controlled instance of dnsmasq listens. Dnsmasq runs locally and accepts DNS queries at 127.0.1.1 and forwards these queries to an external nameserver whose address is furnished by NetworkManager. This scheme does not always work well and if you have any problem with it (as you do) then it is advisable to disable NetworkManager-controlled dnsmasq. To disable it, edit /etc/NetworkManager/NetworkManager.conf

sudo gedit /etc/NetworkManager/NetworkManager.conf

and comment out the line

dns=dnsmasq

so that it looks like the following.

#dns=dnsmasq

Then restart network-manager. The command you use depends on your Ubuntu version:

sudo service network-manager restart # For newer systems using Systemd
sudo restart network-manager         # For older systems using Upstart

After this you should have a nameserver line in resolv.conf with a non-loopback IP address. If this is not the case then try the following command.

sudo dpkg-reconfigure resolvconf

If you still don't have a nameserver line in resolv.conf with a non-loopback IP address or if you still have no DNS service, try rebooting.

If you still have no good DNS service then start investigating the nameserver at the external IP address (1.2.3.4 in the example below). Does it correctly resolve domain names when approached using the host or dig utilities?

host www.ford.com 1.2.3.4

dig @1.2.3.4 www.gm.com

Do Google's nameservers work?

host www.ford.com 8.8.8.8

dig @8.8.4.4 www.gm.com

If you find that your external nameserver isn't working properly then you should configure your connection to use a well behaved nameserver such as Google's. To do this, right click on the network indicator and go to Edit Connections | | Edit... | IPv4 Settings. Assuming that the current Method is Automatic (DHCP), set Method to Automatic (DHCP) addresses only and fill in good nameserver addresses in the field entitled Additional DNS servers.

Solution 2:

You might want to right-click on the network-manager applet, edit connections and add another dns. That should 'stick'