Otimizando o serviço de DNS até a tampa.

Tutoriais BrazilFW 2.x em Português

Otimizando o serviço de DNS até a tampa.

Mensagempor coidiloco » Dom Ago 02, 2009 12:16 am

Autor: coidiloco



Otimizando o serviço de DNS até a tampa.


O primeiro passo é utilizar um cache de DNS, no nosso caso usamos o pDNSd (DNScache).

Funciona assim, você digita no seu browser, por exemplo, http://www.google.com.br, o computador precisa converter isso em IP, então ele pergunta pro DNS cadastrado, que é o do BFW, lá o pDNSd esta monitorando e faz a resolução pra você, primeiro ele procura no cache e se não encontrar, resolve disparando as pesquisas em paralelo para todos os DNS cadastrados no seu arquivo .conf, aguarda a primeira resposta e responde o pedido, então guarda essa reposta na memória/disco pra acelerar os próximos pedidos respondendo direto do cache. Nesse processo um site com IP já cacheado é resolvido em 0ms, e um site que ainda não está no cache é resolvido em 250ms em media. Ok 250ms é pouco tempo, mas multiplique isso pelo numero de resoluções diárias e veja o estrago.

Legal, o pDNSd acelera muito bem as requisições DNS que você precisa, mas só quando já está no cache, quando não está ele fica lento, amarrado no tempo de resposta do DNS externo configurado nele. Se conseguirmos baixar esse tempo de 250ms pra 150, 100 ou 30ms já vai dar uma diferença perceptível, vamos fazer isso então.

Baixe a ferrementa DNS Benchmark da Precision Software - Steve Gibson em http://www.grc.com/dns/benchmark.htm (freeware)
Crie uma lista de servidores DNS e salve com a extensão .ini, deixei uma pronta aqui http://www.brazilfw.com.br/downloads/users_old/coidiloco/DNSBROPT.INI baseada na lista de DNS da abusar.org http://www.abusar.org/dns.html


Preparação:

Quando o DNS Bench roda pela primeira vez, já abre com uma lista padrão (img.1) de servidores DNS, essa lista não interessa muito pros brasileiros, então vamos remove-la. Pra isso clique em add/remove e depois Remove Public Nameservers, deve ficar apenas o IP do BFW. (img.2).
img.1
Imagem
img.2
Imagem

Vamos adicionar a nossa lista, vou usar a lista que já preparei, mais os dois servidores DNS que o provedor passa, repare no campo para entrada manual de IPs.
Clique em add/remove (img.3) e add .ini file nameservers que nada mais é do que uma lista de IPs no formato texto com a extensao .ini e aponte para a sua lista.

img.3
Imagem
img.3-2
Imagem

Rodando o teste:

Preparei meu BFW com os IPs fornecidos pelo provedor e mais os do OpenDNS.
Sabemos que o BFW será o mais rápido em respostas”cached” então classifiquei o resultado em repostas “uncached” (img.4)

img.4
Imagem
img.4-2
Imagem

Otimizando:

Lembra que o pDNSd faz as consultas em paralelo? Então vamos escolher os servidores com melhor desempenho individual, ou seja, o melhor com índice cached (vermelho), o melhor com índice uncached (verde) e o melhor com índice dotcom (azul). No meu caso foram esses:

Melhor servidor em uncached e dotcom
Imagem
Melhor em cached foi meu provedor
Imagem

Então os servidores com melhor tempo de resposta nos 3 itens são o 200.202.17.1 que é melhor em repostas uncached e dotcom e 200.175.5.139 que é o melhor em respostas cached. Vamos configurar o pDNSd pra usar esses dois.

Imagem

Alterando as entradas circuladas
Imagem

Depois de alteradas, ficaram assim:
Imagem

Não removi os IPs do OpenDNS porque o pDNSd sempre vai aceitar a resposta mais rápida, mas se houver falhas no servidor rápido, o OpenDNS ta lá pra ajudar.
Não coloquei o IP do meu provedor porque ele já é passado na conexão PPPoE.
Agora é só reiniciar o serviço do DNScache (pDNSd) e comparar.

Antes:
Imagem

Depois:
Imagem

Um ganho de 65% para resoluções uncached e 354% para dotcom!! < O.O >
Agora que seu BFW está otimizado até a tampa, então ta tudo certo?
Não!! :shock: Ainda tem a questao da segurança, esses servidores podem ser vulneráveis a ataques de “Cache Poisoning” faça o teste clicando botão ao final da pagina em https://www.grc.com/dns/dns.htm e se houver riscos, troque pelo próximo mais rápido da lista. ;)

Imagem


By Coidiloco
Abrass :o!
coidiloco
 

Voltar para BrazilFW 2.x

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante