Como testar se as informações de DNS foram propagadas?

14

Eu configurei uma nova entrada de DNS para um dos meus subdomínios (ainda não configurei nenhum host virtual do Apache ou algo parecido). Como posso verificar se as informações do DNS se propagaram?

Assumi que poderia simplesmente ping my.subdomain.com e assumir que, se pudesse resolver, mostraria o endereço IP especificado no registro. No entanto, não sei se estou assumindo corretamente. Qual é a melhor maneira de verificar essas informações?

    
por Andrew 28.04.2012 / 02:59

5 respostas

15

Você pode usar dig ou nslookup, digamos que seu servidor de nomes (ou seu provedor, se você não executar o seu próprio) seja ns1.example.com.

Usando o nslookup:

nslookup - ns1.example.com

No tipo de prompt:

my.example.com

Se resolver o que você esperava, então funciona. Deve dar-lhe algo como:

Name:   example.com
Address: 192.0.43.10

Ainda pode demorar um pouco para se propagar para o resto da internet, isso está fora do seu controle.

Usando a escavação:

[email protected] my.example.com

Você deve ver algo como:

;; ANSWER SECTION:
example.com.        172800  IN  A   192.0.43.10

O simples uso do ping pode lhe dar uma idéia, mas somente quando ele é propagado (em cache por servidores de nomes remotos pode ser uma maneira melhor de descrevê-lo) e o cache de DNS local pode precisar ser liberado. Embora no seu caso isso não se aplique, porque este é um novo registro. Nesse caso, deve estar disponível imediatamente. O caminho acima é mais preciso ao dar uma ideia do que simplesmente fazer um ping.

Se você usa o Windows, os comandos e a sintaxe podem ser um pouco diferentes, mas são bem parecidos.

    
por 28.04.2012 / 03:22
7

Você não pode testar a propagação de registros DNS porque a propagação de DNS não ocorre. O que você pode testar é se um cliente ou servidor DNS tem um registro DNS específico armazenado em cache.

Como esse é um novo registro DNS, nenhum cache pode ter ocorrido. Supondo que seus servidores de nomes estejam corretamente registrados nos servidores-pai e que seus servidores de nomes estejam funcionando corretamente, esse registro DNS deve estar disponível imediatamente para todo e qualquer cliente ou servidor DNS.

    
por 28.04.2012 / 04:19
4

Enquanto as outras respostas são muito boas, lembre-se de que o que é propagado para você pode não ser propagado para mim. em vez de usar DIG ou NSlookup e passar uma hora checando os servidores DNS em todo o mundo, eu costumo usar o link para ver como a propagação está indo.

    
por 28.04.2012 / 04:09
2

A maneira mais fácil de garantir que seus servidores DNS autoritativos em seu caminho de delegação estejam respondendo corretamente é usar dig +trace :

; <<>> DiG 9.7.3 <<>> +trace www.google.com a
;; global options: +cmd
.           80050   IN  NS  m.root-servers.net.
.           80050   IN  NS  f.root-servers.net.
.           80050   IN  NS  i.root-servers.net.
.           80050   IN  NS  h.root-servers.net.
.           80050   IN  NS  c.root-servers.net.
.           80050   IN  NS  k.root-servers.net.
.           80050   IN  NS  d.root-servers.net.
.           80050   IN  NS  g.root-servers.net.
.           80050   IN  NS  a.root-servers.net.
.           80050   IN  NS  b.root-servers.net.
.           80050   IN  NS  e.root-servers.net.
.           80050   IN  NS  l.root-servers.net.
.           80050   IN  NS  j.root-servers.net.
;; Received 509 bytes from 192.168.1.1#53(192.168.1.1) in 0 ms

com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
;; Received 504 bytes from 198.41.0.4#53(a.root-servers.net) in 127 ms

google.com.     172800  IN  NS  ns2.google.com.
google.com.     172800  IN  NS  ns1.google.com.
google.com.     172800  IN  NS  ns3.google.com.
google.com.     172800  IN  NS  ns4.google.com.
;; Received 168 bytes from 192.43.172.30#53(i.gtld-servers.net) in 20 ms

www.google.com.     604800  IN  CNAME   www.l.google.com.
www.l.google.com.   300 IN  A   173.194.35.180
www.l.google.com.   300 IN  A   173.194.35.178
www.l.google.com.   300 IN  A   173.194.35.176
www.l.google.com.   300 IN  A   173.194.35.177
www.l.google.com.   300 IN  A   173.194.35.179
;; Received 132 bytes from 216.239.34.10#53(ns2.google.com) in 27 ms

Isso seguirá as delegações para os servidores de nomes com autoridade para sua consulta. A última resposta é normalmente aquela em que você está mais preocupado, mas o rastreamento é útil, pois mostrará quem está respondendo para cada delegação. Se você está mudando os servidores de nomes, isso pode ser muito útil.

Lembre-se de que o rastreamento consultará os servidores autoritativos diretamente, portanto, não haverá armazenamento em cache. Essa é a melhor indicação de que as respostas estão sendo retornadas conforme o esperado, mas não é uma boa indicação do que os usuários finais podem experimentar. Entretanto, como você nem sempre tem controle sobre os servidores de nomes de caching de outras pessoas (além de ter a previsão de diminuir o TTL, esperar o TTL original, fazer a alteração e restaurar o TTL), geralmente não vale a pena verificar após o fato.

    
por 30.04.2012 / 17:15
1

Experimente o check-host.net:

link

O site permite realizar consultas DNS por meio de vários servidores DNS públicos em paralelo. Super prático.

    
por 30.04.2012 / 17:20