Preservação alterada no resolv.conf através de reinicializações com o resolvconf

5

Qual é a melhor maneira de editar o arquivo resolv.conf ?

Eu não estava familiarizado com a configuração de proxies até que uma tarefa para configurar um servidor aparecesse. Eu editei manualmente o meu arquivo /etc/resolv.conf e incluí a seguinte entrada:

nameserver 192.168.115.147,192.178.116.168

Qualquer tentativa de download foi recebida com erros. Depois de muita pesquisa, me deparei com um post que me levou a reformatar o arquivo - diretamente da seguinte forma:

nameserver 192.168.115.147
nameserver 192.178.116.168

Isso funcionou e os downloads de arquivos não foram mais interrompidos por erros.

No entanto, quando tive que reinicializar o servidor, o arquivo retornou ao formato de linha única, o que novamente interrompeu meus downloads. Foi quando notei o DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN no topo do resolv.conf .

Então, como o resolv.conf deve ser editado para que as alterações persistam durante a reinicialização do servidor?

    
por sisko 18.09.2015 / 17:19

3 respostas

3

Você usa entradas em /etc/resolvconf/resolv.conf.d/ denominado head , base ou tail (dependendo de onde em resolv.conf você deseja que suas entradas sejam fornecidas). De man resolvconf :

The dynamically generated resolver  configuration  file always  starts
with  the  contents of /etc/resolvconf/resolv.conf.d/head and ends with
the contents of /etc/resolvconf/resolv.conf.d/tail.  Between  head  and
tail  the  libc script inserts dynamic nameserver information compiled
from, first, information provided for  configured  interfaces;  second,
static  information  from /etc/resolvconf/resolv.conf.d/base.

Basta colocar suas entradas em base e executar resolvconf -u .

    
por 18.09.2015 / 17:55
2

Resposta curta

Acho que a maneira mais confiável de fazer isso é definir seu resolv.conf como imutável. Depois de configurá-lo como quiser, basta executar

sudo chattr +i /etc/resolv.conf

Para editá-lo novamente, você precisa remover o sinalizador imutável:

sudo chattr -i /etc/resolv.conf

Resposta alternativa

O aplicativo que coloca essa mensagem em /etc/resolv.conf é chamado de resolvconf . Você pode remover seu pacote resolvconf (suponho debian ou ubuntu aqui, mas acho que resolvconf é uma coisa debian):

sudo apt-get remove resolvconf

Eu o removi em meus computadores porque descobri que é mais provável que eu consiga me conectar com as configurações de /etc/resolv.conf em situações estranhas (especificamente em hotel ou aeroporto) quando não tenho o pacote resolvconf instalado. resolvconf também faz outras coisas, como cache de DNS, e provavelmente algumas outras coisas que sinto que posso viver sem. Você pode verificar tudo o que faz antes de removê-lo.

Notas importantes

A remoção de resolvconf não garante que seu /etc/resolv.conf permaneça inalterado. Outros programas, como dhclient , farão edições em /etc/resolv.conf . Se você executar um gerenciador de rede, isso também poderá editar /etc/resolv.conf . Eu não tenho muita experiência com gerentes de rede.

A solução chattr deve impedir que esses outros programas façam edições e provavelmente é a correta para a sua situação de servidor. Se você estiver usando em um laptop, poderão surgir situações em que alterações importantes no seu /etc/resolv.conf serão bloqueadas. Um exemplo seria ao acessar o wifi do hotel, onde uma modificação no seu /etc/resolv.conf é necessária para o acesso a um determinado URL localmente hospedado antes de obter acesso à Internet adequada). Se você puder lembrar nessas situações para chattr -i /etc/resolv.conf e se reconectar ao wifi, então isso não será um problema.

    
por 18.09.2015 / 18:07
0

A menos que você esteja usando o gerenciador de rede que vem com o seu servidor de janelas, o método simples e adequado para definir um servidor de nomes DNS persistente está no seu arquivo de configuração de rede:

Para o Debian (Ubuntu, Mint, Arch) edite / etc / network / interfaces:

auto eth0
iface eth0 inet dhcp

dns_nameserver 8.8.8.8

Eu acredito no Red Hat, Fedora, CentOS, etc. As mudanças no resolve.conf são persistentes após a reinicialização.

    
por 19.09.2015 / 03:59