Saltar la navegación

1.11.4.- Configuración como DNS maestro.

Citas para pensar

"El maestro sabe lo que hace."Proverbio español

En GNU/Linux Debian y en Ubuntu puedes configurar un servidor DNS BIND como maestro modificando el archivo /etc/bind/named.conf.local realizando el siguiente procedimiento:

  1. Configuras el fichero /etc/bind/named.conf.local para indicar: qué zonas son servidas por el servidor, qué zonas son servidas como master y el fichero donde se guarda el contenido de la zona. Por ejemplo:
    //zonas creadas tipo master
    zone "ejemplo.com" {
            type master;
            file "/var/lib/bind/master/db.ejemplo.com.hosts";
    };

    En este ejemplo, el servidor sirve el dominio "ejemplo.com" como master, y la zona se guarda en el fichero /var/lib/bind/master/db.ejemplo.com.hosts.

    Habrá una entrada de este tipo por cada zona servida.

Normalmente los ficheros de zona están situados en la ruta /var/lib/bind. Entonces, para una mayor comprensión y entendimiento, y para facilidad de uso en posteriores momentos, estaría bien que crearas los directorios master y slave dentro de esa ruta. Así, los ficheros con zonas maestras se pueden encontrar en /var/lib/bind/master/db.*.hosts y los ficheros con zonas esclavas se pueden encontrar en /var/lib/bind/slave/db.*.hosts.
  1. Configuras el fichero /var/lib/bind/master/db.ejemplo.com.hosts para agregar los registros RR a la zona, por ejemplo:
    ;
    ; BIND Database file for ejemplo.com zone 
    ;
    @ IN SOA ejemplo.com. hostmaster.ejemplo.com. (
     2011091601 ; serial number
     3600 ; refresh
     600 ; retry
     1209600 ; expire
     3600 ) ; default TTL
    ;
     IN NS ns.ejemplo.com.
     IN MX 10 mail.ejemplo.com.
     IN TXT ( "v=spf1 mx ~all" )
    ;
    localhost A 127.0.0.1
    ns A 192.168.200.250
    mail A 192.168.200.251
    www A 192.168.200.252
  2. Recargas el servidor con el comando: systemctl reload bind9 ó service bind9 reload ó /etc/init.d/bind9 reload.
  3. Realizas la siguiente consulta: dig ejemplo.com obteniendo una salida similar a la siguiente:
    ; <<>> DiG 9.11.5-P4-5.1+deb10u1-Debian <<>> ejemplo.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15697
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 512
    ;; QUESTION SECTION:
    ;ejemplo.com.			IN	A
    
    ;; ANSWER SECTION:
    ejemplo.com.		21599	IN	A	127.0.0.1
    
    ;; Query time: 135 msec
    ;; SERVER: 192.168.0.1#53(192.168.0.1)
    ;; WHEN: dom may 31 14:32:38 CEST 2020
    ;; MSG SIZE  rcvd: 56

Ejercicio resuelto

¿Cuál sería mediante dig el comando que deberías ejecutar para obtener la IP del servidor de correo correspondiente al dominio ejemplo.com, si el servidor de correo posee el nombre mail?