Use servidores DNS diferentes para CDNs

1

De volta quando o Google lançou seus servidores DNS 8.8.8.8 e 8.8.4.4 pela primeira vez eu fiz alguns perfis, e eles são caminho mais rápido para a nossa localização. Um teste mais recente confirma que este ainda é o caso. No entanto, após uma análise cuidadosa, recusei-me a fazer a troca do nosso DNS do ISP, porque olhando para alguns instantâneos do nosso tráfego, muitos dos nossos pedidos eram para endereços de cdn. O uso de um DNS central para pesquisas em sites CDN pode produzir resultados que funcionem (e produzir resultados rapidamente), mas tornam as coisas mais lentas porque podem retornar nós menos ideais.

Minha pergunta, então, era se era possível usar de alguma forma distinguir a rede CDN e apontar essas buscas para o DNS do meu ISP, mas apontar para o DNS 8.8.8.8 do Google.

    
por Joel Coel 26.01.2012 / 16:28

3 respostas

1

Ao criar um perfil, você fez o perfil por meio do seu servidor DNS do AD existente - em comparação com os encaminhadores do DNS do AD que estão sendo definidos de maneira diferente entre o seu provedor e o Google? Ou você acabou de analisar diretamente o seu ISP e o DNS do Google?

Em que estou chegando, é que você já tem um servidor DNS local (AD, BIND ou outro) e se todos os seus clientes estiverem usando esse servidor DNS de encaminhamento local - desde que o local Servidor DNS está configurado corretamente, ele irá armazenar em cache os resultados de envio. Portanto, somente a primeira consulta DNS para um determinado nome de recurso dentro de um tempo TTL razoável precisará ser encaminhada para fora de sua rede para resolução. Com isso em mente, você não pode simplesmente usar o DNS do seu ISP como o servidor encaminhado configurado para resolver resultados externos enquanto se beneficia de resultados localizados - entendendo que tudo será armazenado em cache?

    
por 26.01.2012 / 16:41
3

Este é apenas o serviço DNS split-horizon em um DNS proxy servidor, o que é bastante simples no caso simples.

  • Para um servidor DNS proxy de encaminhamento , um simplesmente usa o encaminhamento condicional. Consulte o manual do seu software de servidor DNS para saber como fazer o encaminhamento condicional. djbdns, servidor DNS da Microsoft, BIND do ISC, meu DNSFCPD e vários outros todos podem fazer o encaminhamento condicional.
  • Para um servidor DNS proxy resolvendo , é usado qualquer mecanismo de substituição de delegação fornecido pelo software do servidor. Para djbdns, adiciona-se um arquivo ao diretório servers/ . Para o servidor DNS do BIND e da Microsoft, usa-se zonas de stub.

O problema é que os CDNs não são simples casos diretos e você está preparando uma dor de cabeça perpétua para manutenção.

Às vezes, as CDNs usam cadeias de alias bastante longas. Não há como você saber em que lugar da cadeia as informações de distribuição dos CDNs estão codificadas, porque cada CDN é gratuito, faça isso da sua maneira.

Por exemplo : www.microsoft.com. é um alias para toggle.www.ms.akadns.net. , que é um alias para g.www.ms.akadns.net. , que é um alias para lb1.www.ms.akadns.net. que mapeia para o endereço IP 65.55.12.249 . Você pode fazer a remoção e enxertia em microsoft.com. , g.www.ms.akadns.net. , www.ms.akadns.net. , ms.akadns.net. ou akadns.net. . Mas você não sabe qual é o lugar apropriado sem conhecimento que é específico para aquele CDN e nem mesmo necessariamente conhecido para você em primeiro lugar. Se engane, e você está de volta com o problema das consultas de back-end vindas de um endereço IP de terceiros, e os dados do DNS são apropriados para esse endereço, não para o seu.

Além disso, a Akamai está livre para alterar todos esses nomes de domínio intermediários, dez minutos a partir de agora, sem qualquer necessidade de informá-lo sobre isso para que você possa reconfigurar suas substituições no horizonte dividido. E é livre para fazer tudo de novo amanhã. Multiplique isso por todos dos diferentes CDNs para os quais você pretende usar o serviço DNS split-horizon, e você terá uma enorme Red Queen's Race antes de você.

Em qualquer caso, como outros têm apontado , não é realmente uma boa ideia usar anúncios de terceiros, sem contrato, externos, servidores DNS proxy promissores e financiados, em primeiro lugar. As pessoas não sonham em passar para terceiros terceirizados, financiados por anunciantes, para o serviço HTTP de proxy ou para o serviço de Envio de SMTP. O serviço DNS proxy é um pouco diferente e as mesmas justificativas são aplicadas. O que você está querendo fazer é realmente uma má ideia.

Se você quiser que as pesquisas de DNS da sua LAN funcionem melhor, trabalhe nisso.

    
por 26.01.2012 / 18:10
0

Este é um daqueles casos em que o ato de compor a pergunta tornou a resposta clara para mim. Eu não esperava que nenhum servidor dns fosse capaz de fazer essa distinção automaticamente. Eu simplesmente queria direcionar manualmente alguns dos cdns mais solicitados da nossa rede para o lugar certo. Para fazer isso, eu teria que inserir os valores manualmente em algum lugar, e nesse ponto eu também posso apenas fazer as pesquisas e colocar esses registros diretamente em nosso servidor DNS do AD. Os encaminhadores condicionais seriam melhores, mas eu não vi uma maneira na AD de fazer isso.

Vou me sentar nisso por um tempo, embora haja implicações para isso (ou seja, precisar verificar com frequência se as coisas não mudaram, verificar se ainda vale a pena manter certos registros, etc.) e ainda pode haver um caminho melhor. No nosso caso, somos uma faculdade pequena e, portanto, são basicamente dois cdn que importam: netflix e facebook. Esses dois cada um representam cerca de 40% do nosso tráfego por tamanho e acertos, respectivamente, e ter consultas mais rápidas em geral, com resultados corretos para esses dois especificamente, provavelmente seria uma melhoria notável.

    
por 26.01.2012 / 16:31