Voy a tratar de explicar como montar un DNS maestro usando BIND en Debian 7 y, después, como hacer las modificaciones pertinentes para montar un DNS esclavo del mismo. Lo primero que tenemos que hacer es disponer de una máquina limpia, yo me he decantado por la última versión de Debian sin entorno gráfico porque estoy un poco cansado de Ubuntu Server y su gestión de interfaces. Una vez actualizados los respositorios e instalado el paquete correspondiente (apt-get install bind9) me dispongo a explicar la configuración:
- Vamos a definir las zonas de búsqueda tanto directas como inversas. Para ello vamos a modificar el fichero /etc/bind/named.conf.local. En mi caso voy a crear una zona llamada "casa.local". En este fichero se indica cual va a ser el tipo del servidor (maestro, esclavo,...) y las rutas de los ficheros de zona.
- Ahora vamos a crear el fichero de búsqueda directa (casa.db). Podemos usar de base uno de los que trae BIND con la instalación para no tener que escribir todo desde cero. Por ejemplo: db.local. Hay que incluir aquellos equipos cuyos nombres queramos que sean resueltos. Ojo con la sintaxis, procurad ser estrictos porque no tolera fallos de caracteres (puntos, puntos y comas,...).
- Hacemos lo mismo con la búsqueda inversa: creamos un fichero (puede usarse uno de ejemplo) y añadimos los datos pertinentes.
- Tenemos que indicar en el fichero de interfaces que el servidor DNS que vamos a utilizar es el servidor que acabamos de montar, es decir: 127.0.0.1.
- En este caso vamos a activar los forwarders para que el equipo solicite externamente aquello que no puede resolver por si mismo, por ejemplo: www.google.com.
- Ya estaría el servidor montado y configurado. Reiniciamos los interfaces de red, reiniciamos el servicio y hacemos pruebas de resolución con varios clientes e, incluso, pruebas de resolución externa.
A partir de esta configuración vamos a montar ahora un nuevo servidor DNS en otra máquina que funcione como esclavo. Los primeros pasos son los mismos: una máquina nueva, actualización de repositorios e instalación del paquete con el servidor. Lo que cambiaría son los siguientes pasos:
- En el fichero de resolución directa del DNS Maestro hay que añadir dos líneas: una en la que indiquemos el servidor dns2 y otra en la que indiquemos la IP que va a tener (192.168.1.60 en este caso).
- También hay que añadir una línea en el fichero de resolución inversa, para indicar el servidor DNS esclavo.
- Ahora tenemos que comunicar la existencia del nuevo servidor esclavo al servidor maestro. Esto lo haremos modificando el fichero de configuración: named.conf.local.
- Y a la inversa, es decir, indicar en el servidor esclavo quien es el maestro. También tenemos que decirle que va a ser del tipo esclavo (slave).
- Es importante indicar en el fichero de interfaces de red del servidor esclavo que la línea dns-nameservers tiene que apuntar a 127.0.0.1, es decir, que él mismo (el servidor esclavo) será el encargado de resolver los nombres. Reiniciamos interfaces de red (en ambos casos) y servicios (en ambos casos) y debería funcionar la resolución de nombres tanto en servidores como en clientes.