GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar servidores DNS privados con BIND en CentOS 8

BIND, también conocido como el "Dominio de nombres de Internet de Berkeley", es uno de los sistemas de nombres de dominio (DNS) más populares en la actualidad. Es de código abierto y proporciona servicios DNS en sistemas operativos Linux. En general, le ayuda a convertir un nombre de dominio completo en una dirección IP o una dirección IP en un nombre de dominio. Se puede utilizar como un servidor de nombres autoritativo y ofrece varias funciones, como equilibrio de carga, actualización dinámica, DNS dividido, etc.

En este tutorial, le mostraremos cómo configurar un servidor DNS privado con BIND en CentOS 8. En una nota relacionada, eche un vistazo a nuestro tutorial sobre la instalación y configuración de un servidor DNS (BIND) simple en Debian 9.

Requisitos

  • Un CentOS 8 VPS (usaremos nuestro plan SSD 2 VPS)
  • Acceso a la cuenta de usuario root (o acceso a una cuenta de administrador con privilegios de root)

A los efectos de este tutorial, utilizaremos la siguiente configuración:

Nombre de host: ns1.rosehosting.local
Dirección IP: 192.168.1.100
Red local: 192.168.1.0/24

Paso 1:Inicie sesión en el servidor y actualice los paquetes del sistema operativo del servidor

Primero, inicie sesión en su servidor CentOS 8 a través de SSH como usuario raíz:

ssh root@IP_Address -p Port_number

Deberá reemplazar 'IP_Address' y 'Port_number' con la dirección IP y el número de puerto SSH respectivos de su servidor. Además, reemplace "root" con el nombre de usuario de la cuenta de administrador si es necesario.

Antes de comenzar, debe asegurarse de que todos los paquetes de CentOS instalados en el servidor estén actualizados. Puede hacerlo ejecutando los siguientes comandos:

dnf update -y

Paso 2:Instalar el servidor BIND DNS

De forma predeterminada, el paquete de enlace está disponible en el repositorio estándar de CentOS 8. Puede instalarlo ejecutando el siguiente comando:

dnf install bind bind-utils -y

Una vez que BIND esté instalado, inicie el servicio BIND y habilítelo para que se inicie al reiniciar el sistema:

systemctl start named
systemctl enable named

Paso 3:configurar el servidor BIND DNS

De forma predeterminada, el servidor BIND escucha solo en localhost. Por lo tanto, deberá configurarlo para escuchar en todas las interfaces de red. Puede configurarlo editando el archivo /etc/named.conf:

nano /etc/named.conf

Comente las siguientes líneas:

//listen-on port 53 { 127.0.0.1; };
//listen-on-v6 port 53 { ::1; };

Cambie la siguiente línea para permitir la consulta de su red local:

allow-query     { localhost;192.168.1.0/24; };

Guarde y cierre el archivo cuando haya terminado.

Paso 4:Crear zona DNS directa e inversa

Se utiliza una zona directa para resolver el nombre de host en la dirección IP, mientras que una zona inversa se utiliza para resolver la dirección IP en el nombre de host. En general, todas las consultas de DNS normales son consultas de búsqueda directa. Puede definir las zonas de búsqueda directa e inversa en el archivo /etc/named.conf.

Edite el archivo /etc/named.conf con el siguiente comando:

nano /etc/named.conf

Agregue las siguientes líneas al final del archivo

//Forward Zone
zone "rosehosting.local" IN { 

           type master;  
           file "rosehosting.local.db"; 
           allow-update { none; };  

};

//Reverse Zone
zone "1.168.192.in-addr.arpa" IN { 

             type master;  
             file "192.168.1.db";             
             allow-update { none; };

};

Guarde y cierre el archivo cuando haya terminado.

Paso 5:Crear archivos de zona de avance y retroceso

A continuación, deberá crear archivos de zona de avance y retroceso definidos en el paso anterior. De forma predeterminada, todos los archivos de búsqueda de zona se encuentran dentro del directorio /var/named.

Primero, cree un archivo de zona de reenvío con el siguiente comando:

nano /var/named/rosehosting.local.db

Agregue las siguientes líneas:

$TTL 86400
@   IN  SOA     ns1.rosehosting.local. root.rosehosting.local. (
                                              3           ;Serial
                                              3600        ;Refresh
                                              1800        ;Retry
                                              604800      ;Expire
                                              86400       ;Minimum TTL
)

;Name Server Information
@       IN  NS      ns1.rosehosting.local.

;IP address of Name Server
ns1       IN  A       192.168.1.100

;A - Record HostName To Ip Address
www     IN  A       192.168.1.101

;CNAME record
ftp     IN CNAME        www.rosehosting.local.

Guarde y cierre el archivo, luego cree un archivo de zona inversa con el siguiente comando:

nano /var/named/192.168.1.db

Agregue las siguientes líneas:

$TTL 86400
@   IN  SOA     ns1.rosehosting.local. root.rosehosting.local. (
                                       3           ;Serial
                                       3600        ;Refresh
                                       1800        ;Retry
                                       604800      ;Expire
                                       86400       ;Minimum TTL
)

;Name Server Information
@         IN      NS         ns1.rosehosting.local.

;Reverse lookup for Name Server
100       IN  PTR     ns1.rosehosting.local.

;PTR Record IP address to HostName
101      IN  PTR     www.rosehosting.local.

Guarde y cierre el archivo cuando haya terminado.

Paso 6:Verificar la configuración de DNS

Después de configurar todos los archivos de zona, deberá verificar los archivos de configuración.

Primero, valide el archivo de configuración principal con el siguiente comando:

named-checkconf /etc/named.conf

Si todo está bien, no verá ningún error.

A continuación, verifique el archivo de zona de reenvío con el siguiente comando:

named-checkzone rosehosting.local /var/named/rosehosting.local.db

Deberías obtener el siguiente resultado:

zone rosehosting.local/IN: loaded serial 3
OK

A continuación, verifique el archivo de zona inversa con el siguiente comando:

named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.db

Yu debería obtener el siguiente resultado:

zone 1.168.192.in-addr.arpa/IN: loaded serial 3
OK

Finalmente, reinicie el servicio BIND para aplicar los cambios:

systemctl restart named

Paso 7:configurar el cortafuegos

A continuación, deberá crear una regla de firewall para el puerto 53 para permitir consultas de DNS desde las máquinas cliente. Puedes crearlo con el siguiente comando:

firewall-cmd --permanent --add-port=53/udp

A continuación, vuelva a cargar el servicio de firewall para aplicar los cambios:

firewall-cmd --reload

Paso 8:Verificar el servidor DNS

En este punto, el servidor BIND DNS está instalado y configurado. Es hora de comprobar si funciona o no.

Primero, edite su archivo /etc/resolv.conf y agregue la IP de su servidor DNS:

nano /etc/resolv.conf

Agregue la siguiente línea al principio del archivo:

nameserver 192.168.1.100

Guarde y cierre el archivo, luego verifique la búsqueda directa usando el comando dig:

dig www.rosehosting.local 

O

dig ns1.rosehosting.local

Si todo está bien, debería obtener la siguiente respuesta:

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> www.rosehosting.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52518
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: cd9d365f1f02621aa9c8753c5fd47154db8cae737b9ca09f (good)
;; QUESTION SECTION:
;www.rosehosting.local.        IN  A

;; ANSWER SECTION:
www.rosehosting.local.    86400   IN  A   192.168.1.101

;; AUTHORITY SECTION:
rosehosting.local.    86400   IN  NS  ns1.rosehosting.local.

;; ADDITIONAL SECTION:
ns1.rosehosting.local.    86400   IN  A   192.168.1.100

;; Query time: 0 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Sat Dec 12 02:29:24 EST 2020
;; MSG SIZE  rcvd: 128

A continuación, verifique la búsqueda inversa con el siguiente comando:

dig -x 192.168.1.100

Debería obtener la siguiente respuesta:

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> -x 192.168.1.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30878
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 18a66bab478cf57219e6c17c5fd471671887a1dd983fef57 (good)
;; QUESTION SECTION:
;100.1.168.192.in-addr.arpa.    IN  PTR

;; ANSWER SECTION:
100.1.168.192.in-addr.arpa. 86400 IN    PTR ns1.rosehosting.local.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa.    86400   IN  NS  ns1.rosehosting.local.

;; ADDITIONAL SECTION:
ns1.rosehosting.local.    86400   IN  A   192.168.1.100

;; Query time: 0 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Sat Dec 12 02:29:43 EST 2020
;; MSG SIZE  rcvd: 148

¡Felicidades! Ha configurado con éxito un servidor DNS privado con BIND en CentOS 8.

Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS de Linux, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo configuren por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD . Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.


Cent OS
  1. Cómo instalar un servidor DNS en RHEL 8 / CentOS 8 Linux

  2. Configurar DNS en CentOS 5/RHEL 5 con chroot

  3. Configurar el servidor DHCP en CentOS 8:¿cómo hacerlo?

  4. Cómo configurar la zona horaria en CentOS 7

  5. Cómo configurar un servidor de correo con PostfixAdmin en CentOS 7

Cómo configurar el servidor DNS (BIND) en CentOS 8 / RHEL 8

Cómo configurar fácilmente un servidor de correo con todas las funciones en CentOS 7 con iRedMail

Configure la Zona de política de respuesta (RPZ) en BIND Resolver en CentOS/RHEL

Cómo configurar fácilmente un servidor de correo con todas las funciones en CentOS 8 con iRedMail

Cómo configurar el servidor DHCP en CentOS 8

Cómo configurar un servidor TeamSpeak en CentOS 7