Pesquisa de site

Como definir servidores de nomes DNS permanentes no Ubuntu e Debian


O /etc/resolv.conf é o arquivo de configuração principal da biblioteca de resolução de nomes DNS. O resolvedor é um conjunto de funções na biblioteca C que fornece acesso ao Sistema de Nomes de Domínio da Internet (DNS). As funções são configuradas para verificar entradas no arquivo /etc/hosts, ou em vários servidores de nomes DNS, ou para usar o banco de dados do host do Network Information Service (NIS ).

Em sistemas Linux modernos que usam systemd (gerenciador de sistema e serviços), os serviços de DNS ou de resolução de nomes são fornecidos para aplicativos locais por meio do serviço resolvido pelo systemd. Por padrão, este serviço possui quatro modos diferentes para lidar com a resolução de nomes de domínio e usa o arquivo stub DNS do systemd (/run/systemd/resolve/stub-resolv.conf) no modo de operação padrão.

O arquivo stub DNS contém o stub 127.0.0.53 local como o único servidor DNS e é redirecionado para o arquivo /etc/resolv.conf que foi usado para adicionar o servidores de nomes usados pelo sistema.

Se você executar o seguinte comando ls no /etc/resolv.conf, verá que este arquivo é um link simbólico para o /run/systemd/resolve/stub-resolv.conf< arquivo.

ls -l /etc/resolv.conf

lrwxrwxrwx 1 root root 39 Feb 15  2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Infelizmente, porque o /etc/resolv.conf é gerenciado indiretamente pelo serviço resolvido pelo systemd e, em alguns casos, pelo serviço de rede (usando initscripts< ou NetworkManager), quaisquer alterações feitas manualmente por um usuário não podem ser salvas permanentemente ou durar apenas um tempo.

Neste artigo, mostraremos como instalar e usar o programa resolvconf para definir servidores de nomes DNS permanentes no arquivo /etc/resolv.conf no Debian. distribuições Linux fortes> e Ubuntu.

Por que você deseja editar o arquivo /etc/resolv.conf?

O principal motivo pode ser porque as configurações de DNS do sistema estão mal configuradas ou você prefere usar servidores de nomes específicos ou os seus próprios. O comando cat a seguir mostra o servidor de nomes padrão no arquivo /etc/resolv.conf em meu sistema Ubuntu.

cat /etc/resolv.conf

Nesse caso, quando aplicativos locais, como o gerenciador de pacotes APT, tentam acessar FQDNs (Nomes de Domínio Totalmente Qualificados) na rede local, o resultado é um “ Falha temporária na resolução de nomes ”erro conforme mostrado na próxima captura de tela.

O mesmo acontece quando você executa um comando ping.

ping google.com

Portanto, quando um usuário tenta definir manualmente os servidores de nomes, as alterações não duram muito ou são revogadas após uma reinicialização. Para resolver isso, você pode instalar e usar o utilitário reolvconf para tornar as alterações permanentes.

Para instalar o pacote resolvconf conforme mostrado na próxima seção, você precisa primeiro definir manualmente os seguintes servidores de nomes no arquivo /etc/resolv.conf, para poder acessar os FQDMs dos servidores de repositório Ubuntu na internet.

nameserver 8.8.4.4
nameserver 8.8.8.8

Leia também: Como configurar o DNS local usando o arquivo /etc/hosts no Linux

Instalando resolvconf no Ubuntu e Debian

Primeiro, atualize os pacotes de software do sistema e depois instale o resolvconf dos repositórios oficiais executando os seguintes comandos.

sudo apt update
sudo apt install resolvconf

Assim que a instalação do resolvconf for concluída, o systemd acionará o resolvconf.service para ser iniciado e ativado automaticamente. Para verificar se ele está funcionando, emita o seguinte comando.

sudo systemctl status resolvconf.service

Se o serviço não for iniciado e habilitado automaticamente por algum motivo, você poderá iniciá-lo e habilitá-lo da seguinte maneira.

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service

Defina servidores de nomes DNS permanentes no Ubuntu e Debian

Em seguida, abra o arquivo de configuração /etc/resolvconf/resolv.conf.d/head.

sudo nano /etc/resolvconf/resolv.conf.d/head

e adicione as seguintes linhas nele:

nameserver 8.8.8.8 
nameserver 8.8.4.4

Salve as alterações e reinicie resolvconf.service e systemd-resolved ou reinicie o sistema.

sudo systemctl restart resolvconf.service
sudo systemctl restart systemd-resolved.service

Agora, quando você verificar o arquivo /etc/resolv.conf, as entradas do servidor de nomes deverão ser armazenadas lá permanentemente. Doravante, você não enfrentará nenhum problema relacionado à resolução de nomes em seu sistema.

Espero que este artigo rápido tenha ajudado você a configurar os servidores de nomes DNS permanentes em seus sistemas Ubuntu e Debian. Se você tiver alguma dúvida ou sugestão, compartilhe-as conosco na seção de comentários abaixo.