Named: deshabilitar el chequeo de zonas en el arranque

Por defecto named (Bind) hace una llamada en el script de arranque a la utilidad named-checkzone para verificar la validez de todas las zonas que componen el servidor antes de arrancar. En caso de detectar cualquier error el arranque se para y recibimos un mensaje de error:

# /etc/init.d/named start
Starting named: 
Error in named configuration:
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
named.empty:10: unknown RR type 'AAAAA'
zone 0.in-addr.arpa/IN: loading from master file named.empty failed: unknown class/type
zone 0.in-addr.arpa/IN: not loaded due to errors.
_default/0.in-addr.arpa/IN: unknown class/type
Starting named:                                            [FAILED]

En este caso hemos forzado un error para poder reproducirlo creando un registro inexistente (AAAAA) en la zona named.empty. En el caso de que tengamos miles de zonas y existan algunas incorrectas puede que no queramos provocar la falla de todo el sistema y que el servicio no arranque. Para ello tenemos la opción de deshabilitar este chequeo inicial añadiendo la opción correspondiente al comando de arranque del named/bind. En el caso de Red Hat y derivados la añadimos de forma ordenada en el fichero de opciones en

/etc/sysconfig/named:

DISABLE_ZONE_CHECKING=yes

Arrancamos el servicio de nuevo, ahora sin problemas:

# /etc/init.d/named start
Starting named:                                            [  OK  ]

Y tranquilamente podemos revisar manualmente o con un script las zonas incorrectas:

# named-checkzone /var/named/named.empty named.empty
named.empty:2: warning: /var/named/named.empty: bad name (check-names)
named.empty:8: warning: /var/named/named.empty: bad name (check-names)
named.empty:9: /var/named/named.empty: bad owner name (check-names)
named.empty:10: unknown RR type 'AAAAA'
zone /var/named/named.empty/IN: loading from master file named.empty failed: unknown class/type
zone /var/named/named.empty/IN: not loaded due to errors.