DNS sometimes works, but it is very slow.

network-manager is meant to manage your whole workstation's networking requirements in 12.04 along with resolvconf and dnsmasq-base.

dnsmasq-base is just the executable dnsmasq file which network-manager runs using a separate config and no start-up scripts.

resolvconf rewrites /etc/resolv.conf whenever one of the 12.04 integrated packages tells it via scripts that something has changed.

It doesn't sound like it's correctly installed if you don't have that dns=dnsmasq line in your config. It might also account for the slowness.

You could try dpkg-reconfigure on network-manager and on resolvconf

Alternatively if you are using programs like VPNs that are not integrated with network-manager or other non-compatible programs, you could de-install network-manager and resolvconf completely and rely on isc-dhcp-client to set up your network and DNS, or pppd if you're using a modem.

dnsmasq under control of network-manager is intended to speed up DNS look-ups through caching, but if you de-install network-manager, then you'll also get rid of dnsmasq - at least it won't run on its own. You need the regular dnsmasq package to get it starting up and running at boot time.

You don't say if you need DHCP or you have static IP addresses.


Remove /etc/resolv.conf and make a symbolic link as follows:

/etc/resolv.conf -> /var/run/resolvconf/interface/NetworkManager

That is, execute:

ln -s /var/run/resolvconf/interface/NetworkManager /etc/resolv.conf

Local DNS in Ubuntu is always a bad idea (resolving domains after 10-15 requests).