Como usar o Dnsmasq para criar um cache de DNS local
Se você entende o básico de Internet, sabe o que é e para que serve o DNS.
O que talvez você ainda não saiba, é o quão importante o DNS é para um acesso à Internet rápido e responsivo.
Na figura abaixo você pode conferir a sequência seguida na hora de baixar um site:
Primeiro, o navegador envia o nome do site para o servidor DNS, que devolve o endereço IP correspondente.
Então, o navegador envia a solicitação para o servidor que hospeda o site, e este, por sua vez, devolve o código HTML que será processado e exibido na tela de seu computador.
Observe que, durante os passos 1 e 2, o site ainda não está sendo baixado e, portanto, nada está sendo exibido na tela do usuário. Dessa forma, problemas de comunicação com seu servidor DNS podem fazer sua Internet parecer lenta, por causa do que chamamos de latência.
No GNU/Linux, podemos reduzir esta latência utilizando um cache local de DNS, que pode ser configurado facilmente com o Dnsmasq.
[1] Comentário enviado por sirhamacker em 04/02/2014 - 09:36h
Só uma informação, os navegadores como Google Chrome e Firefox possuem um DNS cache interno, o que torna o artigo um pouco obsoleto.
Contudo, para observar qual experiência é a melhor, pode-se desabilitar o cache do Firefox:
a. Abra o navegador
b. digite na url: about:config e pressione enter.
c. Na lista de propriedades clique com o botão direito e crie um novo registro do tipo inteiro (Integer) e digite como nome do campo 'network.dnsCacheExpiration' (sem aspas) e coloque '0' (zero, sem as aspas) como valor.
Agora, o Firefox não fará mais cache de DNS e passará a usar os DNSs identificados no sistema - sempre.
Se notar melhora na performance, beleza, você mantém o dnsmasq e essa configuração no firefox, agora, se observar o inverso então remova o registro criado no firefox e o dnsmasq para não ter dois sistemas fazendo a mesma coisa.