Um cliente DNS pode distinguir se a resposta recebida foi baseada em um registro curinga ou em uma correspondência específica?

5

Eu tinha um registro de * em uma de nossas zonas e mudei. Mas quando eu questionei certos nomes aleatórios nessa zona de servidores DNS públicos, ainda recebi o endereço IP antigo.

Isso não faz sentido para mim. O servidor que eu consultei não sabia o endereço IP correto para o nome, a menos que eles soubessem que havia um registro curinga. Caso contrário, eles teriam que perguntar aos nossos servidores de nomes.

Quando eu consultar nossos próprios servidores de nomes para o mesmo nome, eles retornarão o novo endereço IP.

Então, o que está acontecendo?

    
por Der Hochstapler 05.06.2015 / 23:46

2 respostas

7

Eu dei uma olhada rápida para ver se todos os servidores de nomes oficiais sincronizaram.

$ dig +nssearch fm.mg
SOA ns1.hartwig-at.de. hostmaster.hartwig-at.de. 2015022400 86400 10800 2419200 3600 from server 217.70.177.40 in 8 ms.
SOA ns1.hartwig-at.de. hostmaster.hartwig-at.de. 2015060502 86400 10800 2419200 3600 from server 2a00:1158:3::b6 in 25 ms.
SOA ns1.hartwig-at.de. hostmaster.hartwig-at.de. 2015060502 86400 10800 2419200 3600 from server 134.119.4.37 in 26 ms.
SOA ns1.hartwig-at.de. hostmaster.hartwig-at.de. 2015060502 86400 10800 2419200 3600 from server 37.200.99.108 in 28 ms.
SOA ns1.hartwig-at.de. hostmaster.hartwig-at.de. 2015060502 86400 10800 2419200 3600 from server 2a00:1158:3::87 in 28 ms.
$

Parece que 217.70.177.40 está veiculando uma versão mais antiga da zona, o que provavelmente explica as variações nos resultados.

    
por 06.06.2015 / 00:04
5

Se você não estiver usando o DNSSEC, não haverá uma maneira definitiva para o cliente ver se uma resposta foi produzida por um registro * na zona ou por uma correspondência exata.

O cliente pode usar a heurística comparando as respostas produzidas pesquisando o nome desejado com as respostas produzidas ao procurar uma sequência aleatória de caracteres. Se as respostas forem idênticas, é provável que haja um registro de * e, se as respostas forem diferentes, é provável que não seja um registro de * .

Se a zona estiver conectada offline com DNSSEC, no entanto, é possível para um cliente ver se um registro * foi usado. Isso ocorre porque o nome usado na assinatura na verdade conterá um caractere literal * , que provará que a resposta foi produzida usando um registro * . Além disso, o NSEC3 pode fornecer uma assinatura mostrando que o nome solicitado não pôde ser respondido sem usar o registro * .

    
por 06.06.2015 / 00:37