Ubuntu Sur

“Las personas nacen libres e iguales en dignidad y derechos”

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

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

  • Share/Bookmark

Entradas relacionadas:

  1. Liberar memoria RAM cache
  2. Mayor seguridad para el servidor SSH con Denyhosts
  3. Prevenir intrusiones con fail2ban en Ubuntu y Ubuntu Server

2 Respuestas a “Dnsmasq – Un ligero servidor DHCP y DNS con caché”

  1. luisdo Dice:

    Editar el archivo resolv.conf
    $ sudo gedit /etc/resolv.conf

    ¿Hay que editar el archivo resolv.conf o resolv.dnsmasq.conf?

  2. K|Ke Dice:

    Hola Luisdo, debes editar el archivo resolv.conf.
    Saludos.

Deje una respuesta

XHTML: Usted puede usar estos tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>