Calcule corretamente o DNS TTL do host -a output

1

Estou tentando descobrir como os TTLs são tratados no DNS (no final, estou tentando descobrir a maneira mais rápida de alternar um domínio), mas, de alguma forma, fico preso na interpretação dos valores de TTL.

Por exemplo, movi um domínio hoje que tinha os seguintes registros DNS antes de movê-lo para mim:

host -a example.com ns.old-provider.net

Trying "example.com"
Using domain server:
Name: ns.old-provider.net
Address: 0.0.0.0#53
Aliases: 

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45674
;; flags: qr aa rd; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 4

;; QUESTION SECTION:
;example.com.           IN  ANY

;; ANSWER SECTION:
example.com.        3600    IN  NS  ns9.old-provider.net.
example.com.        3600    IN  NS  ns.old-provider.net.
example.com.        180 IN  MX  10 mail.example.com.
example.com.        3600    IN  NS  ns8.old-provider.net.
example.com.        180 IN  A   0.0.0.0
example.com.        3600    IN  SOA ns.old-provider.net. info.old-provider.net. 2015012001 14400 3600 604800 3600

;; ADDITIONAL SECTION:
ns8.old-provider.net.   86400   IN  A   0.0.0.0
ns9.old-provider.net.   3600    IN  A   0.0.0.0
ns.old-provider.net.        86400   IN  A   0.0.0.0
mail.example.com.   180 IN  A   0.0.0.0

Received 258 bytes from 0.0.0.0#53 in 31 ms

Minha interpretação da saída acima é que este domínio deve ser resolvido para o meu servidor após um máximo de 3600 segundos (como estou mudando ambos, os registros NS e A).

Como movi o domínio acima, 3 horas depois de receber o ACK TRANSFER, ele ainda está resolvendo para o servidor DNS errado:

host -a example.com 8.8.8.8
[...]

;; ANSWER SECTION:
example.com.        179 IN  A   0.0.0.0
example.com.        3599    IN  NS  ns9.old-provider.net.
example.com.        3599    IN  NS  ns.old-provider.net.
example.com.        179 IN  MX  10 mail.example.com
example.com.        3599    IN  NS  ns8.old-provider.net.
example.com.        3599    IN  SOA ns.old-provider.net. info.old-provider.net. 2015012001 14400 3600 604800 3600

Como você pode ver, estou usando o servidor DNS do Google para verificar, por isso acho que pode ser salvo que o TTL seja respeitado.

Eu devo estar perdendo alguma coisa. Mas eu não consigo entender - alguém pode me dar uma dica aqui, por favor?

O problema é o TTL do registro SOA, então isso deve ser diminuído antes de fazer a troca?

EDITAR

dig + traço + adicional example.com @ 8.8.8.8

; <<>> DiG 9.8.1-P1 <<>> +trace +additional example.com @8.8.8.8
;; global options: +cmd
.           1024    IN  NS  c.root-servers.net.
.           1024    IN  NS  i.root-servers.net.
.           1024    IN  NS  j.root-servers.net.
.           1024    IN  NS  d.root-servers.net.
.           1024    IN  NS  f.root-servers.net.
.           1024    IN  NS  g.root-servers.net.
.           1024    IN  NS  k.root-servers.net.
.           1024    IN  NS  a.root-servers.net.
.           1024    IN  NS  h.root-servers.net.
.           1024    IN  NS  l.root-servers.net.
.           1024    IN  NS  b.root-servers.net.
.           1024    IN  NS  e.root-servers.net.
.           1024    IN  NS  m.root-servers.net.
;; Received 228 bytes from 8.8.8.8#53(8.8.8.8) in 30 ms

de.         172800  IN  NS  z.nic.de.
de.         172800  IN  NS  f.nic.de.
de.         172800  IN  NS  a.nic.de.
de.         172800  IN  NS  l.de.net.
de.         172800  IN  NS  s.de.net.
de.         172800  IN  NS  n.de.net.
a.nic.de.       172800  IN  A   194.0.0.53
a.nic.de.       172800  IN  AAAA    2001:678:2::53
f.nic.de.       172800  IN  A   81.91.164.5
f.nic.de.       172800  IN  AAAA    2a02:568:0:2::53
l.de.net.       172800  IN  A   77.67.63.105
l.de.net.       172800  IN  AAAA    2001:668:1f:11::105
n.de.net.       172800  IN  A   194.146.107.6
n.de.net.       172800  IN  AAAA    2001:67c:1011:1::53
s.de.net.       172800  IN  A   195.243.137.26
z.nic.de.       172800  IN  A   194.246.96.1
;; Received 343 bytes from 2001:500:2f::f#53(2001:500:2f::f) in 179 ms

example.com.        86400   IN  NS  ns9.old-provider.net.
example.com.        86400   IN  NS  ns8.old-provider.net.
example.com.        86400   IN  NS  ns.old-provider.net.
;; Received 93 bytes from 0.0.0.0#53(0.0.0.0) in 39 ms

example.com.        180 IN  A   0.0.0.0
;; Received 45 bytes from 0.0.0.0#53(0.0.0.0) in 29 ms
    
por s1lv3r 12.03.2015 / 14:28

1 resposta

2

Eu não posso responder com certeza porque você está usando um domínio ofuscado, mas quando você está alterando os registros apex NS , também é importante verificar o TTL dos registros NS de referência e os registros de cola correspondentes . É de se esperar que os servidores de nomes antigos continuem a ver as consultas por toda a duração. Este seria o problema mais provável para mim, dados os testes que você está executando.

Como pano de fundo, vou orientá-lo em direção a um Q & A existente que fiz por algum tempo. A resposta aceita links para RFC2181 (eu uso-o frequentemente desde que ele é projetado para consumo humano): Qual é o papel dos registros NS em o ápice de um domínio DNS?

Eu acredito que o que está acontecendo aqui é que seus registros de cola estavam sendo passivamente armazenados em cache. A razão pela qual isso não é óbvio em sua validação é que uma consulta explícita dos registros NS e A geralmente acionará uma pesquisa autoritativa se ainda não tiver sido feita uma. Basicamente, a cola é passivamente respeitada até tal ponto que o TTL expira, ou alguém solicita explicitamente o registro.

A maneira mais fácil de confirmar é executar isto: dig +trace +additional example.com

    
por 12.03.2015 / 15:22