Por que o /etc/resolv.conf não é atualizado quando eu mudo o meu DNS? [duplicado]

4

Estou tentando alterar meu DNS para 8.8.8.8 8.8.4.4 , mas não consigo fazer isso.

Em /etc/resolv.conf tenho

# 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 127.0.0.1

Em /etc/resolvconf/resolv.conf.d/base eu adicionei

nameserver 8.8.8.8
nameserver 8.8.4.4

e recarregado com sudo resolvconf -u

mas nada muda em /etc/resolv.conf

Se eu escrever errado algo em /etc/resolvconf/resolv.conf.d/base , por exemplo, adicionar ameserver 8.8.8.8 e recarregar cat /etc/resolv.conf agora será exibido.

# 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 127.0.0.1
ameserver 8.8.8.8

O que devo fazer para alterar o DNS e como posso verificar se funcionou?

    
por Qwertie 04.06.2017 / 11:34

2 respostas

5

Para expandir a outra resposta aqui e esclarecer algumas confusões aqui, se você estiver usando o Network Manager para gerenciar suas conexões, ela também incluirá uma pequena versão do dnsmasq. Isso é o que o endereço 127. * está em seu resolv.conf - o endereço IP do localhost, ao qual o dnsmasq ligou.

O Network Manager, quando configurado com os servidores DNS, dirá ao dnsmasq a que servidores DNS retransmitir as solicitações.

Se você definir 8.8.8.8 como seu servidor DNS nas configurações do Network Manager, o dnsmasq encaminhará todas as solicitações que não estiverem armazenadas em cache no 8.8.8.8 para resolução real, enquanto o computador envia solicitações de DNS diretamente para o dnsmasq para tratamento.

Confuso, eu sei, mas você não pode confiar no resolv.conf para mostrar os servidores DNS em uso quando você está usando o Network Manager para gerenciar as conexões.

    
por Thomas Ward 04.06.2017 / 14:35
3

Primeiro, reverta tudo o que fizemos nos comentários.

Uso:

$ nmcli device 

para obter um status de gerente de rede:

DEVICE  TYPE      STATE        CONNECTION 
enp3s0  ethernet  connected    myConnection

Portanto, minha interface é enp3s0 e meu nome de conexão é myConnection .

Posso verificar qual servidor DNS minha conexão está usando:

$ nmcli -f IP4.DNS connection show myConnection

Para você, eu acho que vai aparecer:

ipv4.dns:                               127.0.0.1

Agora vamos definir o DNS desejado:

nmcli connection modify myConnecion ipv4.dns "8.8.8.8, 8.8.4.4"

Depois de recarregar a conexão:

nmcli connection down myConnecion
nmcli connection up myConnecion

Em seguida, verifique /etc/resolv.conf :

cat /etc/resolv.conf

Se ainda disser que você está usando 127.0.0.1 como seu servidor DNS, há uma grande chance de você usar o "dnsmasq" para ter certeza de executar:

sudo ss -pln sport = 53

Você deve obter dnsmasq name como um processo escutando na porta 53, então tudo está bem e você está usando os servidores DNS corretos, 127.0.0.1 é apenas uma camada entre você e os servidores que você configurou.

Se você quiser ver "8.8.8.8" em /etc/resolv.conf , desative "dnsmasq".

Abra este arquivo:

/etc/NetworkManager/NetworkManager.conf

Altere dns=dnsmasq para #dns=dnsmasq .

Finalmente:

sudo systemctl restart NetworkManager

Agora, verifique /etc/resolv.conf novamente.

    
por Ravexina 04.06.2017 / 13:12