Configurar un servidor de DNS-cache usando DNSMasq

Como configurar un servidor muy simple de DNS-cache usando DNSMasq en lugar de usar Bind y "acelerar" la conexión a Internet

Instalación del paquete:

Lo primero es instalar los paquetes necesarios se recomienda además de instalar dnsmasq instalar resolvconf, sin embargo esto será opcional y sólo se hará en los casos donde se presente algún problema, bastará con usar el siguiente comando:

sudo apt-get install dnsmasq dnsmasq-base dnsmasq-utils resolvconf

Configuración del dnsmasq para tener un servidor DNS Cache.

Esta información también está contenida en el documento sobre cómo configurar un servidor usando openvpn.

Este paso sólo tiene que editarse el archivo /etc/dnsmasq.conf con los siguientes valores.

resolv-file=/etc/resolv.conf.dnsmasq
listen-address=127.0.0.1
bind-interfaces
cache-size=250
#log-queries #opcional

En el archivo /etc/resolv.conf.dnsmasq habrá que configurar servidores DNS conocidos en este caso dejo los siguientes, sin embargo, pueden ser más servidores.

nameserver 8.8.8.8
nameserver 4.4.4.4
options timeout:1 attempts:3 rotate

Una vez instalado, hay que reiniciar el servicio y con eso ya estaría configurado nuestro servidor de dns cache.

sudo service dnsmasq stop

Configurar más de una dirección IP en nuestro servidor

En ocasiones se requiere configurar varias direcciones IP para nuestro servidor de DNS, esto debido a que tenemos distintas tarjetas de red configuradas para distintas redes, o porque deseamos tener un control más específico de ciertos segmentos de red, etc.

Para ello lo que podemos hacer es lo siguiente:

En el archivo /etc/dnsmasq.conf buscamos la siguiente línea de listen-address y agregamos las direcciones que correspondan a nuestras interfaces de red, ejemplo:

listen-address=127.0.0.1,192.168.1.10,10.9.8.2

Una vez reiniciado el servicio podriamos verificar los servidores con el siguiente comando

# netstat -patan|grep 53
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 103455/dnsmasq
tcp 0 0 192.168.8.10:53 0.0.0.0:* LISTEN 103455/dnsmasq
tcp 0 0 10.9.8.2:53 0.0.0.0:* LISTEN 103455/dnsmasq
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1635/dnsmasq