Primeiro, você precisa saber um pouco sobre como a resolução de nomes funciona no Ubuntu desde o Ubuntu 12.04.
Stéphane Graber blogou algumas informações sobre o assunto no ano passado aqui . O mais importante é saber que tanto o Ubuntu quanto o Ubuntu Desktop usam o resolvconf para gerenciar o arquivo resolv.conf
. Isso significa que você não deve mais editar /etc/resolv.conf
diretamente; em vez disso, você deve configurar o utilitário de configuração da interface de rede para fornecer as informações corretas para o resolvconf. Para o Ubuntu Server, o utilitário de configuração da interface de rede é ifup e é configurado pelo arquivo /etc/network/interfaces
. Para o Ubuntu Desktop, o utilitário de configuração da interface de rede é o NetworkManager . É isso que você está usando.
O NetworkManager é configurado por meio do indicador de rede > Editar conexões . No entanto, para interfaces de rede configuradas pelo DHCP, normalmente não é necessário alterar as configurações manualmente. Normalmente, o que acontece é que o servidor DHCP (remoto) fornece ao NetworkManager um endereço IP para a interface local e o endereço de um servidor de nomes DNS (remoto) a ser usado. O NetworkManager inicia uma instância de um servidor de nomes de encaminhamento que escuta localmente em 127.0.1.1. Este endereço, 127.0.1.1, é enviado para o resolvconf, que coloca nameserver 127.0.1.1
em /etc/resolv.conf
. O NetworkManager também fornece o endereço IP (remoto) do servidor de nomes DNS fornecido pelo DHCP para o servidor de nomes de encaminhamento. Assim, um programa em execução no sistema local solicita ao resolvedor que traduza um nome de host em um endereço IP; o resolvedor consulta o servidor de nomes de encaminhamento local em 127.0.1.1; o servidor de nomes de encaminhamento consulta o (s) servidor (es) de nomes remoto (s) de que foi informado, recebe uma resposta e envia-a de volta pela cadeia.
O NetworkManager se comunica com o processo de encaminhamento do servidor de nomes pelo D-Bus. Você pode ver o que o NetworkManager informou ao servidor de nomes de encaminhamento executando o comando
nmcli dev list iface eth0 | grep IP4.DNS
Atualização decorrente dos comentários:
Observe que o resolvconf realmente grava o arquivo /run/resolvconf/resolv.conf
para o qual /etc/resolv.conf
deve ser um link simbólico. Se /etc/resolv.conf
não for um link simbólico, você precisará recriá-lo. Para fazer isso, você pode executar
sudo dpkg-reconfigure resolvconf
ou
sudo ln -sf /run/resolvconf/resolv.conf /etc/resolv.conf