resolv.conf dinâmico para GNU/Linux

O antigo e conhecido arquivo '/etc/resolv.conf', não é mais utilizado para editar a lista de Servidores DNS.

Para substituí-lo foram implementadas alterações nos pacotes NetworkManager e DHCP Client, para facilitar a utilização do GNU/Linux por usuários leigos, os quais em conjunto carregam as configurações dinâmicas da rede de conexão, quer seja Ethernet ou PPPoE.

No lugar do arquivo /etc/resolv.conf agora está o diretório /etc/resolvconf/, onde encontramos os arquivos responsáveis pelo gerenciamento de DNS resolv.conf.d/head e resolv.conf.d/base, dentre outros. Os quais não podem e não devem ser alterados manualmente, como era feito com o antigo resolv.conf.


Edite o arquivo '/etc/resolvconf/resolv.conf.d/head', e acrescente os Servidores DNS desejados:
sudo vim /etc/resolvconf/resolv.conf.d/head
domain incolume.com.br
search incolume.com.br
nameserver 10.1.2.4
nameserver 10.1.2.5
nameserver 8.8.8.8


Teste de configuração:
$nslookup
> server
Default server: 10.1.2.4
Address: 10.1.2.4#53
Default server: 10.1.2.5
Address: 10.1.2.5#53
Default server: 8.8.8.8
Address: 8.8.8.8#53



Impedir que a lista de DNS seja alterada dinâmicamente:
Red-Hat Like:
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
[..]
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
PEERDNS=no
[..]



Nesse exemplo, os parâmetros significam:
DEVICE: é o nome da interface de rede.
BOOTPROTO: dhcp, para que o servidor receba o IP do provedor dinamicamente.
ONBOOT: quando configurado como yes, a interface de rede é ativada no boot do servidor.
PEERDNS: quando configurado como no, o arquivo /etc/resolv.conf não é modificado pelo provedor, fazendo com que a configuração realizada não seja sobrescrita.

Comentários