Configuração e Solução de Problemas de DNS
Entenda como os servidores Linux resolvem nomes de host em endereços IP: configure resolvedores, edite /etc/hosts e use dig, nslookup e host para diagnosticar problemas de DNS que interrompem a conectividade mesmo quando a rede está funcionando.
Configuração e Solução de Problemas de DNS é uma aula grátis de Linux Server Deployment & SSH Mastery no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Linux Server Deployment & SSH Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.
Por que o DNS é importante em um servidor
Seu servidor pode ter configurações de rede e firewall perfeitas e ainda assim não conseguir acessar o mundo externo se não puder resolver nomes. O DNS traduz nomes de host fáceis de reconhecer, como example.com, em endereços IP.
Saber como funciona a resolução — e como depurá-la — é uma habilidade de rede essencial.
O caminho da resolução
Quando um programa precisa do IP de um nome, o Linux verifica as fontes na seguinte ordem, normalmente:
- O arquivo local
/etc/hosts - Servidores DNS configurados (resolvedores)
A ordem é definida por /etc/nsswitch.conf na linha hosts:.
grep hosts /etc/nsswitch.conf
# hosts: files dnsO arquivo /etc/hosts
/etc/hosts associa nomes a IPs localmente, ignorando o DNS. Ele é perfeito para testes, nomes de host internos ou para fixar um domínio em um IP específico.
Cada linha contém um IP seguido por um ou mais nomes.
127.0.0.1 localhost
192.168.1.50 db.internal dbOnde os resolvedores são configurados
O arquivo clássico é /etc/resolv.conf, que lista os servidores de nomes. Em sistemas modernos, ele geralmente é gerenciado pelo systemd-resolved ou pelo NetworkManager, portanto editá-lo diretamente pode não funcionar de forma permanente.
Verifique o que está realmente em uso antes de alterar qualquer coisa.
cat /etc/resolv.conf
resolvectl statusConfigurando um servidor DNS
Em um sistema com systemd-resolved, configure o DNS por interface, em vez de editar resolv.conf. Em servidores baseados no Netplan, defina-o na configuração YAML.
Este exemplo define resolvedores públicos para uma interface.
sudo resolvectl dns eth0 1.1.1.1 8.8.8.8
resolvectl dns eth0Consultando registros com dig
dig é a ferramenta de consulta DNS mais poderosa. Ela mostra a resposta e os metadados da consulta.
A opção +short reduz a saída para mostrar apenas a resposta — ideal para scripts.
dig example.com
dig +short example.comConsultando tipos específicos de registro
O DNS armazena muitos tipos de registro. Especifique um tipo para inspecionar e-mails, servidores de nomes ou aliases.
A— endereço IPv4AAAA— endereço IPv6MX— servidores de e-mailNS— servidores de nomesCNAME— alias
dig example.com MX +short
dig example.com NS +shortnslookup e host
nslookup e host são alternativas mais simples ao dig. São úteis para verificações rápidas e para uma consulta reversa (de IP para nome).
As consultas reversas consultam o registro PTR de um endereço.
host example.com
nslookup example.com
dig -x 8.8.8.8 +shortConsultando um servidor específico
Para testar se um resolvedor é o problema, direcione uma consulta a um servidor específico usando a sintaxe @. Se um resolvedor público funcionar, mas o seu não, o problema está na sua configuração de DNS.
dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +shortUm fluxo de trabalho para solucionar problemas
Quando um nome não for resolvido, examine as camadas:
- Você consegue executar ping diretamente em um IP? (elimina a rede como causa)
dig @1.1.1.1 namefunciona? (elimina o próprio nome como causa)dig namefunciona com seu resolvedor padrão? (isola a configuração do resolvedor)- Há uma entrada antiga em
/etc/hostssubstituindo o resultado?
ping -c1 1.1.1.1
dig @1.1.1.1 example.com +short
dig example.com +shortBoas práticas
Mantenha a resolução de nomes confiável:
- Use pelo menos dois resolvedores para redundância
- Não edite
resolv.confmanualmente se ele for gerenciado automaticamente - Use
/etc/hostspara testes, mas remova entradas antigas - Prefira
dig +shortem scripts para obter uma saída limpa
Verificação rápida
Teste seus conhecimentos sobre solução de problemas de DNS.
Recapitulação
Agora você pode configurar e depurar o DNS em um servidor:
- Ordem de resolução por meio de
/etc/nsswitch.confe/etc/hosts - Resolvedores em
resolv.conf/systemd-resolved - Consultas com
dig,hostenslookup, incluindo tipos e servidores de registro específicos - Um fluxo de trabalho em camadas para solucionar problemas
Isso complementa suas habilidades de rede e firewall com a camada de resolução de nomes.
Perguntas Frequentes
A aula “Configuração e Solução de Problemas de DNS” é grátis?
Sim — o texto completo de “Configuração e Solução de Problemas de DNS” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Linux Server Deployment & SSH Mastery, atualize para CoddyKit PRO. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.
O que vou aprender em “Configuração e Solução de Problemas de DNS”?
Entenda como os servidores Linux resolvem nomes de host em endereços IP: configure resolvedores, edite /etc/hosts e use dig, nslookup e host para diagnosticar problemas de DNS que interrompem a conec… Você pratica Linux Server Deployment & SSH Mastery com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Linux Server Deployment & SSH Mastery?
Nenhuma experiência prévia é necessária. Linux Server Deployment & SSH Mastery no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Configuração e Solução de Problemas de DNS”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Linux Server Deployment & SSH Mastery?
Sim. Cada aula de Linux Server Deployment & SSH Mastery inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Configuração Básica de Rede
- Compreendendo Firewalls (UFW/firewalld)
- Gerenciamento e Segurança de Portas
- Configuração e Solução de Problemas de DNS