O NetworkManager não preenche o resolv.conf

41

Atualizei recentemente de 11.10para 12.04e agora NetworkManagernão estou preenchendo /etc/resolv.confao conectar-me a redes sem fio, quando ele estava funcionando perfeitamente 11.10. Não estou vendo nenhum erro explícito no NetworkManager, UIou no syslog. Como diagnosticar o que está errado?

Edit: Se eu tentar executar resolvconf, recebo o erro

resolvconf: Erro: /etc/resolv.conf não é um link simbólico, não está fazendo nada.

O que deveria ser, symlinkcomo chegar e / ou como NetworkManagerpreenchê-lo? Isso diz o que symlinkdeve apontar /run/resolvconf/resolv.conf, mas esse arquivo não existe no meu sistema.

Cerin
fonte
Tentei uma combinação das soluções abaixo e editei resolv.confpara incluir nameserver 127.0.0.1porque já tinha esse problema há um ano e, na época, acho que tinha algo a ver com essa linha. Após uma reinicialização, o arquivo foi substituído, mas não apenas com comentários, mas com uma nameserver …linha diferente e algumas outras coisas. Finalmente, está funcionando ...
Sebastian Simon

Respostas:

70

Use o seguinte comando e responda YES para ativar as atualizações dinâmicas:

sudo dpkg-reconfigure resolvconf

Trabalhou para mim no Ubuntu 12.04.

Rostislav Stříbrný
fonte
1
Funcionou perfeitamente. Tenha um laptop antigo com 12.04 uma bateria descarregada que desconectei por acidente. Pode executar ping no meu roteador doméstico, mas não obter páginas da web. Estranhamente poderia acessar outra rede wifi. Isso me deu acesso através da rede doméstica novamente.
Mark D
A pergunta permanece: por que o link simbólico estava ausente? Esta questão está sendo resolvida no bug # 1000244 ( bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/1000244 ). Veja o comentário nº 66 para minhas melhores suposições sobre as várias causas desse problema.
Jdthood #
2
Eu gostaria que houvesse um botão 'dica' ou 'compre uma cerveja' na troca de pilhas por agradecer às pessoas.
Crisfole # 23/13
1
Eu precisava fazer isso mesmo no Ubuntu 16.04 / Elementary OS 0.4 Loki
Reg Mem
1
Isso aconteceu comigo no Ubuntu 16.10. A solução ainda funciona, embora o diálogo sugira fortemente uma reinicialização imediata. Edit: Aconteceu do nada ontem, mais de um mês após a atualização.
ASalazar #
16

Eu tive o mesmo problema. Parece que o Ubuntu está usando um resolvedor local agora. A maneira mais rápida de remover isso é comentar a seguinte linha /etc/NetworkManager/NetworkManager.conf:

#dns=dnsmasq

Para mais informações, consulte esta página .

AbdallahDeeb
fonte
1
Desabilitar essa linha e depois reiniciar o NM não tem efeito perceptível para mim. O erro ainda ocorre e o NM ainda se recusa a preencher o resolv.conf.
Cerin
1
Obrigado por esta informação! Eu também tive que reiniciar o gerente da rede: sudo /etc/init.d/network-manager restart.
Ethan Leroy
5

Se /etc/resolv.conf for um arquivo, mova-o para /run/resolvconf/resolv.conf:

sudo mv /etc/resolv.conf /run/resolvconf/resolv.conf

Em seguida, crie o link simbólico:

sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf
roubado
fonte
1
Isso ajuda. Porém, é mais fácil e mais confiável (erros de digitação) a maneira de fazer isso sudo dpkg-reconfigure resolvconfe responder SIM.
geekQ
Este é um ótimo método se você for fazer o dpkg-reconfigure resolvconf --frontend=noninteractiveacompanhamento resolvconf -u. Se você não mover o arquivo e o link simbólico primeiro, um dpkg-reconfigure autônomo falhará porque /etc/resolv.confnão é um link simbólico.
Justin Force
1

Teve desde muito tempo problemas com meu laptop, tive que

sudo dhclient wlan0 

para poder fazer a web funcionar. Constatou que o resolv.conf não foi atualizado pelo gerenciador de rede e, finalmente, o

sudo dpkg-reconfigure resolvconf

resolveu meu problema!

Philippe Gachoud
fonte