La configuración de BIND se realiza por completo con el archivo
/etc/named.conf. Los datos propios de la zona, que son
los nombres de los ordenadores, direcciones IP, etc. de los dominios
administrados, se han de anotar en archivos adicionales dentro del
directorio /var/lib/named. Esta información se ampliará
más adelante.
A grandes rasgos, /etc/named.conf se estructura en dos
secciones: la primera es options para la configuración
general y la siguiente es la que contiene las entradas
zone para los diferentes dominios. También es posible
utilizar una sección logging o
una con entradas del tipo acl
(Access Control List). Las líneas comentadas
comienzan con el símbolo # o //.
El Ejemplo 40.2, “Archivo /etc/named.conf” representa un
archivo /etc/named.conf muy sencillo.
Ejemplo 40.2. Archivo /etc/named.conf
options {
directory "/var/lib/named";
forwarders { 10.0.0.1; };
notify no;
};
zone "localhost" in {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
};
zone "." in {
type hint;
file "root.hint";
};filename";
especifica el directorio que contiene los archivos con los datos de
zona. Este es normalmente /var/lib/named.
ip-address; };
se utiliza para indicar uno o varios servidores de nombres (generalmente
los del proveedor) para pasarles las consultas DNS que no se pueden
resolver directamente. En lugar de ip-address
utilice una dirección IP como 10.0.0.1.
hace que las consultas DNS se reenvíen antes de tratar de resolverlas
mediante un servidor de nombres raíz. En lugar de forward
first también es posible utilizar forward
only para que todas las consultas sean siempre reenviadas sin
acceder nunca a los servidores de nombres raíz. Esta es una opción razonable
para una configuración con cortafuegos.
ip-address; };
indica las interfaces de red y el puerto que debe utilizar BIND para
atender las peticiones DNS realizadas por los clientes. Es posible
suprimir port 53, ya que éste es el puerto estándar.
Por medio de 127.0.0.1 se autorizan las consultas del
ordenador local. Si se omite esta entrada, se utilizan por defecto todas
las interfaces.
indica a BIND el puerto en el que ha de esperar las consultas de los
clientes que utilizan IPv6. Además de any sólo se
admite none, ya que el servidor siempre escucha en la
dirección comodín de IPv6.
Esta entrada puede resultar útil si un cortafuegos bloquea las consultas DNS externas, ya que BIND deja de utilizar los puertos altos (superiores a 1024) y realiza las consultas externas desde el puerto 53.
Esta entrada debe utilizarse para las consultas realizadas a través de IPv6.
net; };
determina desde qué redes está permitido hacer consultas DNS. En lugar de
net debe introducirse una dirección como
192.168.1/24. /24 es una
abreviatura que representa el número de bits en la máscara de red, en
este caso 255.255.255.0.
determina qué ordenadores pueden solicitar transferencias de zonas.
! * prohibe totalmente la transferencia. Suprimiendo
esta entrada, cualquier ordenador puede solicitar las transferencias de
zona.
Sin esta entrada, BIND crea cada hora varias líneas con datos
estadísticos en /var/log/messages. Indicando
0, los mensajes se suprimen. El tiempo se expresa en
minutos.
Esta opción indica el intervalo de limpieza de la cache de BIND. Cada vez
que se realiza esta acción se crea una entrada en
/var/log/messages. El tiempo se indica en minutos y
el valor predeterminado es de 60 minutos.
BIND busca continuamente interfaces de red nuevas o canceladas Esta
opción se suprime introduciendo el valor 0. De este
modo, BIND sólo escucha en las interfaces que existían en el momento del
inicio. Es posible indicar un intervalo en minutos; el valor
predeterminado es 60 minutos.
significa que el cambio de los datos de zona o el reinicio del servidor de nombres no se notifica a ningún otro servidor de nombres.
Existen muchas posibilidades de registrar eventos con BIND. Normalmente la configuración predeterminada es suficiente. El Ejemplo 40.3, “Registro suprimido” muestra la forma más sencilla de una configuración que suprime totalmente el “registro”:
Ejemplo 40.4. Zone Entry for my-domain.de
zone "my-domain.de" in {
type master;
file "my-domain.zone";
notify no;
};
Después de zone se indica el nombre de dominio a
administrar (en este caso mi-dominio.es) seguido de
in y un bloque de opciones entre corchetes; véase el
Ejemplo 40.4, “Zone Entry for my-domain.de”. Para definir una zona esclava o
slave zone, sólo es necesario cambiar
type a slave e indicar un servidor
de nombres que administre esta zona como master (también
puede ser un “slave”); véase el Ejemplo 40.5, “Configuración de mi-dominio.es”.
Ejemplo 40.5. Configuración de mi-dominio.es
zone "otro-dominio.es" in {
type slave;
file "slave/otro-dominio.zone";
masters { 10.0.0.1; };
};Las opciones de zona:
master significa que esta zona se
administra en este servidor de nombres. Es algo que requiere un archivo
de zona muy bien configurado.
Esta zona se transfiere de otro servidor de nombres. Hay que usarlo junto
con masters.
La zona . del tipo hint se utiliza
para indicar los servidores de nombres raíz. Es una definición de zona
que no se modifica.
mi-dominio.zone o file “slave/otro-dominio.zone”;
Esta entrada indica el archivo que contiene los datos de zona para el
dominio. En caso de un slave no hace
falta que el archivo exista, ya que se trae desde otro servidor de
nombres. Para separar los archivos de esclavo y de maestro, se indica
slave como directorio de los archivos slave.
server-ip-address; };Esta entrada sólo se requiere para zonas esclavo e indica desde qué servidor de nombres se debe transferir el archivo de zona.
Esta opción regula el acceso de escritura desde el exterior a los datos
de zona. Es una opción que permite a los clientes de crear su propia
entrada en el DNS, lo que no es deseable por razones de seguridad. Sin
esta entrada las actualizaciones de zona están prohibidas, cosa que no
cambia nada en este ejemplo, ya que ! * prohibe
igualmente todo.