El Domain Name System (DNS) es una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar distintos tipos de información a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio.
En español medio cantinfleado quiere decir que a los humanos se nos hace más fácil recordar nombres en lugar de números, es decir si queremos entrar a una página es más fácil para nosotros escribir en nuestro navegador yahoo.com en lugar de la dirección ip del mismo 216.109.112.135.
El servidor DNS más extendido en Gnu/Linux sin dudas es BIND, pero la verdad meterse a las entrañas de BIND para tener un caché y acelerar un poco la navegación, es un poco engorroso, tedioso y no muy recomendado.
Por eso usaremos dnsmasq que cumple muy bien con su función.
Así que primero que nada veremos y haremos algunas pruebas con dig.
hbautista@hobitton:~$ dig debian.org
; <<>> DiG 9.4.1 <<>> debian.org
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16991
;; flags: qr rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;; ANSWER SECTION:
debian.org. 3600 IN A 192.25.206.10
;; Query time: 151 msec
;; SERVER: 172.16.0.1#53(172.16.0.1)
;; WHEN: Fri Jun 1 20:34:41 2007
;; MSG SIZE rcvd: 44
hbautista@hobitton:~$

La parte interesante es donde dice Query time: 151 msec que es el tiempo que se tarda en dar con el dominio. Procedemos a instalar dnsmasq
root@hobitton:/home/hbautista# aptitude install dnsmasq
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Escribiendo información de estado extendido... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se instalarán los siguiente paquetes NUEVOS:
dnsmasq
0 paquetes actualizados, 1 nuevos instalados, 0 para eliminar y 12 sin actualizar.
Necesito descargar 0B/210kB de ficheros. Después de desempaquetar se usarán 639kB.
Escribiendo información de estado extendido... Hecho
Seleccionando el paquete dnsmasq previamente no seleccionado.
(Leyendo la base de datos ...
117432 ficheros y directorios instalados actualmente.)
Desempaquetando dnsmasq (de .../dnsmasq_2.39-1_i386.deb) ...
Configurando dnsmasq (2.39-1) ...
Starting DNS forwarder and DHCP server: dnsmasq.
root@hobitton:/home/hbautista#

Ahora abriremos el archivo /etc/dnsmasq.conf y ubicarnos alrededor de la línea 78 donde dice
#listen-address=
Lo sustituimos por:
listen-address=127.0.0.1

guardamos el archivo y ahora toca editar /etc/resolv.conf
añadir justo debajo de search algun.dominio
nameserver 127.0.0.1

Ojo, no hay que borrar las demás líneas que tengas
Reiniciar el servicio de dnsmasq
root@hobitton:/home/hbautista# /etc/init.d/dnsmasq restart

Volvemos a ejecutar dig debian.org (por ejemplo) para ver el query time
hbautista@hobitton:~$ dig debian.org
; <<>> DiG 9.4.1 <<>> debian.org
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58305
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; ANSWER SECTION:
debian.org. 2877 IN A 192.25.206.10
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jun 1 20:46:44 2007
;; MSG SIZE rcvd: 44
hbautista@hobitton:~$

Verán que el tiempo de respuesta bajó considerablemente, generalmente no pasan de 3 o 4 msec.
Ojalá y les sirva, en el primer enlace es donde lo ví primero y los demás apenas los acabo de ver realizando una búsqueda en google por dnsmasq.
Enlaces:


#1 Re: Dnsmasq
Vientos!!, muchas gracias por el tip!, me va a servir mucho para mi trabajo y mi casa!..
,
Y si a esto le agregas un servidor de OpenDNS pues todo mucho mas rapido...