CodeGym /Cursos /Docker SELF /Verificação de DNS: comandos `nslookup`, `dig`

Verificação de DNS: comandos `nslookup`, `dig`

Docker SELF
Nível 4 , Lição 2
Disponível

Verificação de DNS: comandos nslookup, dig

1. Introdução ao DNS

Imagina o seguinte: você quer acessar seu site favorito — por exemplo, google.com. Mas seu navegador não entende a palavra "google", ele precisa de endereços IP (tipo 142.250.74.206). A conversão do nome do domínio para um endereço IP é feita com a ajuda do DNS (Domain Name System). Se esse processo falhar, você verá uma mensagem do navegador: "Não foi possível localizar o servidor". Você, como futuro mestre de redes Linux, tem que saber como diagnosticar e resolver problemas relacionados ao DNS.

DNS é como uma lista telefônica da internet. Em vez de memorizar endereços IP complexos, podemos usar nomes mais fáceis que o sistema DNS converte. Aqui estão alguns conceitos principais:

  1. Registros DNS:

    • Registro A (Address Record): vincula um nome de domínio a um endereço IPv4.
    • Registro AAAA: vincula um nome de domínio a um endereço IPv6.
    • Registro CNAME (Canonical Name): aponta para um alias de domínio.
    • Registro MX (Mail Exchange): indica servidores de processamento de e-mails.
  2. Servidores DNS:

    • O usuário comum geralmente usa os servidores DNS do provedor.
    • Alternativas: servidores DNS públicos como Google (8.8.8.8), Cloudflare (1.1.1.1).
  3. Resolução de nomes:

    • Quando você digita um nome de domínio no navegador, ele envia uma solicitação para o servidor DNS para obter o endereço IP.

Com esse conhecimento na mão, você está pronto para explorar a mágica do DNS na prática usando os comandos nslookup e dig.


2. Comando nslookup

nslookup — é uma ferramenta que permite checar como DNS está funcionando. Está disponível na maioria das distribuições Linux e em outros sistemas operacionais.

Sintaxe principal:

nslookup [opções] [domínio ou endereço IP]

Exemplo simples:

Vamos verificar o endereço IP do site google.com:

nslookup google.com

Saída:

Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   google.com
Address: 142.250.74.206

Notas sobre a saída:

  • Server: Servidor DNS que processou a requisição.
  • Non-authoritative answer: isso significa que a informação foi obtida de um cache de outro servidor, e não diretamente do servidor DNS raiz.

Testando um servidor DNS específico

Se quiser usar um servidor DNS específico, você pode configurá-lo ao executar o comando:

nslookup google.com 8.8.8.8

Aqui especificamos explicitamente o servidor DNS do Google (8.8.8.8).

Prática: Encontrar o IP para um site de aprendizado

Tente executar o comando:

nslookup linux.org

Veja os resultados — estes são os endereços IP associados ao servidor do site.


3. Comando dig

dig (Domain Information Groper) — é uma ferramenta mais avançada para trabalhar com DNS. Ela fornece informações detalhadas sobre consultas e respostas de DNS.

Sintaxe básica:

dig [domínio] [opções]

Exemplo de consulta:

dig google.com

Saída (principais pontos):

;; Question section:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		300	IN	A	142.250.74.206

;; Query time: 35 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Oct 19 10:00:00 UTC 2023
;; MSG SIZE  rcvd: 68

Seções da saída:

  • ANSWER SECTION: Endereços IP associados ao domínio.
  • Query time: tempo de processamento da consulta.
  • SERVER: Servidor DNS que processou a consulta.

4. Registros DNS principais e como verificá-los

Registro A (IPv4)

dig linux.org A

O resultado vai mostrar os endereços IPv4 para o domínio.

Registro AAAA (IPv6)

dig linux.org AAAA

A saída vai conter os endereços IPv6. Útil se você está trabalhando com redes modernas.

Registro MX (servidores de e-mail)

dig linux.org MX

Usado para verificar quais servidores gerenciam a correspondência de e-mail para o domínio.


5. Prática avançada: dig vs nslookup

Agora você pode comparar os resultados dos dois comandos:

  1. Execute:

        nslookup linux.org
    
  2. Depois:

        dig linux.org
    

Note que o dig fornece mais detalhes. Por exemplo, você vê o tempo de execução da consulta, além das informações sobre o servidor que respondeu à consulta.


6. Testando o servidor DNS do Google

Objetivo:

  1. Usando nslookup, verifica se o servidor DNS público do Google está funcionando:

    nslookup github.com 8.8.8.8
    
  2. Agora faça o mesmo usando dig:

    dig @8.8.8.8 github.com
    
  3. Verifique se o site possui endereços IPv6:

    dig github.com AAAA
    

7. Erros típicos e características

Trabalhar com DNS quase sempre esbarra nos seguintes problemas:

  1. Configurações erradas do servidor DNS: Se o seu servidor DNS não estiver funcionando ou estiver configurado incorretamente, pode ser que você não receba uma resposta. Verifique a disponibilidade do servidor, especificando seu IP manualmente ao usar nslookup ou dig.
  2. DNS em cache: Às vezes, alterações no DNS podem levar algum tempo devido ao cache. Por exemplo, você pode ver informações desatualizadas se o registro DNS foi alterado recentemente.

  3. Servidor DNS indisponível: Se você vir um erro como connection timed out; no servers could be reached, isso pode significar que o servidor está indisponível ou bloqueado.

  4. Comandos alternativos: O nslookup nem sempre está disponível em instalações mínimas do Linux, enquanto o dig geralmente faz parte do conjunto padrão de ferramentas.

Aplicação prática: por que isso é importante?

  • Diagnóstico de problemas com DNS. Você vai conseguir entender rapidinho por que o navegador "não acha" o site.
  • Configuração de servidores. Quando você configura um servidor na nuvem, precisa verificar se os registros DNS estão configurados corretamente.
  • Segurança na internet. Saber trabalhar com registros DNS ajuda a analisar sites de phishing.
  • Em entrevistas de emprego. Saber os comandos dig e nslookup é uma daquelas perguntas padrão pra quem trabalha com Linux/DevOps.

Agora você está pronto com tudo que precisa para entender e diagnosticar DNS de forma mais profunda. Abre aí o terminal, experimenta os comandos, e nenhum "erro de DNS" vai te pegar de surpresa.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION