terça-feira, 11 de outubro de 2011

[Dica]Problemas na rede, será DNS?

Quantas vezes somos confrontados com problemas estranhos que afectam a nossa ligação e nesse momento pretendemos saber logo qual o motivo? Um dos problemas mais comuns está associado ao serviço de DNS, sendo que para mim o DNS é o “coração” de uma rede. Em traços gerais, o serviço DNS é responsável por traduzir nomes em IP’s e vice-versa, isto é, quando escrevemos www.pplware.com, há uma consulta ao DNS para saber qual o IP correspondente.

Então e como podemos nós saber se estamos com problemas de DNS?

imagem_dns


Para este artigo, vamos considerar que estava tudo a funcionar correctamente, que temos o IP dos servidores de DNS bem configurados na nossa máquina, e que de um momento para o outro aconteceu um problema com o servidor de DNS.

O primeiro “sintoma” acontece normalmente quando abrimos um browser e é-nos apresentada a mensagem Server not found…can’t find the server at XXXXXXXX.

03-11-2009 17-43-54

Nesse momento podemos verificar se existe realmente um problema com o nosso servidor de nomes (DNS). Para analisar este tipo de problemas temos o comando nslookup, que é tipo canivete suíço avaliar para problemas deste tipo.

Para começar, vamos até à linha de comandos e escrevemos o comando nslookup.

C:\Users\ppinto>nslookup   Default Server:  dns.pplware.com Address:  192.168.20.254 >

Como resultado imediato podemos saber que o nosso servidor actual de DNS é o dns.pplware.com e que tem como IP o 192.168.20.254.

Em seguida podemos fazer uma queries (perguntas) ao nosso servidor de DNS para verificar que ele nos fornece resposta.

C:\Users\ppinto>nslookup Default Server:  dns.pplware.com Address:  192.168.20.254   > pplware.com   Non-authoritative answer: Name:    pplware.com Address:  213.13.145.9 Aliases:  pplware.com

Como podemos verificar pelo resultado, parece que está tudo ok, pois o servidor consegue resolver bem o nome pplware.com para o seu IP correspondente: 213.13.145.9

No caso de escrevermos algo que o nosso servidor de DNS não reconheça, recebemos a seguinte mensagem: can’t find www.aaa.bb: Non-existent domain (exemplo para www.aaa.bb)

O comando nslookup tem muitas mais opções. Para ver outras opções apenas tem de escrever “?” ou “help”

03-11-2009 18-16-25

Diversas opções podem ser definidas no nslookup.exe ao executar o comando set no prompt de comando. Uma listagem completa dessas opções é obtida ao digitar set all.

Outro exemplo

Para consultar registos para servidores de mail, introduzimos a seguinte sequência de comandos (vamos saber informações do servidor de mail da google):

nslookup

set q=mx

gmail.com

03-11-2009 18-25-56

O comando nslookup é muito simples de usar e dá bastante jeito numa primeira instância para análise de problemas a nível de servidor de nomes (DNS). Pelas opções disponibilizadas podemos “questionar” um servidor de DNS nos diversos registos que este possui (este é um tema para abordar em outro artigo).

Podemos inclusive assumir outro servidor de DNS através do comando server

Para quem não gosta da linha de comandos, deixamos aqui um serviço online: http://www.dnsquery.org/

Sem comentários:

Enviar um comentário