1404 Views
Tempo de leitura: 3 MinutosProblemas de DNS são chatos e podem ocorrer localmente, no seu provedor de Internet ou na rede do host a ser resolvido. Por isso, diagnosticar onde isso ocorre é fundamental, principalmente se você trabalha com isso.
Hoje vou falar do comando nslookup, um comando presente tanto em Linux quanto em Windows.
O que é nslookup:
O nslookup é um comando para pesquisas de entradas de DNS em hosts. Com ele podemos rapidamente diagnosticar alguns problemas relacionados a DNS, como registros de entradas de DNS, processo de propagação, entre outros.
A seguir veremos como utilizá-lo. Não é difícil.
Syntax do nslookup:
Para todo tipo de entrada de DNS, sua syntax é a mesma. Veremos um exemplo a seguir onde utilizaremos a entrada fictícia XPTO. Vejamos:
nslookup -q=XPTO host
Na prática, quando rodamos esse comando, usamos o `nslookup` para perguntar (-q significa query) para o DNS da nossa conexão de Internet:
“DNS, qual é o valor de XPTO desse host?”
Também podemos fazer a mesma pergunta para um outro DNS, ou seja, um DNS que não seja o da conexão de Internet. Para isso, acrescentamos esse servidor DNS ao comando anterior:
nslookup -q=XPTO host servidor-dns
A mesma pergunta, nesse caso, é feita para esse outro servidor DNS: “Qual é o valor de XPTO desse host?“
O XPTO aqui é só um exemplo. Devemos substituí-lo pelo tipo de entrada que queremos consultar.
As possíveis entradas de um DNS:
A entrada “A” é o registro principal de uma Zona de DNS. Ela é atribuída à um endereço IP. | ||
Executa a mesma função de A, porém, para um endereço IPv6. | ||
Name Server (Servidor de Domínio), especifica servidores DNS para o domínio ou subdomínio. Pelo menos, dois registros NS devem ser definidos para cada domínio, sendo um principal e outro secundário. | ||
Significa Canonical NAME. Especifica um apelido (alias) para o hostname (A). É uma forma de redirecionamento. | ||
Sigla para Mail eXchanger. Aponta o servidor de e-mails. Pode-se especificar mais de um endereço, formando-se assim uma lista em ordem de prioridade para que haja alternativas no caso de algum e-mail não puder ser entregue. | ||
PoinTeR, aponta o domínio reverso a partir de um endereço IP. | ||
Start Of Authority. Indica o responsável por respostas autoritárias a um domínio, ou seja, o responsável pelo domínio. Também indica outras informações úteis como número serial da zona, replicação, etc. | ||
Refere-se a TeXT, o qual permite incluir um texto curto em um hostname. Técnica usada para implementar o SPF. | ||
Sender Policy Framework, é uma tentativa de controle de falsos e-mails. Permite ao administrador de um domínio definir os endereços das máquinas autorizadas a enviar mensagens neste domínio. | ||
Abreviação de SeRVice, permite definir localização de serviços disponíveis em um domínio, inclusive seus protocolos e portas. |
Exemplo de pesquisa entrada do tipo A:
Vamos a um exemplo prático de pesquisa por uma entrada do tipo A:
[wil@theodora] [~] nslookup -q=a blogporta80.com.br Server: 192.168.0.100 Address: 192.168.0.100#53 Non-authoritative answer: Name: blogporta80.com.br Address: 186.202.153.58
Nesse caso, fiz uma query no DNS da minha conexão. A ele perguntei “qual é o valor da entrada A do host blogporta80.com.br?”.
Vejamos a resposta por partes.
Primeiro trecho:
Server: 192.168.0.100 Address: 192.168.0.100#53
Aqui meu DNS 192.168.0.100 foi quem respondeu a minha pergunta. A linha “Address” novamente mostra meu DNS e a porta consultada (53).
Agora, o segundo trecho:
Non-authoritative answer: Name: blogporta80.com.br Address: 186.202.153.58
A informação “Non-authoritative answer:” é exibida por quê meu DNS não é autoridade sobre o host “blogporta80.com.br”. Ou seja, meu DNS não é o responsável pelo host.
“Name“, no caso, é o próprio host consultado e é em “Address” que está o valor do tipo A que queríamos saber.
Portanto, a resposta para minha pergunta é: 186.202.153.58. Esse é o valor da entrada A do host blogporta80.com.br.
Troubleshooting com nslookup
Podemos usar o nslookup para diagnosticar alguns problemas. Por exemplo:
• Determinado domínio não consegue me enviar e-mails: O problema aqui pode ser entradas TXT e PTR mal configuradas. Alguns provedores simplesmente descartam algumas mensagens sem esses registros;
• Determinado domínio não recebe meus e-mails: Seu registro MX ou o registro MX de outro domínio (ou ambos, né) pode estar mal configurado;
• Eu acesso um site que meu amigo não consegue acessar: O DNS desse domínio pode estar sendo propagado.
Resumo
Existem dezenas de possíveis problemas que podem ser diagnosticado com nslookup. Como disse inicialmente; saber utilizá-lo é fundamental.