As configurações antigas de DNS continuam voltando

3

Ubuntu 16.04

Depois de mudar de escritório, defino as configurações de DNS por meio da GUI da Rede (consulte aqui ) para meus novos valores. A conexão com a Internet está lá, mas a resolução de nomes parece muito lenta. Minha interpretação é que ele tenta resolver o nome com configurações antigas, o que expira após cerca de 5 segundos, depois tenta e é bem-sucedido (rápido) com novas configurações.

Mas o que quer que eu faça, os valores antigos estão sempre "no sistema" de alguma forma.

Após uma reinicialização:

  • /etc/resolvconf/resolv.conf.d/head contém os endereços DNS antigos
  • /etc/resolvconf/resolv.conf.d/base contém os novos endereços DNS
  • /etc/resolv.conf ( run/resolvconf/resolv.conf ) contém endereços DNS antigos (de head ) seguidos por valores em /run/resolvconf/interface/NetworkManager (que contém localhost e search -parameter)

/etc/network/interfaces não contém muito:

auto lo
iface lo inet loopback

Eu adicionei as novas configurações de DNS em /etc/dhcp/dhclient.conf sem efeito.

O único remédio até agora é editar manualmente /etc/resolv.conf após cada inicialização.

Então, pergunta: como posso fazer o Ubuntu esquecer as configurações antigas (aquelas em /etc/resolvconf/resolv.conf.d/head que são geradas automaticamente)? Não há nscd instalado. Isso parece ser uma maneira de fazê-lo, mas acho que deve haver um melhor.

Não tentei a opção: instale o dnsmasq e configure como descrito aqui (novamente, acho que deve ser possível sem isso )

    
por tokosh 21.12.2017 / 02:55

1 resposta

2

O arquivo /etc/resolv.conf é gerado a partir dos arquivos armazenados no diretório /etc/resolvconf/resolv.conf.d quando sudo resolvconf -u é executado.

Se você fizer alguma alteração nesses arquivos:

terrance@terrance-ubuntu:/etc/resolvconf/resolv.conf.d$ ls -l
total 8
-rw-r--r-- 1 root root   0 Jun  3  2015 base
-rw-r--r-- 1 root root 151 Feb 25  2017 head
-rw-r--r-- 1 root root  33 Jun  5  2016 original
-rw-r--r-- 1 root root   0 Jun  5  2016 tail

As alterações serão refletidas quando você executar o comando resolvconf -u para atualização. Eu realmente coloquei minhas informações de DNS no arquivo original e deixei todos os outros arquivos em paz:

terrance@terrance-ubuntu:/etc/resolvconf/resolv.conf.d$ cat original 
search local
nameserver 10.0.0.1

Depois de executar o comando sudo resolvconf -u , podemos ver minhas alterações no meu arquivo /etc/resolv.conf :

$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.0.1
search local

EDIT: Mais uma coisa que você pode precisar verificar e alterar é a linha dns=dnsmasq encontrada no arquivo /etc/NetworkManager/NetworkManager.conf . Você pode copiar e colar a seguinte linha para desativar usando o dnsmasq do NetworkManager.

sudo sed -i 's/dns=dnsmasq/#dns=dnsmasq/' /etc/NetworkManager/NetworkManager.conf 

Depois de executar a linha acima, reinicie o computador para que as novas alterações entrem em vigor.

Espero que isso ajude!

    
por Terrance 21.12.2017 / 15:48