Para agilizar a internet, o ubuntu 12.04 adicionou um plugin ao NetworkManager para iniciar o dnsmasq, um servidor de dns local que armazena em cache as entradas dns. O problema é que o plugin codificou a string --no-hosts.
Portanto, uma solução é comentar a linha que carrega o plug-in no arquivo de configuração do NetworkManager e reiniciar o NetworkManager:
sudo mv /etc/NetworkManager/NetworkManager.conf /etc/NetworkManager/NetworkManager.conf.bak
sudo bash -c 'cat /etc/NetworkManager/NetworkManager.conf.bak | sed -e "s/^\(dns=dnsmasq\)$/#/" > /etc/NetworkManager/NetworkManager.conf'
sudo restart network-manager
Outra solução é envolver o dnsmasq para filtrar os argumentos indesejados:
sudo mv /usr/sbin/dnsmasq /usr/sbin/dnsmasq.bin
sudo bash -c 'cat > /usr/sbin/dnsmasq' << EOF
#!/bin/sh
dnsmasq=/usr/sbin/dnsmasq.bin
exec $dnsmasq 'echo $@ | sed -e s/--no-hosts//'
EOF
sudo chmod 755 /usr/sbin/dnsmasq
Marque o bug que afeta você.
Outra solução sem corrigir arquivos do sistema
cat /etc/NetworkManager/dnsmasq.d/hosts.conf
addn-hosts=/etc/hosts