Testando a velocidade de DNSs diferentes.

Por ocasião do lançamento do Google DNS, há uma variedade de artigos na internet com benchmarks afirmando e também desmentindo a supremacia do Google DNS sobre outros DNSs. Como confiar nestes testes ou afirmações ?
Não confie, teste você mesmo e chegue a sua própria conclusão. O melhor resultado para você pode não ser o melhor resultado para outros e parece que os artigos que afirmam este ou outro DNS ignoram isso. Vamos fazer um teste ?

No Linux há diversas formas de testar os acessos a internet e também DNSs, no entanto, esses programas publicam números e se não houver quem os interpretes é inútil passar o comando dig, traceroute e afins a vocês. Existe um programa melhor que testa os DNSs na Internet e resume qual está sendo melhor naquele instante, estou falando do programa Domain Name Speed Benchmark.

Existem duas opções para executar este programa, uma é por script e a outra por GUI. Com a execução por script, ele depende de várias aplicações instaladas em seu computador e que quando executado, testa os seus DNSs e depois concluí com o resultado. Outra opção é uma GUI criada com o mesmo proposito, só que graficamente e com uma única dependência. Neste artigo, vou mostrar a opção de execução com a GUI.

Passo 1) Edite o /etc/resolv.conf e adicione/verifique todos os DNSs que queira testar.
Dê um ALT+F2 e execute ‘gksudo gedit /etc/resolv.conf’, meu próprio arquivo está assim :

# Meus DNSs em /etc/resolv.conf
nameserver 192.168.1.10 # DNS Local
nameserver 200.176.2.10 # Telefonica Speedy Business 1
nameserver 200.176.2.12 # Telefonica Speedy Business 2
nameserver 208.67.222.222 # OpenDNS 1
nameserver 208.67.220.220 # OpenDNS 2
nameserver 8.8.8.8 # Google DNS 1
nameserver 8.8.4.4 # Google DNS 2
nameserver 200.204.0.10 # Telefonica DNS publico 1
nameserver 200.204.0.138 # Telefonica DNS publico 2

Mantenha essa lista aberta porque mais tarde, voce usará o programa DNSBench e precisará relembrar destes endereços e possivelmente edita-los.

Passo 2) Instale o WINE em seu sistema, vá em Sistema->Administração->Gerenciador de pacotes Synaptic e procure pelo WINE e a seguir marque e aplique sua instalação :

Pelo terminal :

sudo apt-get install wine

O WINE é um port do WIN32API, seu proposito é tornar aplicativos desenvolvidos para Windows rodáveis onde o WINE for suportado. O aplicativo Domain Name Speed Benchmark foi feito com essa compatibilidade Windows/Linux+Wine.

Passo 3) Descarregue o programa, ele está no rodapé dessa página :

http://www.grc.com/dns/benchmark.htm

Ou se preferir o link direto :

http://www.grc.com/dev/DNSBench.exe

Passo 4) Execute o programa diretamente com o clique direito do mouse sobre o arquivo DNSBench.exe :
Executando o DNS Bench com o WINE com o clique direito do mouse

Passo 5) Procedimentos para a execução do DNSBench :

1) Clique na guia “Nameservers” para ajustar os objetos de análises, faça o dessa forma :

a) Clique em “Add/Remove” e selecione a opção “Remove System’s Name Servers
b) Também clique na opção “Remove Public NameServers
c) A essa altura você estará sem DNS para realizar o teste
d) Clique em “Add/Remove” e acrescente os IPs/endereços de DNS que você pretende agregar ao teste, lembra do seu /etc/resolv.conf ? Pois é, use ele para lembrar dos que você tem usado (e também poderá adicionar outros). No final, a sua tela ficará mais ou menos assim :

As barras coloridas e seus círculos possuem uma legenda, basta clicar com o botão direito em cima delas, mas resumidamente mostram dados cacheados e não-cacheados.

2) Clique no botão “Run Benchmark” e aguarde uma barra de progresso que avancará até a conclusão do teste.
3) Clique na guia “Conclusions” e leia os resultados conclusivos, há muita informação em inglês que são importantes, mas se você não sabe ler em inglês avance o texto para algo mais ou menos assim :

O texto acima concluiu que para mim, os melhores DNS foram o da telefônica (incrível, não ?) : 200.176.2.10 e 200.176.2.12

Baseado na conclusão acima, adicione os melhores DNSs ao seu /etc/resolv.conf, cujo arquivo você deixou aberto. Mantenha-os como primeiros da lista e só mude a ordem quando executar novamente o mesmo teste e determinar que o melhor DNS mudou novamente.

No Ubuntu ou qualquer Linux configurado para receber a lista de DNS por DHCP, essa alteração de DNS diretamente no arquivo /etc/resolv.conf valerá apenas até a próxima requisição de DHCP Request. Sim, quando seu micro for reconectado a rede, ela se perderá. Para manter firmes esses DNSs, há um esquema diferente para cada distribuição Linux, no Ubuntu você terá de ir até o Network Manager que geralmente está na bandeja do sistema, clicar com o botão direito sobre o ícone e escolher a opção “Editar conexões“, na guia “Com fio” (ou sem fio se sua conexão for wireless) selecionar o item “Auto eth0” e clicar no botão editar. Em “Editando auto-eth0”, selecione a guia “Configurações IPv4” e mude o método de “Automatico(DHCP)” para “Somente endereços (DHCP) automáticos“. Fazendo isso, o campo de “Servidores DNS” estará livre para edição, o qual você acrescentará os DNS preferenciais separados por virgula, ex :

Pronto ! Com o esquema acima, o Network Manager sempre manterá seus DNSs mesmo que o servidor DHCP passe indicações diferentes.

Em meu teste, voce deve se recordar, eu solicitei para remover os DNSs públicos, porém você pode decidir não fazer isso e concluir que alguns deles são as melhores opções disponíveis atualmente para você.

Ao trocar um DNS por outro, tenha em mente que alguns DNS possuem vantagens e desvantagens. Por exemplo, o OpenDNS pode filtrar conteúdo impróprio, páginas de fishing, etc… Servidores de DNS como os da telefônica possuem o famoso “sequestro de DNS”, ou seja, quando digitado um endereço errado você é redirecionado para uma página de busca escolhido por eles.

Bom teste a todos.

  1. #1 por Douglas em 7 \07\UTC dezembro \07\UTC 2009 - 13:19

    Eita, muito legal essa dica.

    Tava usando também o OpenDNS mas por incrível que pareça, o speedy business foi o melhor… (Vamo vê até quando né…)

    Mas tenho uma pergunta, eu uso o meu modem roteado, logo, adicionei os Business ao resolv.conf como os primeiros e o ip do meu modem como a ultima opção (que esta com o opedns).

    Eu posso adicionar os da telefonica no meu modem também??

    Ficando com 4 servidores?

    Obrigado.

  2. #2 por Sérgio Luiz Araújo Silva em 7 \07\UTC dezembro \07\UTC 2009 - 14:20

    Na sua opinião qual é o DNS mais rápido?

  3. #3 por Jader em 7 \07\UTC dezembro \07\UTC 2009 - 15:13

    Não é incrivel que os DNS da Telefonica sejam os mais rápidos… eles não são da Telefonica: são do Terra! :D

    nslookup no shell do Windows XP:

    > server 200.176.2.10
    Servidor padrÒo: tajura.terra.com.br
    Address: 200.176.2.10

    > 200.176.2.10
    Servidor: tajura.terra.com.br
    Address: 200.176.2.10

    Nome = tajura.terra.com.br
    Address: 200.176.2.10

  4. #4 por PRESTONE em 8 \08\UTC dezembro \08\UTC 2009 - 21:49

    Mutio bom! meu teste tambem deu Telefonica, tava usANDO GOOGLE DNS :)

  5. #5 por Lex Aleksandre em 28 \28\UTC dezembro \28\UTC 2009 - 10:14

    Parabéns e obrigado pelo tutorial!
    Pra ver como as coisas são; há tantos tutoriais por aí fazendo propaganda gratuíta do OpenDNS e Google DNS, falando de suas maravilhas, velocidade, etc, quando na verdade não passa de balela. Segui seu tutorial e, por incrível que pareça, o DNS da própria Velox tem um desempenho 5 vezes superior aos demais. O da Google fica em terceiro e da OpenDNS vai lá para os últimos.
    Tratei de retornar a configuração do meu roteador para o DNS da Velox (200.165.132.155 e 200.149.55.140).
    Recomendo a todos fazerem o teste!

  6. #6 por Eder Clauber em 20 \20\UTC janeiro \20\UTC 2010 - 16:23

    Hamacker vc tá no twitter?

  7. #7 por Marcos Jacoby em 23 \23\UTC janeiro \23\UTC 2010 - 20:42

    Não é à toa que é o da Telefonica…
    Podia ser do Virtua, da Brasil Telecom, Velox ou (no meu caso) da GVT.
    O que vcs precisam entender é que o servidor de DNS que sempre responderá mais rápido é o do seu ISP.
    Sempre…
    Mesmo que ele seja uma droga!
    Pq?
    Pq para vc acessar os outros DNS, primeiro passa por ele.
    Se ele estiver ou for muito lento para responder, será mais lento ainda para enviar um ping para os outros e te devolver a informação.
    Msm que o outro DNS responda na velocidade da luz, o máximo que pode ocorrer é um empate.
    E olha que eu tirei todos os DNS (do protocolo TCP e do router) e continuou dando na mesma. Os da GVT em primeiro e os do Google logo atrás.
    Então que fiz eu?
    Botei como DNS primário o que melhor da GVT respondeu e como segundo o do Google. Eu to usando o 8.8.4.4 mas tanto faz já que as vezes o 8.8.8.8 responde melhor (por milisegundos)
    Fiz isso no router (na autenticação já que não uso o router do modem) e nos protocolos das conexões (Windows, Linux, OSX e o que mais eu inventar).
    Boa sorte à todos.

  8. #8 por Marcos Jacoby em 23 \23\UTC janeiro \23\UTC 2010 - 20:44

    Se ainda tem dúvidas, quem tiver um note e um amigo que tenha uma banda larga de operadora, faça o teste na sua e na do amigo com o seu próprio note.
    Verá que é exatamente o que ocorre.

  9. #9 por Marcos Jacoby em 23 \23\UTC janeiro \23\UTC 2010 - 20:45

    operadora diferente da sua, esqueci de colocar!
    Abrax!

  10. #10 por xcobar em 2 \02\UTC fevereiro \02\UTC 2010 - 16:23

    Excelente o post.

    Ainda assim, como mencionado, o cache e funções de segurança e controle de uso e conteúdo agregados ao Open DNS são, para mim, incomparáveis.

    Já havia feito o teste com o DNS Benchmark, mas, ainda que aponte 6 outros servidores de DNS um pouco mais velozes, ainda assim, pensando em estabilidade e segurança, optei pelo Open DNS.
    grande abraço

%d blogueiros gostam disto: