Dnsmasq, servidor DNS y DHCP
Dnsmasq es un servidor (DNS, DHCP) muy ligero que tiene un efecto colateral; además de funcionar como servidor DNS para tu red local (gracias a que lee el archivo /etc/hosts) y poder resolver los nombres asignados a tus equipos, también hace de servidor DNS caché, es decir almacena las IPs consultadas para no tener que repetir la consulta cuando vuelven a pedirse.
El resultado es que el acceso a las páginas de Internet es más rápido. Como sabemos, antes de visualizar su contenido, debe resolverse el nombre del equipo al que le enviamos la petición a través de una compleja red de servidores, que se inicia en el (o los) que hemos definido en /etc/resolv.conf
Nuestro(s) servidor(es) suelen ser dos IPs de nuestro suministrador de acceso a Internet. Con dnsmasq conseguimos reducir el proceso de consulta.
Puedes confirmar la mejora en la velocidad con que se resuelven los nombres mediante el comando digg. Antes de instalar, configurar y activar dnsmasq ejecuta:
$ dig google.es
y anota el valor que aparece al final de la respuesta al lado de QUERY TIME.
Luego sigue los pasos para instalarlo:
1. Instalar dnsmasq
$ sudo apt-get install dnsmasq
Si la consola te dice que "no se ha podido encontrar el paquete dnsmasq" probablemente se deba a que no has activado el repositorio Universe.
2. Editar
$ sudo gedit /etc/dnsmasq.conf
y descomentar la siguiente linea
listen-address=127.0.0.1
3. Editar
$ sudo gedit /etc/dhcp3/dhclient.conf
y asegurarse de que el contenido del archivo sea exactamente al siguiente, especialmente en la linea “prepend domain-name-servers 127.0.0.1;”
#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;
4. Editar /etc/resolv.conf y poner como primer servidor el local:
nameserver 127.0.0.1 nameserver xxx.xxx.xxx.xxx
4. Arrancar de nuevo el demonio:
$ sudo /etc/init.d/dnsmasq restart
Repite el comando
$ dig google.es
cuando funcione el dnsmasq; el valor numérico de QUERY TIME tendría que ser casi 10 veces menor.