¿Cómo configurar un DNS de caché con dnsmasq?

Imagen de Epe

Esta es otra variante, el dnsmasq nos permite rápidamente configurar un servidor de DNS de caché, pero además el DNSMASQ nos permite agregar según nuestro gusto o necesidad records para modificar la respuesta a nuestros clientes, por ejemplo si yo quisiera que cuando escriban www.facebook.com vaya a otra IP (la IP del server de la empresa por ejemplo) o si yo quisiera crearme records de prueba o para trabajo interno, también puedo.

oh y dnsmasq también puede actuar como servidor de dhcp, pero eso no lo veremos aquí, aunque es bien simple de echar a andar.

Instalando dnsmasq:

yum install dnsmasq

Configurando dnsmasq:
El dnsmasq es un dns de forward, es decir, no puede, no sabe acudir directamente a los rootservers como otros servidores de dns, por lo que tengo que indicarle los dns de caché a los que debe acudir, en este caso usaré los de opendns, crearé un archivo llamado /etc/resolv.dnsmasq.conf que luego definiré dentro de dnsmasq

echo "nameserver 208.67.222.222" > /etc/resolv.dnsmasq.conf

Ahora edito /etc/dnsmasq.conf y descomento la línea (alrededor de la 2da página) que dice:

#resolv-file=

Le descomento y le cambio para que diga así:

resolv-file=/etc/resolv.dnsmasq.conf

Si te equivocas aquí en el nombre del archivo (/etc/resolv.dnsmasq.conf) no funcionara nada

Y listo, arranco dnsmasq:

service dnsmasq restart
chkconfig dnsmasq on

Para probar, cambia el archivo /etc/resolv.conf de tu servidor y le pones la IP de tu mismo servidor,dejas el archivo solamente con una línea que diga así:

nameserver 127.0.0.1

y listo!

al resto de las máquinas de tu red, en la sección de DNS dejas solamente la IP de tu servidor linux y ya todos estarán usando dnsmasq para resolver nombres.

Es muy fácil y llevo mucho tiempo usándole para dns.

Una ventaja adicional
Todo lo que pongas en /etc/hosts el dnsmasq lo tomará como cierto y lo usará para responder preguntas, por ejemplo en mi /etc/hosts tengo dos líneas (hay más, pero muestro estas dos) que dicen así:
172.16.4.0 ernesto.perez ernesto epe
172.16.2.1 gateway proxy firewall

por tanto si yo al dnsmasq le pregunto por epe o por firewall, este me responderá 172.16.4.0 o 172.16.2.1 ...

así que en tu /etc/hosts de tu servidor puedes ir agregando IPs y nombres que quieres mantener y el dnsmasq simplemente los usará para dar respuestas a toda la red.

Atención! Cada vez que agregues una línea al /etc/hosts no olvides reiniciar el servicio de dnsmasq para que vea el cambio.

Comentarios

supongo que dnsmasq integrará

Imagen de deathUser

supongo que dnsmasq integrará al dhcp la resolución inversa de nombres, cosa útil si le combinas con avahi y la integración con estaciones Moco$oft Güin2, no lo he visto, solo especulo :D, gracias por los COMOS

bye
;)