Você provavelmente está misturando o clássico /etc/init.d/network
(que é traduzido para network.service
) com NetworkManager.service
. Enquanto espera-se que estes coexistam parcialmente, é muito melhor escolher apenas um deles e parar e desativar o outro.
De qualquer forma, é melhor não escrever /etc/resolv.conf
diretamente, mas sim configurar corretamente os arquivos /etc/sysconfig/network
e / ou /etc/sysconfig/network-scripts/ifup-*
.
Você deve ativar dhcp ou configurar manualmente os servidores de nomes em /etc/sysconfig
.
Exemplo (DHCP):
BOOTPROTO=dhcp
Exemplo (estático):
BOOTPROTO=none
DNS1=192.168.1.1
Se você realmente quiser definir /etc/resolv.conf
diretamente e quiser ter certeza de que o NetworkManager não irá sobrescrevê-lo, você pode configurá-lo em /etc/NetworkManager/NetworkManager.conf
.
[main]
dns=none
Quanto à sua pergunta adicional sobre o número de servidores de nomes, você nunca deve precisar de mais de um ou dois servidores de nomes em /etc/resolv.conf
. Você não deve esperar muito do comportamento do resolvedor libc, ele apenas tenta ordenar os servidores de nomes e você terá longos atrasos se tiver servidores de nomes extintos na lista.
Não sei seus motivos para usar mais de três servidores de nomes. Mas se houver, você definitivamente precisa configurar um servidor DNS de encaminhamento local como unbound ou dnsmasq e apontar /etc/resolv.conf
para 127.0.0.1
. Para uma melhor experiência com configuração dinâmica, você deve usar o NetworkManager neste caso.
O NetworkManager com dnsmasq tem sido suportado por muito tempo e é o padrão no Ubuntu e possivelmente em outras distribuições.
[main]
dns=dnsmasq
O NetworkManager com unbound está na qualidade alpha nas versões mais recentes do NetworkManager e atualmente também precisa do dnssec-trigger como o principal caso de uso é fornecer a validação DNSSEC no host local.
[main]
dns=unbound
Tanto os plugins dnsmasq quanto os não-plugados configuram /etc/resolv.conf
to nameserver 127.0.0.1
para você e cada um deles configura o respectivo servidor DNS local.