Dnsmasq, servidor DNS y DHCP

De Guía Ubuntu
Saltar a: navegación, buscar

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.

Vease también

Articulo fuente (en inglés)