Herramientas de usuario

Herramientas del sitio


informatica:certificaciones:lpic:lpic-2:207_domain_name_server:207.2

¡Esta es una revisión vieja del documento!


207.2 Create and maintain DNS zones

Pertenece a Topic 207: Domain Name Server

  • Weight: 3
  • Description: Candidates should be able to create a zone file for a forward or reverse zone and hints for root level servers. This objective includes setting appropriate values for records, adding hosts in zones and adding zones to the DNS. A candidate should also be able to delegate zones to another DNS server.
  • Key Knowledge Areas:
    • BIND 9 configuration files, terms and utilities
    • Utilities to request information from the DNS server
    • Layout, content and file location of the BIND zone files
    • Various methods to add a new host in the zone files, including reverse zones
  • Terms and Utilities:
    • /var/named/
    • zone file syntax
    • resource record formats
    • named-checkzone
    • named-compilezone
    • masterfile-format
    • dig
    • nslookup
    • host

Declaración de una Zona Secundaria

Se denomina zona secundaria, a la zona declarada en un servidor de tipo slave.

Para realizar la declaración de una zona secundaria debemos incluir la siguiente configuración en el fichero named.conf:

zone "nombrezona" {
    type slave;
    masters { direccion_maestro; };    
    file "archivo";
};

Creación de un Fichero de Zona Directa

Suelen ubicarse en los directorio /var/named o /etc/bind

Su nomenclatura suele ser: db.nombrezona

$TTL     ttl
nombrezona IN SOA servidor mailadmin (
    serial
    refresh
    retry
    expire
    negative
)

nombrezona IN NS servidor
Parámetro Descripción
ttl Time To Live (tiempo de vida): indica la duración en segundos que se conservarán los datos en memoria caché. Este valor se precede por la directiva $TTL.
nombrezona FQDN de la zona administrada en este archivo. A menudo reemplazado por una arroba (@) para aligerar el archivo. Atención, como se trata de un FQDN, el nombre de la zona debe acabar con un punto.
IN Obsoleto a la vez que actual: clase Internet (no hay otra clase que se pueda usar).
SOA Start Of Authority. Registro obligatorio para indicar que este servidor es legítimo en esta zona.
servidor FQDN del servidor que tiene autoridad en la zona.
mailadmin Dirección de correo del administrador del servidor. La arroba es un carácter reservado en los archivos de zona, convencionalmente se reemplaza por un punto. admin@midominio.es pasaría a ser entonces admin.midominio.es.
serial Valor numérico. Número de serie del archivo. Útil cuando la zona se replica en otros servidores para saber si los datos han cambiado y si debe hacerse la réplica.
refresh Valor numérico. Utilizado cuando la zona se replica. Indica al servidor esclavo con qué intervalo comprobar la validez de su zona.
retry Valor numérico. Utilizado cuando la zona se replica. Si es imposible para el servidor esclavo contactar con el servidor maestro, indica cuánto esperar antes de volverlo a intentar.
expire Valor numérico. Utilizado cuando la zona se replica. Si es imposible para el servidor esclavo contactar con el servidor maestro, indica con cuánto tiempo los registros sin refrescar pierden su validez y deben dejarse de usar.
negative Valor numérico. Indica cuánto tiempo el servidor debe conservar en caché una respuesta negativa.
NS Registro que indica cuál es el servidor de nombres para esta zona.

Creación de un Fichero de Zona Inversa

El fichero de zona inversa tiene la misma estructura que el de la zona directa.

Su nombre se forma con los bytes de la parte de red de la dirección IP ordenados en sentido inverso + .in-addr.arpa, por ejemplo, 10.168.192.in-addr.arpa

$TTL     ttl
nombrezonainv IN SOA servidor mailadmin (
    serial
    refresh
    retry
    expire
    negative
)

nombrezonainv IN NS servidor

Campos de la Cabecera de los Ficheros de Zona

Campo Descripción
ttl (Time To Live) Indica la duración en segundos que se conservarán los datos en memoria caché.
nombrezona FQDN (fully qualified domain name) de la zona administrada. Debe terminar con un punto.
IN Clase Internet
SOA Start Of Authority. Registro obligatorio para indicar que este servidor es legítimo en esta zona.
servidor FQDN del servidor que tiene autoridad en la zona.
mailadmin Dirección de correo del administrador del servidor. La arroba es un carácter reservado en los archivos de zona, convencionalmente se reemplaza por un punto.
serial Número de serie del archivo. Útil cuando la zona se replica en otros servidores para saber si los datos han cambiado y si debe hacerse la réplica.
refresh Utilizado cuando la zona se replica. Indica al servidor esclavo con qué intervalo comprobar la validez de su zona.
retry Utilizado cuando la zona se replica. Si es imposible para el servidor esclavo contactar con el servidor maestro, indica cuánto esperar antes de volver a intentarlo
expire
negative Indica cuánto tiempo el servidor debe conservar en caché una respuesta negativa

Creación de Registros de Zona

Una vez que los ficheros de zona se han creado, basta con añadir tantos registros de recursos como se desee, a razón de uno por línea.

Fichero de Zona directa

Estructura:

; nombre  IN    TipoRR    valor_resuelto
www       IN    A         192.168.3.43

Ejemplo para el fichero de zona directa db.micasa (a partir de una copia de db.local):

$TTL    604800
@       IN     SOA    micasa.local. webmaster.micasa.local. (
                           2    ; Serial
                      604800    ; Refresh
                       86400    ; Retry
                     2419200    ; Expire
                      604800 )  ; Negative Cache TTL
                      
# Servidor DNS del dominio
@      IN      NS    debian10.micasa.local.

@      IN      A     192.168.1.135
debian10 IN    A     192.168.1.135

Fichero de Zona inversa

Estructura de los registros de la zona inversa:

; direccion_host IN PTR nombre
43               IN PTR www

Ejemplo para el fichero de zona inversa db.192.168.1 (a partir de una copia de db.127):

$TTL    604800
@       IN     SOA    micasa.local. webmaster.micasa.local. (
                           1    ; Serial
                      604800    ; Refresh
                       86400    ; Retry
                     2419200    ; Expire
                      604800 )  ; Negative Cache TTL
;
                      
# Servidor DNS del dominio
@      IN      NS    debian10.micasa.local.

# Registro PTR
135    IN      PTR   debian10

Faltaría definir la zona inversa en named.conf.miszonas:

zone "1.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/db.192.168.1;
};

Declaración de una Zona Principal

Se denomina zona principal a la zona declarada en un servidor de tipo master.

Para realizar la declaración de una zona principal debemos incluir la siguiente configuración en el fichero named.conf:

zone "nombrezona" {
    type master;
    file "archivo";
};

Para poder organizar todo mejor, podemos crear las zonas principales en named.conf.miszonas y luego hacer referencia a ese fichero desde named.conf:

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
include "/etc/bind/named.conf.miszonas"

De esta manera, nuestro fichero named.conf.miszonas podría ser:

zone "micasa.local" {
    type master;
    file "/etc/bind/db.micasa";
};

Delegación de zona

A la hora de crear un subdominio, podemos hacerlo de 2 formas: incluyendolo en la zona o creando una zona delegada.

Esta segunda manera nos permitirá administrar el subdominio como una zona separada.

El dominio principal deberá delegar el dns del subdominio. Por ejemplo, para el subdominio scripts.example.org:

scripts 2d IN NS ctl.scripts.example.org.
        2d IN NS bash.scripts.example.org.

ctl.scripts.example.org. 2d IN A 224.123.240.16

bash.scripts.example.org. 2d IN A 224.123.240.18

Actualización de la Configuración

Siempre que realicemos cualquier cambio en los ficheros de configuración de las zonas, debemos reiniciar el servicio o recargar la configuración de las zonas, para que se apliquen los cambios.

  • Reinicio de servicio: /etc/init.d/bind9 restart
  • Recarga de una nueva zona: rndc reload zone midominio.es

Comprobar la configuración de una zona

La herramienta named-checkzone nos permite comprobar si hay errores de sintaxis con las zonas:

Fichero de resolución directa:

named-checkzone micasa.local /etc/bind/db.micasa

Fichero de resolución inversa:

named-checkzone micasa.local /etc/bind/db.192.168.1

Herramientas de Comprobación

nslookup

  • Suele utilizarse en modo interactivo.
  • Los servidores consultados por defecto son los especificados en el fichero /etc/resolv.conf.
  • Por defecto, se realizan consultas tipo A
nslookup

En la sesión interactiva le preguntamos por un dominio:

> google.com
Server:         172.21.40.178
Address:        172.21.40.178#53

Non-authoritative answer:
Name:   google.com
Address: 142.250.184.174
Name:   google.com
Address: 2a00:1450:4003:80c::200e

Si queremos especificarle a nslookup dónde debe realizar las consultas, durante la sesión interactiva lo indicamos con server:

> server 192.168.1.135
Default server: 192.168.1.145
Address: 192.168.1.135#53

Ahora podemos preguntarle de nuevo:

> debian10.micasa.local
Server:         192.168.1.135
Address:        192.168.1.135#53

Name:   debian10.micasa.local
Address: 192.168.1.135

dig

Herramienta de consulta y diagnóstico de servidores DNS.

Sintaxis:

dig nombre

Si queremos indicar el servidor DNS al que hacer consultas:

dig @A.B.C.D nombre TIPO
  • nombre: Nombre del host a resolver.
  • @A.B.C.D: Indicamos la IP del servidor DNS a consultar
  • TIPO: Indicamos el tipo de consulta a realizar

Ejemplo:

dig @8.8.8.8 facebook.com MX
tempwin@vmi282687:~$ dig @8.8.8.8 facebook.com MX

; <<>> DiG 9.11.5-P4-5.1+deb10u3-Debian <<>> @8.8.8.8 facebook.com MX
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61194
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;facebook.com.                  IN      MX

;; ANSWER SECTION:
facebook.com.           1538    IN      MX      10 smtpin.vvv.facebook.com.

;; Query time: 17 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Apr 12 11:47:32 CEST 2021
;; MSG SIZE  rcvd: 68

Para sacar información de todo tipo de registros: dig dominio ANY

host

Herramienta sencilla para realizar peticiones DNS.

host nombre
host –t TIPO nombre A.B.C.D
  • nombre: Nombre del host a resolver.
  • A.B.C.D: Indicamos la IP del servidor DNS a consultar
  • TIPO: Indicamos el tipo de consulta a realizar
host –t MX facebook.com 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:

facebook.com mail is handled by 10 smtpin.vvv.facebook.com.
informatica/certificaciones/lpic/lpic-2/207_domain_name_server/207.2.1619176310.txt.gz · Última modificación: por tempwin