Registros DNS CNAME curinga substituindo registros DNS específicos em um provedor

2

Ocorreu um problema estranho em que um registro CNAME curinga (por exemplo, * .example.com) estava substituindo registros A específicos (por exemplo, host1.exemplo.com, host2.exemplo.com). Isso afetou apenas os servidores de nomes da Verizon Wireless. Os servidores de nomes oficiais são controlados pela Network Solutions (ns1.dnsbycomodo.net e ns2.dnsbycomodo.net).

Os servidores de nomes de outros provedores retornaram os resultados corretos (OpenDNS e mxtoolbox.com) e não pode ser um problema de cache porque os IPs incorretos (por meio da consulta CNAME) retornados nunca foram usados anteriormente e, além disso, , a alteração foi feita 12 horas antes e o TTL nos registros foi de apenas 7200.

A exclusão do registro CNAME curinga parece ter solucionado o problema. Alguma idéia sobre o que aconteceu? Alguém mais caiu nessa? Isso é apenas algum bug com os servidores DNS da Verizon conversando com a Network Solutions? Supostamente, os registros CNAME de caractere curinga foram válidos por um tempo ( É um registro DNS CNAME curinga válido ? ).

EDITAR:

Veja a ordem em que as coisas aconteceram

Configuração original:
Um * .example.com - > 1.1.1.1
Um host1.example.com - > 2.2.2.2
Um host2.example.com - > 3.3.3.3

Alterado para:
Removido "A" * .example.com
Adicionado CNAME * .example.com - > hostalias.example.net que resolve para 4.4.4.4

Resultado:
Em consultas da Verizon para host1.example.com e host2.example.com começaram a retornar 4.4.4.4, enquanto no OpenDNS e mxtoolbox.com, eles ainda retornaram corretamente 2.2.2.2 e 3.3.3.3, respectivamente.

    
por sa289 21.01.2016 / 19:45

1 resposta

1

Obrigado por atualizar sua pergunta, isso torna a ordem dos eventos muito mais clara. Infelizmente, o comportamento que você está descrevendo permanece muito intrigante da perspectiva de um resolvedor de DNS recursivo. Isto é melhor ilustrado através de exemplos.

Quando a consulta não está no cache, um servidor DNS recursivo envia a seguinte consulta para o servidor de nomes autoritativo:

Pergunta: host1.example.com. IN A

O servidor autoritário remoto responderá assim quando um registro A explícito for definido:

Resposta: host1.example.com. IN A 2.2.2.2

Ou assim, se estiver no registro CNAME:

Resposta: host1.example.com. IN CNAME hostalias.example.net.

Em ambos os casos, a escolha de se o registro A ou CNAME é exibido é determinada pelo servidor autoritativo , não pelo servidor recursivo. O servidor recursivo é, como o nome indica, recursivo. A solicitação do cliente upstream para host.example.com. IN A é transmitida sem modificações, a menos que sejam necessárias consultas adicionais para chegar à resposta. (nesse caso, seria uma pesquisa adicional para hostalias.example.net , a menos que o servidor de nomes autoritativo possa fornecer essa resposta dentro da mesma resposta)

Dado este comportamento bem compreendido, os pressupostos iniciais devem ser tratados como suspeitos. Um desses fatos não é 100% preciso:

  • A ordem em que esses registros foram definidos.
  • Verizon retornando uma resposta de 4.4.4.4. (ou seja, a resposta veio de algum lugar mais próximo da sua rede ou mesmo de um arquivo host)
  • Que todos os seus servidores oficiais estavam retornando a mesma resposta para essa solicitação.
  • Erro do operador.
  • Memória humana.

Eu sei que isso é uma espécie de não-resposta, mas eu não acho que podemos dar-lhe um melhor sem uma melhor documentação do que estava acontecendo durante o evento.

    
por 22.01.2016 / 22:08