Como eu removo o nameserver localhost do resolv.conf

7

Atualmente, meu /etc/resolv.conf lê:

nameserver 127.0.0.1  
nameserver 10.255.0.101  
nameserver 10.255.0.11  

e quero que, em vez disso, 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 /etc/resolv.conf e /etc/resolv.conf.d/head não podem ser editados manualmente, como posso fazer essa alteração?

    
por user217676 25.11.2013 / 16:10

3 respostas

5

Primeiro, /etc/resolvconf/resolv.conf.d/head pode ser editado manualmente. O comentário no arquivo que diz que DO NOT EDIT THIS FILE BY HAND não se aplica a /etc/resolvconf/resolv.conf.d/head em si, mas a /etc/resolv.conf , ao qual o primeiro é prefixado.

No entanto, em circunstâncias normais, você não deve editar /etc/resolvconf/resolv.conf.d/head .

Os arquivos /etc/resolvconf/resolv.conf.d/head e /etc/resolvconf/resolv.conf.d/tail são fornecidos como uma maneira de forçar a cabeça e a cauda no resolv.conf gerado, se necessário, em circunstâncias excepcionais, mas se você estiver usando o resolvconf corretamente e em circunstâncias normais, não precisa 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.1 sugere 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.conf não é um link simbólico para ../run/resolvconf/resolv.conf , mas é um arquivo simples que pode ou não ser gerado por algo diferente de resolvconf. Se o arquivo estiver completamente estático, basta editá-lo para que fique do jeito que você deseja. Se o arquivo for gerado por alguma ferramenta diferente do resolvconf, descubra qual ferramenta está gerando o arquivo e configure essa ferramenta.

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

  

Como faço para remover o nameserver localhost do resolv.conf?

As instruções a seguir aplicam-se 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.1 estiver em um dos arquivos em /etc/resolvconf/resolv.conf.d/ , remova-a de lá.

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

Ref: link

    
por jdthood 26.11.2013 / 11:54
0

Tente

sudo vi /run/resolvconf/interface/NetworkManager

Remova ou substitua o servidor de nomes 127.0.0.1 e use

sudo resolvconf -u.
    
por Mitre Slavchev 15.07.2017 / 09:13
0

Verifique sua configuração do NetworkManager:

sudo NetworkManager --print-config

se houver

dns=systemd-resolved

edite as configurações em

/run/resolvconf/interface/systemd-resolved

e atualizar

sudo resolvconf -u

No meu caso, também havia

/run/resolvconf/interface/tun0.openvpn
Arquivo

(criado pelo OpenVPN), que pode ser deletado com segurança para evitar interferências:

sudo rm /run/resolvconf/interface/tun0.openvpn
    
por Valery Markov 23.05.2018 / 13:40