Anda di halaman 1dari 2

Como criar um servidor de cache DNS no Ubuntu

Um servidor de DNS (Domain Name Server) responsvel pela converso dos endereos de internet em endereos de IP. Quer isto dizer que quando introduzimos o endereo google.pt o servidor DNS tenta descobrir o endereo IP (por exemplo 124.445.12.12) do domain de forma a que o nosso pedido de endereo seja imediatamente satisfeito. Ou seja, se no existisse um servidor de DNS em vez de introduzirmos por exemplo www.google.pt teramos de saber o seu endereo de IP 124.445.12.12, o que seria extremamente complicado. O servidor de DNS encontra-se na maior parte das vezes associado ao servio de internet que subscrevemos a um operador. Por exemplo, para quem tem SAPO, eles tm um servidor de DNS de forma a que os seus clientes quando introduzem o endereo www.google.pt o servidor de DNS descubra que o respectivo endereo de IP 124.445.12.12. A grande questo que esta ligao ao servidor de DNS do SAPO consome alguns milisegundos de comunicao (entre 30ms a 60ms), e isso multiplicado por inmeros endereos de internet a que acedemos diriamente muito tempo perdido. Existe uma soluo que criar um cache de endereos DNS localmente no nosso prprio computador medida que vamos acedendo s pginas de internet. Por exemplo: a primeira vez que acedermos pgina www.google.pt vai ser o servidor de DNS do SAPO que se vai encarregar da procura do respectivo endereo IP, mas vamos ficar com o registo no nosso computador desse endereo IP de forma a que quando voltemos a aceder ao endereo www.google.pt vai ser o cache existente no nosso prprio computador que vai automaticamente e de uma forma imediata atribuir o respectivo endereo de IP. Resultado, em vez de estarmos espera cerca de 60ms pelo servidor DNS do SAPO, o nosso pedido vai ser imediatamente satisfeito (em zero milisegundos), o que vai permitir uma navegao na internet muito mais rpida.

Como que podemos criar um cache de DNS no Ubuntu?


Temos de instalar um pequeno programa que se chama dnsmasq que um DNS forwarder e um servidor DHCP. Vamos instalar o pacote dnsmasq atravs do comando sudo apt-get install dnsmasq. Depois vamos editar (podem utilizar o gedit) o ficheiro /etc/dnsmasq.conf e descomentem (retirem o # do incio da linha) a seguinte linha (acrescentem o 127.0.0.1 a seguir a listen-address caso no esteja l): listen-address=127.0.0.1 Agora vamos editar o ficheiro /etc/dhcp3/dhclient.conf e vamos certificar-nos que a seguinte seco fica exactamente igual ao seguinte (especialmente a linha que diz prepend domain-name-servers 127.0.0.1; que tem de ser descomentada): #supersede domain-name fugue.com home.vix.com; prepend domain-name-servers 127.0.0.1; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name, netbios-name-servers, netbios-scope; De seguida temos que editar o ficheiro /etc/resolv.conf e acrescentar no incio do ficheiro (tem de ser a primeira linha) o seguinte: nameserver 127.0.0.1 Finalmente, basta-nos reiniciar o dnsmasq com o comando: sudo /etc/init.d/dnsmasq restart e a partir deste momento j temos a funcionar um cache local de DNS.

Manual elaborado por DRAGUNDER para a seco de Linux do frum www.dragteam.info Pgina 1 de 2

Como criar um servidor de cache DNS no Ubuntu


Vamos testar o nosso cache local de DNS
Para testarmos a velocidade de ligao ao endereo www.dragteam.info executamos o seguinte comando: dig www.dragteam.info Ora vejam o resultado, antes do endereo de IP 92.48.68.128 estar adicionado ao cache local de DNS:

Foram 22 milesegundos que o servidor de internet DNS demorou para conseguir descobrir e converter o endereo www.dragteam.info em 92.48.68.128. E agora vamos ver o mesmo comando j depois do endereo de IP se encontrar adicionado ao nosso cache local de DNS:

Demorou apenas 1 milisegundo. Fantstico.

Apartir de agora navegar na internet bastante mais rpido.


Manual elaborado por DRAGUNDER para a seco de Linux do frum www.dragteam.info Pgina 2 de 2