Qual é o comportamento correto quando a mudança de Nameservers

3 respostas

11

Parece que você está vendo um problema conhecido como resolvedores fixos filhos .

Para cada nome de domínio, há dois conjuntos possíveis de NS records - os da zona pai e os da própria zona.

Alguns resolvedores recursivos armazenam em cache o conjunto aprendido do filho e, em seguida, voltam repetidamente para esses servidores para todas as atualizações subsequentes. Esse é o comportamento filho-da-criança . Se os registros da zona pai forem alterados, mas os registros da zona filha (originais) forem deixados inalterados, esses resolvedores child sticky não perceberão a alteração na zona pai.

Muitas implementações (se não a maioria) serão revertidas para os registros NS pai para garantir que eles não tenham sido alterados sempre que o conjunto atual de registros NS expirar do cache. Isso é considerado "comportamento normal", mas não é especificado de forma não ambígua nos RFCs.

Para contornar esse comportamento filho-árvore , você deve substituir os registros NS em seus servidores antigos pelos registros corretos que mostram os nomes dos novos servidores.

Para mais detalhes, consulte os slides 8 a 15 de esta apresentação de Ólafur Guðmundsson, presidente do grupo de trabalho DNSEXT do IETF .

    
por 18.10.2011 / 14:04
2

Are they following some technically correct but ignored RFC that says they don't need to check new nameservers until the old ones return an error?

Como saberíamos?

AFAIK não existe - e eles devem atualizar os registros a cada vez que receberem uma solicitação de um registro em cache com um TTL expirado.

    
por 18.10.2011 / 12:36
1

Bem, eu vi em registros ns.webfusion.co.uk para seus dados de domínio nele. Infelizmente, você não matou zonas em NSs antigos, mas isso não desculpa o comportamento da Vodafone. Eu explicarei isso agora. Bem, vamos supor que os resolvedores da Vodafone há algum tempo armazenaram os dois registros: A para www e NS para o domínio. Mas eu vejo

Quering 212.67.202.1 for {cookingisfun.ie.,NS}
; Answer ID: 18467  QR: true  OPCODE: QUERY  AA: true  TC: false  RD: true
; RA: false  RCODE: NOERROR  qc 1  an 2  au 0  ad 2

; Question section:
;cookingisfun.ie. IN NS

; Answer section:
cookingisfun.ie. 1d IN NS ns2.hosteurope.com. 
cookingisfun.ie. 1d IN NS ns.hosteurope.com. 

; Authority section:
;(none)

; Additional section:
ns2.hosteurope.com. 2h IN A 92.51.159.40 
ns.hosteurope.com. 2h IN A 212.67.202.2

i.e. Os registros NS devem expirar e serem removidos do cache após um dia de recebimento

Quering 212.67.202.1 for {www.cookingisfun.ie.,A}
; Answer ID: 18467  QR: true  OPCODE: QUERY  AA: true  TC: false  RD: true
; RA: false  RCODE: NOERROR  qc 1  an 1  au 0  ad 0

; Question section:
;www.cookingisfun.ie. IN A

; Answer section:
www.cookingisfun.ie. 1d IN A 212.67.220.186 

; Authority section:
;(none)

; Additional section:
;(none)

; Query took: 94 msec
; Server queried: 212.67.202.1[udp]

mesmo intervalo de 1 dia aplicado a A para www.cookingisfun.ie

Ou seja, após um dia de atraso, a Vodafone deve voltar a perguntar sobre A, e algum recursor no caminho retornará novos NS e novos NSs - novo A.

Como sabemos que isso está não acontecendo, vejo isso como uma string strong de RFC-ignoration (armazenando dados desatualizados no cache - veja minha resposta em seu anterior questão). Toby, eu acho, você pode mostrar meus pedidos acima para a Vodafone e perguntar "WTF" Por que você usa dados desatualizados? Você não deve perguntar 212.67.202.2 sobre nada relacionado com cookingisfun.ie há muito tempo. Fixit o mais rápido possível "

    
por 18.10.2011 / 13:33