14 oct 2015

DNS secundario con BIND9 en Ubuntu Server


En este artículo vamos a configurar un sevidor DNS secundario con BIND9 en Ubuntu Server. Tiene algunos matices y añadidos, comparando con el DNS primario que aprendimos a configurar aquí (además explico los conceptos del DNS más importantes desde 0).

DNS secundario es una réplica del primario, que realiza sus funciones en el caso de caída de este. Voy a omitir algunos pasos, cuyas descripciones detalladas podéis ver en el artículo mencionado anteriormente.

Partimos del punto cuando ya tenemos configurado el DNS primario e instalado el secundario en otra máquina, pero aun sin configurar.

1. Configuramos la @IP estática:

Una vez más, vamos al fichero /etc/network/interfaces y asignamos una dirección IP estática a nuestro servidor secundario. En mi caso va a ser la 192.168.0.2/24 (ya que la .1 está ocupada por el DNS primario):


Reiniciamos la interfaz mediante un ifdown eth0 && ifup eth0 y comprobamos si se ha asignado correctamente:


2. Configuramos las zonas de búsqueda.

Primero tenemos que modificar el fichero /etc/bind/named.conf.local, indicando la zona de búsqueda directa (andrii.com en mi caso) y la inversa (0.168.192.in-addr.arpa en este caso). Además dentro de cada zona indicaremos que son de tipo slave (esclavo) y la dirección IP de nuestro DNS primario (master). No olvidamos de mencionar el fichero de la base de datos correspondiente a cada zona.

El fichero quedaría de siguiente manera:


Creamos los ficheros de base de datos para la zona de búsqueda directa e inversa utilizando las plantillas ya conocidas:


Las bases de datos correspondientes a zonas de búsqueda directa e inversa serán idénticas a estas en el servidor primario. Si en el secundario intentamos resolver algo que no está en el servidor primario, no va a funcionar! (Comprobado por mi ;))

Además de las entradas del servidor primario, he agregado un host nuevo (slave.andrii.com), que va a hacer referencia a nuestro servidor DNS secundario:


Pasamos un chequeo al fichero de la zona de búsqueda directa:


Igualmente el contenido de la base de datos de la zona inversa será idéntico al contenido de la base de datos correspondiente del servidor DNS principal:


Nos aseguramos que tampoco haya errores de sintaxis en el fichero de resolución inversa:


Reiniciamos el servicio bind9 para aplicar todas las modificaciones anteriores:


3. Realizamos las pruebas

Para las pruebas voy a utilizar nuestro servidor DNS primario, otro secundario y una máquina cliente con Windows 7. Antes que nada, probamos resolver los nombres desde el propio servidor:


En la máquina con Windows 7 asignamos una IP estática y las direcciones de nuestros servidores DNS:


Abrimos la línea de comandos y probamos resolver www.andrii.com y slave.andrii.com con los 2 servidores levantados:


Ahora apagamos el servidor primario y probamos hacer lo mismo:


Se aprecia claramente que el sistema sigue resolviendo www.andrii.com, a pesar de no poder conectarse al servidor. Por otro lado, sigue resolviendo slave.andrii.com y tiene conectividad con ese host, al estar el servidor secundario en funcionamiento.

No hay comentarios:

Publicar un comentario