dns: diferença entre as consultas ANY e A para registro DNS alterado?

1

Alterei recentemente o endereço IP de um domínio específico, chame-o de example.com . Eu sei que leva tempo para a mudança de DNS se propagar, e ainda é cedo o suficiente para que a propagação não seja completa.

Percebi que a execução de uma consulta ANY fornece resultados diferentes da execução de uma consulta de registro A. Por exemplo ...

% host -t a example.com
example.com has address THE.OLD.IP.ADDRESS
% host -t any example.com
example.com has address THE.NEW.IP.ADDRESS

Sei que, eventualmente, o DNS será totalmente propagado e a consulta A-record retornará THE.NEW.IP.ADDRESS. Mas eu estou querendo saber se alguém poderia explicar por que uma consulta ANY retorna o novo endereço IP, enquanto a consulta A-record ainda retorna o endereço IP antigo, até que a propagação esteja completa.

Isso é importante para mim porque o software aplicativo que resolve os nomes de domínio parece fazer o equivalente à consulta A-record e não à consulta ANY. Portanto, esses aplicativos ainda resolvem o endereço IP até o valor antigo até que a propagação do DNS seja concluída .

Estou apenas à procura de uma explicação para o facto de QUALQUER resultado parecer se propagar mais rapidamente do que os resultados do A-record ... isto é para o meu próprio entendimento e edificação.

Muito obrigado.

    
por HippoMan 11.08.2017 / 17:16

3 respostas

1

Parece que a consulta de registro 'ANY' está sendo respondida pelo servidor DNS autoritativo que tem o novo IP enquanto a consulta de registro 'A' está sendo respondida por outros servidores DNS recursivos em que a nova propagação de endereço IP é ainda está pendente e, portanto, retorna o endereço IP antigo porque essa é a informação que ele tem em seu cache.

    
por 11.08.2017 / 17:38
0

A saída do dig ajuda em circunstâncias como essa, já que estamos perdendo outros detalhes, como o TTL associado a ambas as consultas.

Acho improvável que ANY esteja resultando em um comportamento diferente. Independentemente do tipo de consulta usado, os registros individuais no cache terão diferentes TTLs associados a eles, e não há diferença nas duas consultas que solicitarão que o servidor atualize seu valor em cache. Se alguma coisa, ANY normalmente resultará em respostas para tipos de registro específicos sendo omitidos se eles não estiverem atualmente no cache. (ou seja, expirado)

Mais do que provavelmente suas consultas estão sendo direcionadas a um cluster DNS de carga balanceada e algumas de suas consultas estão chegando em um servidor onde o TTL da resposta antiga expirou e outras estão chegando em servidores que ainda têm o registro no cache . Uma maneira fácil de verificar isso no futuro é prestar atenção ao TTL retornado pelo servidor remoto. Se não é de-incremento consistente em segundos com base no tempo do mundo real, você está vendo valores TTL provenientes de diferentes servidores.

    
por 11.08.2017 / 19:07
0
  1. Insira o nome verdadeiro, caso contrário, será impossível solucionar seu problema. E use dig não host para depuração. E sempre especifique explicitamente que servidor de nomes você consulta
  2. ANY não é um registro verdadeiro, apenas pede ao resolvedor para enviar de volta tudo o que tem em seu cache para o nome dado; Assim, é uma ferramenta de depuração muito pobre, pois o resultado dependerá completamente do resolvedor consultado; por alguma razão, algumas pessoas querem depreciar completamente
  3. Então, QUALQUER registro não "propaga"
  4. Na verdade, nenhum registro se propaga, pois o DNS não está de cima para baixo. É um termo usado em todos os lugares, mas isso reflete mal a realidade.
por 12.08.2017 / 01:32