Cómo montarse un servidor DNS-Cache con dnsmasq

Autor: Armonth | El domingo 06 de agosto del 2006 @ 03:39.

A raíz de Local DNS Cache for Faster Browsing he descubierto una pequeña joya de programa llamada dnsmasq. No es la primera que monto un servidor DNS únicamente para realizar las tareas de un DNS-cache pero tener un BIND solamente para esto me parecía excesivo, veamos unos cuantos puntos para el profano en la matería:

Resumen cortito

  • ¿Qué es un servidor DNS?: Cuando entras en sigt.net o a cualquier sitio sin utilizar una dirección IP en realidad le estás diciendo al ordenador "Oye, pregunta al servidor DNS cual es la IP que corresponde a sigt.net". Luego con ese dato se realiza la conexión.

  • ¿Y un cache DNS?: Normalmente la IP no cambia cada día, si entras 100 veces en un sitio ¿para qué preguntarle al servidor cada vez por la IP?, un cache evita eso: guarda un listado de las peticiones para no tener que estar preguntando cada vez.

  • ¿Mejora en algo la velocidad?: La latencia causada por preguntar al servidor DNS por cada sitio desaparece si ya se tiene el dato en local.

  • ¿Alguna otra ventaja?: Sí, si tu servidor DNS se cae puedes seguir entrando en los sitios que anteriormente ya habías entrado.

Cómo hacerlo

El manual del enlace es muy claro, te especifica cada opción para que sirve, etc., pero realmente la mayoría no tiene porque tocar esas opciones, con hacer estas tres acciones sobra (tanto en Ubuntu, Debian o cualquier distribución si cambiamos el apt-get por el método de instalación respectivo):

  1. Instalar dnsmasq (apt-get install dnsmasq).
  2. Copiar /etc/resolv.conf como /etc/resolv.dnsmasq.conf.
  3. Editar /etc/resolv.conf añadiendo como primera línea:
    nameserver 127.0.0.1
    

Y con esto ya debería funcionar, utilizaremos dig para comprobarlo... er... esto... ¿no aparece el programa dig? pues instala el programa dnsutils.

armonth@soul:~ dig sigt.net | grep Query
;; Query time: 89 msec

armonth@soul:~ dig sigt.net | grep Query
;; Query time: 0 msec

Dig hace una consulta DNS y entre otros parámetros ofrece el de "Query time" que informa de cuanto tiempo ha tardado en saber la IP, la primera vez al no tenerla guardada pueden pasar 50ms, 100ms, 200ms, dependiendo de la latencia de tu conexión, la segunda vez ya tiene el dato y baja a entre 0 y 2ms +/-.

Esto en principio es recomendado para todo el mundo pero en la práctica es casi obligatorio para usuarios de 56k para mejorar un poco la ya de por si pésima calidad de la línea.

Comentarios