IPv6 resolvendo como loopback / IP privado

1

Estou executando um rastreador da web e recebi alguns relatórios do meu datacenter sobre conexões direcionadas a IPs privados (como 10.0.0.1). Implementei uma verificação de loopback / ip privado para meu código de rastreador e percebi que muitos domínios resolvem seguir os endereços IPv6.

  • 7777: 772e: 726f: 7763: 6174: 6368: 2e63: 6f6d
  • 7777: 772e: 726f: 7763: 726f: 6674: 2e6f: 7267

Estou usando meu próprio cache de vinculação DNS e também quando tento visitar esses domínios em algum outro computador / rede, posso visitá-los sem problemas e todas as configurações de DNS parecem corretas.

Qual pode ser o motivo para resolver esses domínios como endereços IPv6 privados / de loopback, como visto acima? O que posso fazer para verificar outras coisas relacionadas a esse problema?

Pode ser por causa do meu cache DNS BIND? Pode ser por causa do roteador mal configurado no meu datacenter?

Muito obrigado antecipadamente ...

Solução: o @kasperd me ajudou muito nesse problema e descobriu que era por causa de uma implementação incorreta no meu código.

    
por she hates me 29.12.2015 / 13:10

1 resposta

4

Você está fazendo algumas suposições incorretas em sua pergunta.

A maior parte do espaço de endereços IPv6 é reservada, incluindo o intervalo 6000::/3 ao qual os dois endereços mencionados pertencem.

Se algum endereço reservado aparecer em um registro AAAA, isso indica uma configuração inválida. Isso pode causar problemas de conectividade, embora os clientes implementados corretamente voltem a usar um dos outros endereços para esse domínio.

A primeira razão óbvia para um endereço inválido que aparece em um registro AAAA é que quem configurou esse registro AAAA, em primeiro lugar, cometeu um erro. Se você mencionou um nome de domínio, poderemos informá-lo se esse é o caso.

Também é possível produzir tais registros AAAA inválidos ao configurar incorretamente um servidor DNS em cache. Eu acho que o Bind tem flexibilidade suficiente para introduzir tais problemas.

Um roteador mal configurado não seria suficiente para produzir tal problema. Mas muitos roteadores têm recursos adicionais não relacionados ao roteamento, portanto é possível, na teoria, que o roteador tenha recursos, que, se usados incorretamente, produziriam registros inválidos.

Se você olhar de perto os endereços IPv6 inválidos, verá que todos os octetos estão dentro do intervalo de caracteres ASCII imprimíveis ( 20 - 7e ). Isso pode fornecer uma sugestão sobre de onde os endereços inválidos se originaram.

Resumo da depuração no chat. O problema foi causado por um erro no código do rastreador:

ip = ipaddress.ip_address(hostname)

Essa linha interpretaria qualquer nome de host com exatamente 16 caracteres, como se fosse um endereço IPv6. Nenhuma resolução de DNS foi executada no nome do host.

    
por 29.12.2015 / 13:45