Dnsmasq – Un ligero servidor DHCP y DNS con caché
Posted by K|Ke on May 30th, 2009
Dnsmasq es un ligero servidor DNS, TFTP y DHCP. Su propósito es proveer servicios DNS y DHCP a una red de área local.
Dnsmasq acepta búsquedas DNS y las responde desde un pequeño caché local, o las reenvía hacia un servidor DNS real recursivo. Carga el contenido de /etc/hosts, de tal forma que nombres de hosts locales los cuales no aparecen en el DNS mundial puedan ser resueltos. También responde a búsquedas DNS para hosts configurados vía DHCP.
El servidor DHCP dnsmasq incluye soporte para asignación de direcciones estáticas, redes múltiples, DHCP-relay y especificadores de subredes RFC3011. Automáticamente envía un predeterminado sensible de opciones DHCP, y puede ser configurado para enviar cualquier opciones DHCP deseadas, incluyendo opciones encapsuladas por vendedores. Incluye un servidor seguro TFTP solo-lectura para permitir el inicio vía red/PXE de hosts DHCP. Tambíen incluye soporte para BOOTP.
Dnsmasq , 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
Para instalar y configurar dnsmasq como servidor caché hacemos lo siguiente:
$ sudo apt-get install dnsmasq
Luego copiamos
$ sudo cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
Editar el archivo resolv.conf
$ sudo gedit /etc/resolv.conf
y agregamos al comienzo del archivo esta línea
nameserver 127.0.0.1
Para probar el funcionamiento de nuestro servidor DNS caché hacemos lo siguiente:
$ dig ubuntusur.org | grep Query
;; Query time: 53 msec
Al volver a ejecutar el comando veremos el cambio
$ dig ubuntusur.org | grep Query
;; Query time: 0 msec
Bien, ahora para evitar que en cada arranque nos cambie el archivo resolv.conf, haremos lo siguiente:
Descomentamos la siguiente línea (remover “#” ) en el archivo /etc/dnsmasq.conf
listen-address=127.0.0.1
Luego editamos
/etc/dhcp3/dhclient.conf
y nos aseguramos que la siguiente sección quede exactamente como esto, especialmente la línea “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, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
Fuente:
1. Manual de Dnsmasq
2. Guía Ubuntu
Entradas relacionadas:










May 31st, 2009 a 7:08 am
Editar el archivo resolv.conf
$ sudo gedit /etc/resolv.conf
¿Hay que editar el archivo resolv.conf o resolv.dnsmasq.conf?
May 31st, 2009 a 9:20 am
Hola Luisdo, debes editar el archivo resolv.conf.
Saludos.