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

Cómo configurar el servidor DNS (Bind) en CentOS 8 / RHEL8

Desarrollado en los años 80 por estudiantes de la Universidad de Berkeley, BIND (Dominio de nombre de Internet de Berkeley ) es un servidor DNS de código abierto que proporciona servicios de DNS en distribuciones de Linux. Entonces, ¿qué es un servidor DNS? Un DNS server es un servicio que ayuda a resolver un nombre de dominio completo (FQDN ) en una dirección IP y, además, realizar una traducción inversa:traducción de una dirección IP a un nombre de dominio fácil de usar.

¿Por qué es importante la resolución de nombres? Bueno, las computadoras ubican servicios en servidores usando direcciones IP. Sin embargo, las direcciones IP no son tan fáciles de usar como los nombres de dominio y sería un gran dolor de cabeza tratar de recordar cada dirección IP asociada con cada nombre de dominio. Un servidor DNS interviene y ayuda a resolver estos nombres de dominio en direcciones IP de computadoras.

Esta guía lo guía a través del proceso de configuración de un servidor de enlace DNS en CentOS 8/RHEL 8.

Configuración del laboratorio:

  • Servidor:            CentOS 8 (servidor mínimo)
  • Dirección IP:    192.168.43.35
  • Nombre caliente:   dns-primary.linuxtechi.local
  • Dominio:         linuxtechi.local

Ahora comencemos con la configuración del servidor de enlace DNS.

Paso 1:Instale bind DNS en CentOS 8/RHEL 8

Comenzamos con la instalación del paquete bind y bind-utils. Estos paquetes constituyen el servidor dns y sus utilidades responsables de consultar servidores de nombres o servidores DNS.

Ejecute el comando:

# dnf install bind bind-utils

Una vez instalado correctamente, inicie el servidor DNS con el siguiente comando:

# systemctl start named

A continuación, habilítelo para que pueda activarse incluso después de reiniciar

# systemctl enable named

Solo para asegurarse de que el servicio se está ejecutando como se esperaba, verifique su estado

# systemctl status named

Genial, el servidor DNS funciona perfectamente. Ahora pasemos a configurar el servidor Bind DNS

Paso 2:configurar el servidor DNS de vinculación

Por lo general, las mejores prácticas recomiendan hacer una copia de seguridad de un archivo de configuración antes de realizar cualquier cambio. Esto es para que si algo sale mal, siempre podamos volver al archivo original sin editar. Y no es diferente aquí.

Hagamos una copia de seguridad del archivo de configuración /etc/named.conf

# cp /etc/named.conf  /etc/named.bak

Ahora continúe y abra el archivo con su editor de texto preferido. En este caso, estamos usando el editor vim.

# vim /etc/named.conf

En las 'Opciones ’ , asegúrese de comentar las líneas que se indican a continuación para permitir que el servidor Bind DNS escuche todas las direcciones IP.

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

Además, ubique el parámetro allow-query y ajústelo de acuerdo con su subred de red.

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

Esta configuración permite que solo los hosts de la red definida accedan al servidor DNS y no cualquier otro host.

Una zona DNS de búsqueda directa es uno que almacena la relación de la dirección IP del nombre del host. Cuando se le consulta, proporciona la dirección IP del sistema host utilizando el nombre de host. Por el contrario, la zona DNS inversa devuelve el nombre de dominio completo (FQDN) del servidor en relación con su dirección IP.

Para definir las zonas de búsqueda inversa y directa, copie y pegue la siguiente configuración al final de /etc/named.conf

//forward zone
zone "linuxtechi.local" IN {
     type master;
     file "linuxtechi.local.db";
     allow-update { none; };
     allow-query { any; };
};

//backward zone
zone "43.168.192.in-addr.arpa" IN {
     type master;
     file "linuxtechi.local.rev";
     allow-update { none; };
     allow-query { any; };
};

  • tipo :Estipula el rol del servidor para una zona en particular. el atributo 'maestro' implica que este es un servidor autorizado.
  • archivo :Apunta al archivo de zona de avance/retroceso del dominio.
  • permitir-actualizar :este atributo define los sistemas host que pueden reenviar actualizaciones de DNS dinámico. En este caso, no tenemos ninguno.

Después de guardar, salga del archivo de configuración /etc/named.conf.

Paso 3:Cree un archivo de zona DNS directa para el dominio

Cree un archivo de zona DNS de reenvío para el dominio linuxtechi.local como se muestra a continuación y agregue el siguiente contenido

[[email protected] ~]# vim /var/named/linuxtechi.local.db
$TTL 86400
@ IN SOA dns-primary.linuxtechi.local. admin.linuxtechi.local. (
                                                2020011800 ;Serial
                                                3600 ;Refresh
                                                1800 ;Retry
                                                604800 ;Expire
                                                86400 ;Minimum TTL
)

;Name Server Information
@ IN NS dns-primary.linuxtechi.local.

;IP Address for Name Server
dns-primary IN A 192.168.43.35

;Mail Server MX (Mail exchanger) Record
linuxtechi.local. IN MX 10 mail.linuxtechi.local.

;A Record for the following Host name
www  IN   A   192.168.43.50
mail IN   A   192.168.43.60

;CNAME Record
ftp  IN   CNAME www.linuxtechi.local.

Definamos algunos de los parámetros indicados en el archivo de configuración:

  • TTL :Esta es la abreviatura de Time-To-Live. TTL es la duración del tiempo (o saltos) que existe un paquete en una red antes de ser finalmente descartado por el enrutador.
  • EN :Esto implica Internet.
  • SOA :Esta es la abreviatura de Start of Authority. Básicamente, define el servidor de nombres autorizado, en este caso, dns-primary.linuxtechi.local y la información de contacto:admin.linuxtechi.local
  • NS :Esta es la abreviatura de Servidor de nombres.
  • A :Este es un récord A. Apunta a un nombre de dominio/subdominio a la dirección IP
  • Serie :este es el atributo utilizado por el servidor DNS para garantizar que se actualice el contenido de un archivo de zona específico.
  • Actualizar :Define el número de veces que un servidor DNS esclavo debe transferir una zona desde el maestro.
  • Reintentar :Define el número de veces que un esclavo debe reintentar una transferencia de zona que no responde.
  • Caducar :especifica la duración que debe esperar un servidor esclavo antes de responder a una consulta de un cliente cuando el maestro no está disponible.
  • Mínimo :Esto es responsable de establecer el TTL mínimo para una zona.
  • MX :Este es el registro del intercambiador de correo. Especifica el servidor de correo que recibe y envía correos electrónicos
  • CNOMBRE :Este es el nombre canónico. Asigna un nombre de dominio de alias a otro nombre de dominio.
  • PTR :Abreviatura de Pointer, este atributo resuelve una dirección IP en un nombre de dominio, opuesto a un nombre de dominio.

Paso 4:Cree un archivo de zona de DNS inverso para el dominio

De manera similar, necesitamos crear un archivo para búsquedas DNS inversas. Pegue el siguiente contenido en el archivo:

[[email protected] ~]# vim /var/named/linuxtechi.local.rev
$TTL 86400
@ IN SOA dns-primary.linuxtechi.local. admin.linuxtechi.local. (
                                            2020011800 ;Serial
                                            3600 ;Refresh
                                            1800 ;Retry
                                            604800 ;Expire
                                            86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.linuxtechi.local.
dns-primary     IN      A       192.168.43.35

;Reverse lookup for Name Server
35 IN PTR dns-primary.linuxtechi.local.

;PTR Record IP address to Hostname
50      IN      PTR     www.linuxtechi.local.
60      IN      PTR     mail.linuxtechi.local.

A continuación, asigne los permisos de archivo necesarios a los dos archivos de configuración.

# chown named:named /var/named/linuxtechi.local.db
# chown named:named /var/named/linuxtechi.local.rev

Para confirmar que los archivos de búsqueda de la zona DNS están libres de errores sintácticos, ejecute los comandos que se muestran:

# named-checkconf
# named-checkzone linuxtechi.local /var/named/linuxtechi.local.db
# named-checkzone 192.168.43.35 /var/named/linuxtechi.local.rev

Si no hay errores, debería obtener el resultado que se muestra:

Para que los cambios se reflejen en el sistema, reinicie el servidor Bind DNS

# systemctl restart named

Para que los sistemas cliente accedan al sistema, debemos agregar el servicio DNS en el firewall y luego recargar el firewall.

# firewall-cmd  --add-service=dns --zone=public  --permanent
# firewall-cmd --reload

Paso 5:pruebe el servidor Bind DNS desde un sistema cliente

Habiendo finalizado la configuración en el servidor DNS, vayamos a una máquina cliente y realicemos algunas pruebas.

En una máquina cliente (CentOS 8/RHEL 8), abra /etc/resolv.conf archivo y edite el siguiente parámetro:

servidor de nombres 192.168.43.35

Como siempre, guarde y cierre el archivo de configuración.

Por último, debe agregar la dirección IP del servidor Bind DNS a /etc/sysconfig/network-scripts/ifcfg-enp0s3 archivo como se muestra.

Guarde y cierre el archivo de configuración y luego reinicie el servicio de administrador de red para hacer el cambio anterior en el efecto,

# systemctl restart NetworkManager

Con el comando nslookup, pruebe el servidor Bind DNS como se muestra:

# nslookup dns-primary.linuxtechi.local
# nslookup mail.linuxtechi.local
# nslookup www.linuxtechi.local
# nslookup ftp.linuxtechi.local

# nslookup 192.168.43.35

El resultado del comando nslookup confirma que la búsqueda directa de DNS funciona como se esperaba.

Además, también puede usar el comando de excavación como se muestra

# dig dns-primary.linuxtechi.local

Para realizar una búsqueda inversa de DNS, use el comando dig como se muestra:

# dig -x 192.168.43.35

¡Perfecto! La búsqueda inversa de DNS también funciona como esperábamos.

Y eso concluye este tutorial. En esta guía, lo guiamos a través de la instalación de un servidor DNS usando Bind en CentOS 8. Pruébelo y no dude en enviar sus comentarios.

Leer también : Cómo configurar el servidor NFS en CentOS 8/RHEL 8


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

  2. Cómo configurar el servidor SysLog en CentOS 7 / RHEL 7

  3. Cómo configurar el servidor NFS en CentOS 7 / RHEL 7

  4. Cómo configurar el servidor DNS (Bind) en CentOS/RHEL 7/6/5

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

Cómo configurar el servidor de impresión Samba en CentOS

Cómo configurar el servidor de correo electrónico Zimbra en CentOS 7

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

Cómo configurar el servidor SysLog centralizado en CentOS 8 / RHEL 8

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

Cómo configurar HAProxy en CentOS 8