Un archivo de zona contiene los registros de recursos DNS para todos los nombres de dominio asociados con la zona. Los archivos de zona almacenan todos los datos servidos por un servidor DNS. Esta receta describe el formato de archivo de zona básico sin ningún registro de recursos adecuado para cualquier tipo de archivo de zona.
El archivo de zona debe crearse dentro del directorio de trabajo del servidor DNS. No hay ningún requisito para los nombres de archivo con el archivo de zona, pero un estándar razonable es db.nombre de dominio, el nombre del dominio precedido por db.
El formato básico del archivo de zona es un campo de tiempo de vida (TTL) seguido de los registros de inicio de autoridad (SOA). El TTL instruye a los servidores DNS no autoritativos por cuánto tiempo deben almacenarse en caché los registros recuperados del archivo de zona. Cuanto más largo sea este período, más tiempo llevará propagar los cambios a los archivos de zona. Cuanto más corto sea el TTL, más difícilmente funcionarán los servidores DNS porque los servidores no autorizados tendrán que hacerle la misma pregunta con más frecuencia. Los valores de unas pocas horas a un día son razonables.
Un valor TTL entero se interpreta como segundos, aunque para aquellos de nosotros que no somos calculadoras ambulatorias, agregar m al final significa minutos, h horas, d días y w semanas. Un día estaría representado por alguna de las siguientes líneas:
$ TTL 86400
$ TTL 1440m
$ TTL 24h
$ TTL 1d
La sección SOA es un fragmento de código intimidante para los no iniciados, pero cada campo en la SOA tiene un propósito significativo. Tomado una pieza a la vez, es simple. La SOA comienza con el nombre de dominio principal de la zona (usaremos tech-recipes.com en esta receta), la clase de la zona (IN), SOA y los siguientes siete campos en orden:
MNAME El servidor maestro de DNS para la zona (por ejemplo, ns1.tech-recipes.com).
RNAME Una dirección de correo electrónico para alguien responsable del dominio (con la @ reemplazada con una.) Como nospam.tech-recipes.com.
Número de serie Este valor es quizás la mayor fuente de rascado principal relacionado con DNS. Para hacer las cosas más rápidas y eficientes, BIND procesa los archivos de zona en otro formato. Cuando BIND carga un archivo de zona al inicio, verifica el número de serie y solo procesa el archivo de zona si el número de serie es más grande que su versión procesada previamente. Por lo tanto, si cambia el archivo de zona pero no el número de serie, BIND ignorará los cambios.
Un formato común para el número de serie contiene la fecha y un número de serie único (YYYYMMDDNN) como 2004010402 para la segunda revisión (02) del archivo el 4 de enero de 2004. Esto permite 100 cambios al archivo en un día. Si se requieren más cambios, recomiendo ir a casa para una buena noche de sueño.
Refrescar Los servidores secundarios o esclavos pueden configurarse para sondear el servidor maestro con este período para verificar si el número de serie ha cambiado y, por lo tanto, si necesita actualizar el archivo de zona.
Procesar de nuevo Si el servidor DNS maestro de la zona no responde a la solicitud de actualización de un servidor esclavo, el servidor esclavo lo preguntará a menudo. Típicamente una hora o menos.
Expirar En el caso de una falla del servidor DNS maestro, un servidor esclavo continuará usando sus datos existentes durante este período de tiempo. Una vez transcurrido el tiempo de vencimiento, los datos se consideran obsoletos y no se utilizarán, momento en el que el dominio ya no se resolverá. Este valor debe ser lo suficientemente largo como para permitir que se corrijan las interrupciones del servidor maestro, en el orden de semanas.
Almacenamiento en caché negativo TTL Las respuestas negativas (como cuando no existe un registro solicitado) también se pueden almacenar en caché en servidores no autorizados. Este campo actúa como el TTL general pero específicamente para respuestas negativas. Los valores pequeños son apropiados (15m a 2h).
Los campos se pueden colocar entre paréntesis si se extienden sobre más de una línea. Poniendo todo esto junto, el siguiente es el archivo de zona (menos los registros de recursos) para el dominio tech-recipes.com:
$ TTL 1d
tech-recipes.com. EN SOA ns1.tech-recipes.com (
nospam.tech-recipes.com
2004010402
1h
15m
4w
1h)
El mayor gotcha con archivos de zona DNS es el uso correcto de la sintaxis de nombre de dominio completa. Esto significa que un nombre de dominio completo terminará con un punto (tech-recipes.com). - Sin este período, BIND asumirá que está usando la taquigrafía y agregará el nombre de dominio predeterminado de la zona al final del nombre (así que tech -recipes.com realmente significaría tech-recipes.com.tech-recipes.com.).