# Archivo de zona DNS

En el sistema de nombres de dominio (DNS), un archivo de zona es un archivo de texto que describe el contexto de una zona DNS. Dentro de este contexto se define la estructura jerárquica del dominio, tal como la relación entre nombres de dominio y direcciones IP (entre otras). Este orden sigue el estándar de los registros de recursos (RR). Un archivo de zona puede ser utilizado tanto para describir una zona como para listar el contenido de un caché de DNS.

## Formato de archivo

El formato de un archivo de zona está definido en RFC 1035 (sección 5) y RFC 1034 (sección 3.6.1). Este formato fue inicialmente implementado por el software Berkeley Internet Name Domain (BIND), sin embargo luego fue adoptado de forma universal por otros servidores DNS. Algunos de ellos (tales como NSD o PowerDNS) solo utilizan este formato como un punto de partida para luego convertirlo (y expandirlo) a un formato propio de base de datos. Por ejemplo, la integración de base de datos entre los DNS de Microsoft y Active Directory.
Anatómicamente, este archivo se conforma por una asociación de entradas separadas por saltos de líneas. Cada entrada está conformada por campos conformando un registro de recurso (RR), que pueden estar separados por espacios o tabs. El orden es el siguiente:
| Nombre | TTL | Clase | Tipo | Datos |
El campo Nombre puede dejarse en blanco. Si es así, el registro hereda el valor del registro anterior.
El campo TTL (tiempo de vida) especifica el tiempo después del cual un cliente DNS debe descartar el registro y realizar una nueva operación de resolución. Si no se especifica, se utilizará el valor por default definido en la cabecera del archivo.
La Clase del registro indica el contexto. El más utilizado es IN (Internet), pero existen otros como CH (CHAOS) y HS (HESIOD).
El Tipo de registro indica el formato de los datos almacenados en el campo Datos (último campo). Por ejemplo, el registro A se usa para traducir de un nombre de dominio a una dirección IPv4, el registro NS enumera qué servidores de nombres pueden responder búsquedas en una zona DNS, y el registro MX especifica el servidor de correo utilizado para manejar el correo de un dominio especificado en una dirección de correo electrónico.
Los Datos consisten en uno o más segmentos de información que dependen del Tipo establecido. Por ejemplo, si el tipo de registro es A, los datos se conformarán con un único valor: una dirección IP. En cambio, si el registro es MX (intercambiador de correo), los datos se constituirán de dos valores: la prioridad y el dominio (separados por un espacio en blanco).
A diferencia de los campos de cada entrada, las entradas no necesitan seguir un orden específico para ser interpretadas, salvo algunas excepciones. Para conveniencia de lectura, es posible escribir un mismo registro de recurso en múltiples líneas si dicho registro se encierra entra paréntesis. Por otro lado, se pueden agregar comentarios al archivo anteponiendo un punto y coma al principio de la línea o luego del registro de recurso (para escribir un comentario sobre ese registro, por ejemplo). El archivo puede contener cualquier cantidad de líneas vacías, con o sin comentarios.
El archivo de zona puede también definir algunas directivas señaladas con el signo de dólar al comienzo y una palabra clave. La más notable es $ORIGIN, la cual indica el punto de entrada de la zona dentro de la jerarquía del DNS. Si se omite esta directiva, el software infiere el origen a partir de la referencia al archivo en la configuración del servidor.
La configuración mínima para un archivo de zona debe contemplar el registro de Inicio de Autoridad o Start of Authority (SOA), con el nombre del servidor de nombres primario autorizado para manejar la zona, y la dirección de correo electrónico del administrador responsable. Los parámetros del registro SOA también especifican controles de tiempo y caducidad, como el número de serie, período de actualización, reintento y caducidad secundarios, y el tiempo máximo del caché de registros. Algunos software de servidor DNS, como BIND, también requieren de (al menos) un registro de servidor de nombres adicional. Para la dirección de correo electrónico se sustituye el símbolo @ por un punto. Los nombres de hosts que no terminan en un punto son relativos al origen. Por ejemplo, en la zona anterior, www se refiere a www.example.com, y example.com. (nótese la terminación con punto) es example.com y no example.com.example.com. A los hosts terminados en un punto se les conoce como nombres de dominio totalmente calificados (FQDN).
Un ejemplo de archivo de zona referenciado por la configuración del servidor (como BIND):

## Zona raíz (root) y dominios de nivel superior (TLDs)

Los archivos de zona para la zona raíz del DNS y para el conjunto de dominios de nivel superior contienen registros de recursos solo para los servidores de nombres de dominio autoritarios para cada nombre de dominio.

## Localhost

Algunos software de servidor configuran automáticamente registros de recursos para dominios o nombres de host comunes como localhost, sin embargo también es posible utilizar un archivo maestro de zona personalizado.
Un ejemplo de configuración manual para localhost:
Su correspondiente zona inversa:
Este archivo no especifica el origen, por lo que puede utilizarse tanto para IPv4 como para IPv6 con la siguiente configuración:
Para prevenir que el servidor de DNS referencie a otros (por ejemplo, servidores de DNS externos), se pueden crear similares archivos maestros de zona de resolución inversa para direcciones de broadcast y direcciones nulas.