Arquivo /etc/resolv.conf deletado a cada reinicialização, por que ou o que?

5

Estou com um problema em que o DHCP (enquanto leio outros tópicos semelhantes) está limpando o arquivo /etc/resolv.conf em cada inicialização. Não sei como lidar com isso desde o post que eu encontrei ( 1 , 2 e alguns outros) são para distros baseados no Debian ou outros, mas não no Fedora.

Esta é a saída de ifcfg-enp0s31f6 , então, com certeza, é DHCP:

cat /etc/sysconfig/network-scripts/ifcfg-enp0s31f6 
HWADDR=C8:5B:76:1A:8E:55
TYPE=Ethernet
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s31f6
UUID=0af812a3-ac8e-32a0-887d-10884872d6c7
ONBOOT=yes
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
BOOTPROTO=dhcp
PEERDNS=yes
PEERROUTES=yes

No outro lado, não sei se o Network Manager está fazendo outra coisa em torno disso.

Update: Conteúdo do NetworkManager.conf (removi os comentários já que são inúteis)

$ cat /etc/NetworkManager/NetworkManager.conf 
[main]
#plugins=ifcfg-rh,ibft
dns=none

[logging]
#domains=ALL

Posso obter ajuda com isso? É anônimo configurar o arquivo uma vez e uma vez a cada reinicialização.

UPDATE 2

Após um mês, ainda estou tendo o mesmo problema em que o arquivo é excluído por "algo".

Aqui estão os passos que segui para fazer um novo teste:

  • Reinicie o PC
  • Após o PC ser reiniciado, abra um terminal e tente ping servidores do Google, é claro, sem sucesso:

    $ ping google.com
    ping: google.com: Name or service not known
    
  • Verifique se a configuração da rede parece estar tudo bem:

    $ cat /etc/sysconfig/network-scripts/ifcfg-enp0s31f6 
    NAME=enp0s31f6
    ONBOOT=yes
    HWADDR=C8:5B:76:1A:8E:55
    MACADDR=C8:5B:76:1A:8E:55
    UUID=0af812a3-ac8e-32a0-887d-10884872d6c7
    BOOTPROTO=static
    PEERDNS=no
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    DNS3=192.168.1.10
    NM_CONTROLLED=yes
    IPADDR=192.168.1.66
    NETMASK=255.255.255.0
    BROADCAST=192.168.1.255
    GATEWAY=192.168.1.1
    TYPE=Ethernet
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=no
    
  • Reinicie o network service:

    $ sudo service network restart
    [sudo] password for <current_user>: 
    Restarting network (via systemctl):                        [  OK  ]
    
  • Tente novamente ping servidores do Google, sem sucesso:

    $ ping google.com
    ping: google.com: Name or service not known
    
  • Verifique o arquivo /etc/resolv.conf :

    $ cat /etc/resolv.conf 
    cat: /etc/resolv.conf: No such file or directory
    
  • O arquivo não existe mais - e esse é o problema que está sendo excluído em cada reinicialização

  • Crie o arquivo e adicione o conteúdo do DNS:

    $ sudo nano /etc/resolv.conf 
    
  • Execute ping nos servidores do Google com sucesso:

    $ ping google.com
    PING google.com (216.58.192.110) 56(84) bytes of data.
    64 bytes from mia07s35-in-f110.1e100.net (216.58.192.110): icmp_seq=1 ttl=57 time=3.87 ms
    

Alguma idéia do que poderia estar acontecendo aqui?

    
por ReynierPM 15.11.2016 / 16:06

9 respostas

5

Na minha experiência, /etc/resolv.conf é regenerado na inicialização, portanto, qualquer alteração manual é restaurada.

Para contornar isso, você pode criar /etc/resolv.conf.head (ou .tail dependendo de qual extremidade do arquivo você deseja adicionar) e insira as configurações personalizadas que você quer lá (geralmente nameserver changes). Em seguida, o conteúdo desse arquivo é adicionado automaticamente quando /etc/resolv.conf é gerado pelo NetworkManager (ou qualquer serviço responsável pelo arquivo em seu sistema).

    
por 24.11.2016 / 11:00
2

Eu acho que você estava no caminho certo.

Está funcionando para mim agora, mas não fiz:

dns=none

no:

/etc/sysconfig/network-scripts/ifcfg-enp0s31f6

Depois que reiniciei o gerenciador de rede, ele criou automaticamente a resolução:

sudo service NetworkManager restart

Eu reiniciei e ainda funcionou.

    
por 26.05.2017 / 00:57
1

"Você tentou configurar seu arquivo resolv.conf para ter imutabilidade depois de colocar o conteúdo que você quer?".

Certifique-se de que isso impede que o /etc/dhcp/dhclient.conf faça seu trabalho e que seu DNS nunca seja resolvido de qualquer maneira. Na melhor das hipóteses, isso é frustrante e, na pior das hipóteses, congela as coisas à medida que seu computador tenta continuamente executar esse arquivo e estabelecer uma conexão. Eu acho que a chave está em editar "/etc/dhcp/dhclient.conf" ao invés de resolv.conf diretamente, já que esse é o arquivo que escreve no resolv.conf na reinicialização.

    
por 11.08.2018 / 18:00
0

Provavelmente, o NetworkManager está configurando resolve.conf . Se você não quiser isso, altere a configuração rc-manager no NetworkManager.conf. Veja man NetworkManager.conf .

    
por 22.11.2016 / 09:10
0

Para evitar que resolv.conf seja atualizado no momento da inicialização, faça as seguintes alterações:

Alterar PEERDNS=yes para PEERDNS=no

PEERDNS=no

This will prevent network service from updating /etc/resolv.conf with the DNS servers received from a DHCP server.

mencionado em @Ipor Sircer comentário

    
por 28.11.2016 / 10:02
0

Eu tive o mesmo problema. Ele foi instalado instalando o pacote resolvconf . Desde que eu estou no Debian eu não posso testar, mas pode ajudar esta dica :

  1. abra (ou crie) como sudo: /etc/dhcp/dhclient.conf

  2. adicione: prepend domain-name-servers 127.0.0.1;

por 10.02.2018 / 21:03
0

Primeiro, você precisa ter certeza de que resolvconf service está ativo.

sudo service resolvconf status   

Active: active (exited) since

Se o serviço active remove resolvconf :

sudo apt-get purge resolvconf

Em seguida, se depois de remover ou isso não estiver ativo ou serviço não encontrado:

sudo apt-get update
sudo apt-get install resolvconf

Em seguida, reinicie o serviço:

sudo service resolvconf restart

veja agora o /etc/resolv.conf :

cat /etc/resolv.conf 

Deve existir:

# 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 # 127.0.0.53 is the systemd-resolved stub resolver. # run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.1

    
por 23.11.2018 / 10:59
0

Eu tenho o mesmo problema quando instalo o Debian 9.5 com GUI hoje. Eu não tenho esse problema quando eu instalo sem GUI. Finalmente, encontrei a solução deste link link . O DHCP começou automaticamente, até eu configurei a rede manualmente quando eu estava instalando. Você deve desativar o DHCP para parar este problema.

echo 'make_resolv_conf() { :; }' > /etc/dhcp/dhclient-enter-hooks.d/leave_my_resolv_conf_alone
chmod 755 /etc/dhcp/dhclient-enter-hooks.d/leave_my_resolv_conf_alone

Se isso não resolver o seu problema, adicionei uma nova linha no arquivo do cliente DHCP.

vi /etc/dhcp/dhclient.conf

prepend domain-name-servers 127.0.0.1;

Em seguida, removo os pacotes resolvconf e gerenciador de rede.

apt-get --purge remove resolvconf network-manager

Finalmente, se você ainda tiver o problema, você deve configurar seu arquivo resolv.conf e, em seguida, bloquear esse arquivo pelo seguinte comando. (Não funciona se o seu resolv.conf é um link simbólico).

chattr +i /etc/resolv.conf
    
por 10.12.2018 / 17:18
-2

Já tentou configurar o seu arquivo resolv.conf para ter imutabilidade depois de colocar qualquer conteúdo que você queira?.

Você pode querer usar chattr +i /etc/resolv.conf ou com sudo.

Ao fazer isso, evitamos substituir.

A menos que seja excluído, pode dar uma ideia inicial.

    
por 10.02.2018 / 23:49