Como faço para remover o servidor de nomes localhost do resolv.conf

10

Atualmente minhas /etc/resolv.confleituras:

nameserver 127.0.0.1  
nameserver 10.255.0.101  
nameserver 10.255.0.11  

e eu quero que ele leia:

search [my domain]  
nameserver 10.255.0.101  
nameserver 10.255.0.11  
nameserver 208.67.222.222  
nameserver 208.67.220.220  

Como ambos /etc/resolv.confe /etc/resolv.conf.d/headnão podem ser editados manualmente, como posso fazer essa alteração?

user217676
fonte
Veja askubuntu.com/a/208027/15811 para uma explicação sobre como usar isso.
Rinzwind

Respostas:

7

Primeiro, /etc/resolvconf/resolv.conf.d/head pode ser editado manualmente. O comentário no arquivo que diz DO NOT EDIT THIS FILE BY HANDnão se aplica a /etc/resolvconf/resolv.conf.d/headsi mesmo, mas /etc/resolv.confao qual o anterior é anexado.

Dito isto, porém, em circunstâncias normais, você não precisa editar /etc/resolvconf/resolv.conf.d/head.

Os arquivos /etc/resolvconf/resolv.conf.d/heade /etc/resolvconf/resolv.conf.d/tailsão fornecidos como uma maneira de forçar a cabeça e o rabo sobre o gerado, resolv.confcaso sejam necessários em circunstâncias excepcionais, mas se você estiver usando o resolvconf corretamente e em circunstâncias normais, não precisará fazer isso.

Você diz que o conteúdo do arquivo é

nameserver 127.0.0.1
nameserver 10.255.0.101
nameserver 10.255.0.11

A presença da linha nameserver 127.0.0.1sugere que você esteja executando um servidor de nomes de encaminhamento local, como dnsmasq. O arquivo acima não é o que o resolvconf normalmente gera nessas circunstâncias. Normalmente, gera um arquivo como o seguinte.

# 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
search foo.com

Meu palpite é que no seu sistema /etc/resolv.confnão é um link simbólico, ../run/resolvconf/resolv.confmas é um arquivo simples que pode ou não ser gerado por algo diferente de resolvconf. Se o arquivo for totalmente estático, basta editá-lo para que fique com a aparência que você deseja. Se o arquivo for gerado por outra ferramenta que não seja resolvconf, descubra qual ferramenta está gerando o arquivo e configure-a.

Como alternativa, restaure o link simbólico /etc/resolv.conf -> ../run/resolvconf/resolv.confe configure o resolvconf corretamente.

Como eu removo o localhost nameserver do resolv.conf?

As instruções a seguir se aplicam apenas ao caso em que você está usando o resolvconf para gerenciar /etc/resolv.conf, ou seja, /etc/resolv.confé um link simbólico para ../run/resolvconf/resolv.conf.

Se a linha nameserver 127.0.0.1estiver em um dos arquivos /etc/resolvconf/resolv.conf.d/, remova-a de lá.

Caso contrário, essa linha é proveniente de algum servidor de nomes em execução local. Desinstale o servidor de nomes ou configure-o para não registrar o endereço 127.0.0.1 no resolvconf. Em particular, se você estiver executando o BIND 9 chamado localmente, remova-o ou defina RESOLVCONF=no-o /etc/default/bind9.

Ref: https://bugs.launchpad.net/debian/+source/bind9/+bug/933723

jdthood
fonte
2

Tentar

sudo vi /run/resolvconf/interface/NetworkManager

Remova ou substitua o servidor de nomes 127.0.0.1 e use

sudo resolvconf -u.
Mitre Slavchev
fonte
1

Verifique sua configuração do NetworkManager:

sudo NetworkManager --print-config

se houver

dns=systemd-resolved

depois edite as configurações em

/run/resolvconf/interface/systemd-resolved

e atualizar

sudo resolvconf -u

No meu caso, houve também

/run/resolvconf/interface/tun0.openvpn

arquivo (criado pelo OpenVPN) que pode ser excluído com segurança para evitar interferências:

sudo rm /run/resolvconf/interface/tun0.openvpn
Valery Markov
fonte