Instalar Servidor DNS (Bind9)

De enunpimpam
Saltar a: navegación, buscar

DNS Domain Name System Es un servicio que permite asignar nombres de dominio a direcciones IP.

La configuración del servidor dns.

  • Ubuntu 20.04
  • IP = 10.10.20.10
  • Nombre del dominio = vm.enunpimpam.com
  • Red = 10.10.20.0/24

Instalar Bind 9

apt-get install bind9 bind9utils bind9-doc dnsutils

Configurar Bind9

Todos los archivos para configurar Bind9 están dentro /etc/bind

Editaremos el archivo named.conf.optionscon la siguiente configuración.

  • Permitir la consulta de dns desde red privada (LAN).
  • Permitir consulta recursiva
  • Especifique el puerto DNS (53)
  • Reenviadores (la consulta DNS se reenviará a los reenviadores cuando su servidor DNS local no pueda resolver la consulta)

Según mi configuración de red, he especificado los siguientes parámetros:

nano /etc/bind/named.conf.options
options {
        directory "/var/cache/bind";
        auth-nxdomain no;    # conform to RFC1035
     // listen-on-v6 { any; };
        listen-on port 53 { localhost; 10.10.20.0/24; };
        allow-query { localhost; 10.10.20.0/24; };
        forwarders { 8.8.8.8; };
        recursion yes;
        };

Ahora tenemos que configurar las zona y la búsqueda inversa, en el archivo /etc/bind/named.conf.local.

  • Zona directa vm.enunpimpam.com
  • Zona inversa 20.10.10.in-addr.arpa
nano /etc/bind/named.conf.local
zone    "vm.enunpimpam.com"   {
        type master;
        file    "/etc/bind/forward.vm.enunpimpam.com";
 };

zone   "20.10.10.in-addr.arpa"        {
       type master;
       file    "/etc/bind/reverse.vm.enunpimpam.com";
 };

Zona directa

Ahora tenemos que crear los archivos de configuración de la zona de búsqueda directa y de la búsqueda inversa.

cp db.local forward.vm.enunpimpam.com
nano forward.vm.enunpimpam.com
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     primary.vm.enunpimpam.com. root.primary.vm.enunpimpam.com. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;Name Server Information
@       IN      NS      primary.vm.enunpimpam.com.

;IP address of Your Domain Name Server(DNS)
primary IN       A      10.10.20.10

;Mail Server MX (Mail exchanger) Record
vm.enunpimpam.com. IN  MX  10  mail.vm.enunpimpam.com.

;A Record for Host names
capi    IN       A       10.10.20.128
thor    IN       A       10.10.20.129
mail    IN       A       10.10.20.130

;CNAME Record
ftp     IN      CNAME   capi.vm.enunpimpam.com.

Aquí, hemos agregado información sobre nuestro servidor DNS y también hemos agregado registros A para dos servidores, tambien hemos agregado registros para un servidor de correo y registros CNAME para el servidor ftp.

Cuidado No olvidarse del punto final de cada dominio.

Zona Inversa

cp db.127 reverse.vm.enunpimpam.com
nano reverse.vm.enunpimpam.com
;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     vm.enunpimpam.com. root.vm.enunpimpam.com. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;Your Name Server Info
@       IN      NS      primary.vm.enunpimpam.com.
primary IN      A       10.10.20.10

;Reverse Lookup for Your DNS Server
10      IN      PTR     primary.vm.enunpimpam.com.

;PTR Record IP address to HostName
128      IN      PTR     capi.vm.enunpimpam.com.
129      IN      PTR     thor.vm.enunpimpam.com.
130      IN      PTR     mail.vm.enunpimpam.com.
El PUNTO después de cada dominio

Comprobación

Reincidamos el servicio Bind9

systemctl restart bind9


Si el Firewall del sistema operativo esta activado, hay que permitir el acceso al puetro 43 con el siguiente comando.
ufw allow 43
Rules updated
Rules updated (v6)
root@svm:/etc/bind#

comprobación de la configuración

Comprobar que la configuración del archivo named.conf.local es correcta.(solo en caso de fallo devuelve resultado).

named-checkconf named.conf.local

Para comprobar que la búsqueda en la zona directa esta bien configurada.

named-checkzone vm.enunpimpam.com forward.vm.enunpimpam.com
zone vm.enunpimpam.com/IN: loaded serial 2
OK

Para comprobar que la búsqueda en la zona inversa.

named-checkzone vm.enunpimpam.com reverse.vm.enunpimpam.com
zone vm.enunpimpam.com/IN: loaded serial 1
OK

Testando servidor DNS

Para comprobar el funcionamiento del servidor DNS, utilizaremos otra maquina con Linux, editamos el archivo resolv.conf introducimos la IP del servidor DNS y el nombre del dominio.

nano /etc/resolv.conf
nameserver 10.10.20.10
options edns0
search vm.enunpimpam.com

Realizamos una petición de consulta al servidor principal del dominio sobre el nombre del dominio. vm.enunpimpam.com

 dig primary.vm.enunpimpam.com
; <<>> DiG 9.16.1-Ubuntu <<>> primary.vm.enunpimpam.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 34464
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;primary.vm.enunpimpam.com.	IN	A

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: dom may 10 17:30:22 UTC 2020
;; MSG SIZE  rcvd: 54


Ahora realizamos una consulta sombre la IP del servidor DNS:

dig -x 10.10.20.129
; <<>> DiG 9.16.1-Ubuntu <<>> -x 10.10.20.129
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 52575
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;129.20.10.10.in-addr.arpa.	IN	PTR

;; Query time: 3 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: dom may 10 17:33:46 UTC 2020
;; MSG SIZE  rcvd: 54

POr ultimo comprobamos que el servidor DNS resuelve correctamente los nombres del dominio y las IP

 nslookup primary.vm.enunpimpam.com
Server:		10.10.20.128
Address:	10.10.20.128#53

Name:	primary.vm.enunpimpam.com
Address: 10.10.20.128