Anterior Siguiente Contenido

2. El archivo de arranque

El primer archivo en la configuración de un servidor de nombres es el archivo de arranque, que es leído por el demonio named cuando arranca para saber a qué dominios va a servir y dónde encuentra las tablas de máquinas y direcciones IP, entre otras cosas. Este archivo es generalmente /etc/named.boot. Un ejemplo típico de este archivo es el siguiente:

;
; Archivo /etc/named.boot para master.cfemex.com
;
directory       /var/named
;
;               dominio                  archivo        respaldo
;----------------------------------------------------------------------
cache           .                        db.cache       
primary         cfemex.com               db.cfemex.com
primary         16.159.in-addr.arpa      db.159.16
primary         0.0.127.in-addr.arpa     db.local
forwarders      159.16.10.24

Las líneas que conforman el archivo se describen a continuación.

2.1 directory

Indica el directorio donde named debe buscar los archivos que aparecen en las líneas siguientes. Si named no encuentra esta línea, buscará los archivos en el directorio /etc.

2.2 cache

Esta línea indica el archivo que contiene las direcciones de los servidores de nombres para dominios superiores. Es muy importante porque sin ella nuestro servidor de nombres no podrá resolver ningún nombre excepto aquellos para los cuales es autoritativo.

En una máquina conectada a internet este archivo debe contener las direcciones de las máquinas encargadas de resolver dominios superiores (.com o .edu, por ejemplo). Un archivo de caché correcto y actualizado puede obtenerse de ftp.rs.internic.net.

En una red interna que no tiene acceso a internet, o en una que se encuentra detrás de un firewall, este archivo debe estar presente pero puede estar vacío, ya que no hay necesidad de resolver nombres para máquinas de ningún dominio superior.

El archivo de caché para un subdominio que no tiene acceso a Internet, o sea, a servidores raíz, debería apuntar a su servidor de dominio superior. Aquí está una muestra del archivo de master.cfemex.com:

.                         99999999 IN  NS        INTERNET.CFEMEX.COM
INTERNET.CFEMEX.COM       99999999     A         159.16.10.24

2.3 primary

Indica un dominio para el cual este servidor de nombres es autoritativo. Para convertir nombres en direcciones IP la sintaxis es sencilla; basta poner el nombre del dominio completo y el archivo que contiene los nombres de las máquinas con sus direcciones IP. Cuando se trata de convertir direcciones IP a nombres, la sintaxis puede parecer un poco extraña. La pieza de información siguiente a la palabra primary no es otra cosa que el segmento de direcciones IP para el cual esta máquina es autoritativa, sólo que con los números invertidos y las palabras in-addr.arpa añadidas después de un punto. Al final queda, por supuesto, el archivo que contiene el mapeo de direcciones a nombres. Por ejemplo: el servidor de nombres cuyo archivo de arranque aparece arriba resuelve direcciones para todas las máquinas bajo el dominio cfemex.com. Resulta que estas máquinas tienen IPs de la forma 159.16.x.x, por lo que la línea para la resolución reversa contiene el texto: 16.159.in-addr.arpa.

Una línea primary que por lo general está presente es la que resuelve la reversa para las IPs 127.0.0, que es la última línea primary mostrada en el archivo de ejemplo, más arriba.

2.4 secondary

Al igual que primary, esta línea indica un dominio para el cual somos autoritativos, pero del que no obtenemos la información de primera mano a través de un archivo, sino a través de otro servidor de nombres. Esta línea sirve para implementar redundancia: dos servidores de distintos dominios pueden declararse secundarios mutuamente y, si alguno de los dos se cae, el otro podrá responder por ambos hasta que el servicio se restablezca. La pieza de información que sigue a la palabra secondary es la dirección del servidor de nombres del otro dominio, y a continuación tenemos un archivo donde named depositará la información que obtenga para la eventualidad de que el otro servidor se caiga, como ya dijimos.

2.5 forwarders

Esta línea sirve para indicar servidores de niveles superiores al nuestro, con el fin de redirigir las peticiones de información que el servidor de nombres no puede resolver. En este ejemplo ponemos la dirección del servidor de nombres externo de CFE porque suponemos que es el más indicado para resolver peticiones fuera de nuestra red.

2.6 Ejemplos de archivos de arranque

Para un zona subordinada

Supongamos que queremos dar de alta un servidor de nombres para una subzona de cfemex.com, por ejemplo norte.cfemex.com. El archivo de arranque debería ser como el siguiente:

;
; Archivo /etc/named.boot para la zona norte.cfemex.com
;

directory /var/named
cache          .                       db.cache
primary        norte.cfemex.com        db.norte.cfemex.com
primary        10.16.159.in-addr.arpa  db.159.16.10
primary        0.0.127.in-addr.arpa    db.local
forwarders     159.16.10.8

Nótese el uso de la línea forwarders: el servidor de nombres para la zona norte.cfemex.com necesita de un servidor de orden superior que le resuelva nombres que no estén en su dominio. Necesita también de un archivo de caché que contenga un servidor de orden superior:

.                       99999999 IN  NS        MASTER.CFEMEX.COM
MASTER.CFEMEX.COM       99999999     A         159.16.10.8

En este caso, el servidor de orden superior apunta a master.cfemex.com, que es el indicado para resolver nombres que quedan fuera de la jurisdicción de la zona norte.

Para un servidor que sólo es secundario

Un servidor secundario sólo utiliza líneas secondary, no se declara primario para ningún dominio (a excepción de la reversa de 127.0.0). Es el ejemplo típico de un servidor de respaldo, que se vuelve esencial cuando el servidor primario falla:

;
; Archivo de arranque para un servidor secundario
;
directory                           /var/named
;
; Tipo        Dominio               servidor primario    respaldo
;
cache         .                                          db.cache
secondary     cfemex.com            master.cfemex.com    db.cfemex.com
primary       0.0.127.in-addr.arpa                       db.local

La línea secondary indica el dominio para el cual se declara autoritativo, el servidor primario de donde recibe su información, y un archivo de respaldo, donde named guarda la información del dominio a modo de respaldo, para el caso de que el servidor primario falle.

Para un servidor sólo caché

Un servidor que sólo hace caché es un servidor que no es primario para ningún dominio, sólo redirige las peticiones de información hacia otro servidor y guarda las respuestas. Un servidor de nombres de este tipo es útil porque disminuye el tráfico de peticiones de resolución de nombres en la red. Un archivo de arranque típico para una máquina con acceso completo a Internet, es decir, que puede ver los servidores raíz, sería el siguiente:

;
; Archivo de arranque para un servidor de sólo caché
;
;
directory   /var/named
cache       .                      db.cache
primary     0.0.127.in-addr.arpa   named.local

En caso de que el servidor de nombres no tenga acceso completo a Internet, el archivo deberá contener una línea forwarders y necesitará un archivo de caché similar al de la sección previa.


Anterior Siguiente Contenido