Diferencia entre revisiones de «Instalar Servidor DNS (Bind9)»
(No se muestran 7 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
[[category:Linux]] | [[category:Linux]] | ||
'''DNS Domain Name System''' | '''DNS Domain Name System''' | ||
− | Es un servicio que permite | + | Es un servicio que permite asignar nombres de dominio a direcciones IP. |
La configuración del servidor dns. | La configuración del servidor dns. | ||
− | *Ubuntu 20.04 = 10.10.20.10 | + | *Ubuntu 20.04 |
+ | *IP = 10.10.20.10 | ||
*Nombre del dominio = vm.enunpimpam.com | *Nombre del dominio = vm.enunpimpam.com | ||
*Red = 10.10.20.0/24 | *Red = 10.10.20.0/24 | ||
Línea 84: | Línea 85: | ||
;CNAME Record | ;CNAME Record | ||
ftp IN CNAME capi.vm.enunpimpam.com.</syntaxhighlight> | ftp IN CNAME capi.vm.enunpimpam.com.</syntaxhighlight> | ||
− | Aquí, hemos agregado información sobre nuestro servidor DNS y también hemos agregado registros A para | + | 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. |
− | <div class="alert alert-danger"><i class="fas fa-exclamation-circle text-danger fa-3x"></i>'''Cuidado''' No olvidarse del '''punto''' final de cada dominio.</div> | + | |
+ | <div class="alert alert-danger text-center"> | ||
+ | <i class="fas fa-exclamation-circle text-danger fa-3x"></i><span class="nota">'''Cuidado''' No olvidarse del '''punto''' final de cada dominio.</span> | ||
+ | </div> | ||
===Zona Inversa=== | ===Zona Inversa=== | ||
Línea 111: | Línea 115: | ||
129 IN PTR thor.vm.enunpimpam.com. | 129 IN PTR thor.vm.enunpimpam.com. | ||
130 IN PTR mail.vm.enunpimpam.com.</syntaxhighlight> | 130 IN PTR mail.vm.enunpimpam.com.</syntaxhighlight> | ||
− | + | ||
− | + | <div class="alert alert-danger text-center"> | |
− | + | <i class="fas fa-exclamation-circle text-danger fa-3x"></i><span class="nota">'''Cuidado''' No olvidarse del '''punto''' final de cada dominio.</span> | |
− | + | </div> | |
− | + | ||
− | |||
==Comprobación== | ==Comprobación== | ||
+ | Reincidamos el servicio Bind9 | ||
systemctl restart bind9 | systemctl restart bind9 | ||
+ | |||
+ | <div class="alert alert-info">Si el Firewall del sistema operativo esta activado, hay que permitir el acceso al puetro 43 con el siguiente comando.</div> | ||
ufw allow 43 | ufw allow 43 | ||
<syntaxhighlight> | <syntaxhighlight> | ||
Línea 126: | Línea 132: | ||
root@svm:/etc/bind#</syntaxhighlight> | root@svm:/etc/bind#</syntaxhighlight> | ||
− | + | ===comprobación de la configuración=== | |
+ | Comprobar que la configuración del archivo <code>named.conf.local</code> es correcta.(solo en caso de fallo devuelve resultado). | ||
named-checkconf named.conf.local | 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 | named-checkzone vm.enunpimpam.com forward.vm.enunpimpam.com | ||
<syntaxhighlight>zone vm.enunpimpam.com/IN: loaded serial 2 | <syntaxhighlight>zone vm.enunpimpam.com/IN: loaded serial 2 | ||
OK</syntaxhighlight> | OK</syntaxhighlight> | ||
− | + | Para comprobar que la búsqueda en la zona inversa. | |
named-checkzone vm.enunpimpam.com reverse.vm.enunpimpam.com | named-checkzone vm.enunpimpam.com reverse.vm.enunpimpam.com | ||
<syntaxhighlight>zone vm.enunpimpam.com/IN: loaded serial 1 | <syntaxhighlight>zone vm.enunpimpam.com/IN: loaded serial 1 | ||
OK</syntaxhighlight> | OK</syntaxhighlight> | ||
− | === | + | |
+ | ===Testando servidor DNS=== | ||
+ | |||
+ | Para comprobar el funcionamiento del servidor DNS, utilizaremos otra maquina con Linux, editamos el archivo <code>resolv.conf</code> introducimos la IP del servidor DNS y el nombre del dominio. | ||
nano /etc/resolv.conf | nano /etc/resolv.conf | ||
Línea 144: | Línea 155: | ||
options edns0 | options edns0 | ||
search vm.enunpimpam.com</syntaxhighlight> | search vm.enunpimpam.com</syntaxhighlight> | ||
+ | |||
+ | Realizamos una petición de consulta al servidor principal del dominio sobre el nombre del dominio. <code class="alert-success>vm.enunpimpam.com</code> | ||
dig primary.vm.enunpimpam.com | dig primary.vm.enunpimpam.com | ||
+ | |||
<syntaxhighlight> | <syntaxhighlight> | ||
; <<>> DiG 9.16.1-Ubuntu <<>> primary.vm.enunpimpam.com | ; <<>> DiG 9.16.1-Ubuntu <<>> primary.vm.enunpimpam.com | ||
Línea 164: | Línea 178: | ||
− | + | Ahora realizamos una consulta sombre la IP del servidor DNS: | |
− | |||
dig -x 10.10.20.129 | dig -x 10.10.20.129 | ||
Línea 186: | Línea 199: | ||
;; MSG SIZE rcvd: 54</syntaxhighlight> | ;; MSG SIZE rcvd: 54</syntaxhighlight> | ||
− | + | POr ultimo comprobamos que el servidor DNS resuelve correctamente los nombres del dominio y las IP | |
− | |||
nslookup primary.vm.enunpimpam.com | nslookup primary.vm.enunpimpam.com |
Revisión actual del 11:16 14 may 2020
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
Sumario
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.options
con 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.
Cuidado No olvidarse del punto final de cada dominio.
Comprobación
Reincidamos el servicio Bind9
systemctl restart bind9
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