12.4. Uso de rndc

BIND incluye una utilidad llamada rndc la cual permite la administración de línea de comandos del demonio named desde el host local o desde un host remoto.

Para prevenir el acceso no autorizado al demonio named, BIND utiliza un método de clave secreta compartida para otorgar privilegios a hosts. Esto significa que una clave idéntica debe estar presente en los archivos de configuración /etc/named.conf y en el rndc, /etc/rndc.conf.

12.4.1. Configuración de /etc/named.conf

Para que rndc se pueda conectar a un servicio named, debe haber una declaración controls en el archivo de configuración del servidor BIND /etc/named.conf.

La declaración controls mostrada abajo en el ejemplo permite a rndc conectarse desde un host local.

controls {
  inet 127.0.0.1 allow { localhost; } keys { <key-name>; };
};

Esta declaración le dice a named que escuche en el puerto por defecto TCP 953 de la dirección loopback y que permita comandos rndc provenientes del host local, si se proporciona la clave correcta. El valor <key-name> se relaciona con la declaración key, la cual esta también en el archivo /etc/named.conf. El ejemplo siguiente ilustra la declaración key.

key "<key-name>" {
  algorithm hmac-md5;
  secret "<key-value>";
};

En este caso, el <key-value> es una clave HMAC-MD5. Use el comando siguiente para generar claves HMAC-MD5:

dnssec-keygen -a hmac-md5 -b <bit-length> -n HOST <key-file-name>

Una clave con al menos un largo de 256-bit es una buena idea. La clave actual debería ser colocada en el área <key-value> se puede encontrar en <key-file-name>.

AtenciónAtención
 

Debido a que /etc/named.conf está accesible a todo el mundo, es una buena idea colocarlo en la declaración key en un archivo separado que sólo esté accesible por root y luego utilizar una declaración include para referenciarlo, como se muestra en el ejemplo siguiente:

include "/etc/rndc.key";

12.4.2. Configuración de /etc/rndc.conf

La declaración key es la más importante en /etc/rndc.conf.

key "<key-name>" {
  algorithm hmac-md5;
  secret "<key-value>";
};

<key-name> y <key-value> deberían ser exáctamente los mismos que sus configuraciones en /etc/named.conf.

Para coincidir las claves especificadas en el archivo de configuración del servidor objetivo /etc/named.conf, agregue las líneas siguientes a /etc/rndc.conf.

options {
  default-server  localhost;
  default-key     "<key-name>";
};

Este comando configura una clave global por defecto. Sin embargo, el comando rndc también puede usar claves diferentes para servidores diferentes, como en el ejemplo siguiente:

server localhost {
  key  "<key-name>";
};

AtenciónAtención
 

Asegúrese de que sólo el usuario root pueda leer y escribir al archivo /etc/rndc.conf.

12.4.3. Opciones de línea de comandos

Un comando rndc toma la forma siguiente:

rndc <options> <command> <command-options>

Cuando esté ejecutando rndc en una máquina local configurada de la forma correcta, los comandos siguientes están disponibles:

Ocasionalmente, puede ser necesario ignorar las configuraciones por defecto en el archivo /etc/rndc.conf. Estan disponibles las siguientes opciones:

Se puede encontrar información adicional sobre estas opciones en la página del manual de rndc.