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

Cómo instalar un servidor DNS en RHEL 8 / CentOS 8 Linux

Esta guía mostrará cómo instalar y configurar un servidor DNS en RHEL 8/CentOS 8 solo en modo de almacenamiento en caché o como servidor DNS único, sin configuración maestro-esclavo. Se proporciona un ejemplo de zona inversa y delantera.

En este tutorial aprenderás:

  • Cómo instalar un servidor DNS en RHEL 8 / CentOS 8
  • Cómo configurar un servidor como servidor DNS solo de almacenamiento en caché
  • Cómo configurar un servidor como servidor DNS único

Cliente resolviendo una consulta a través del servidor DNS.

Requisitos de software y convenciones utilizadas

Requisitos

Antes de empezar se supone que:

  • Usted o su organización ya han creado una cuenta en Red Hat
  • RHEL 8/CentOS 8 ya se descargó e instaló
  • El sistema ya ha sido registrado a través del Administrador de Suscripciones
  • Ya ha configurado un repositorio local o remoto

Instalación del servidor DNS

  1. Instalación de Bind
    Vamos a instalar el paquete BIND, el servidor DNS de código abierto más famoso, a través del dnf herramienta a la que ahora yum se basa.
    El comando a ejecutar es:

    #  dnf -y install bind*

    Que debería instalar todos estos paquetes:

    Lista de paquetes de enlace

Configuración del servidor DNS común

  1. Configurando el Firewall
    Necesitamos habilitar el servicio DNS:

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

    y recargar la configuración:

    # firewall-cmd --reload
  2. Copia de seguridad de los archivos de configuración principales
    Siempre es un buen hábito hacer una copia de seguridad inicial de los archivos de configuración de enlace principales; también antes de cualquier cambio.

    #  cp /etc/named.conf /etc/named.conf.org
    #  cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.org
    
    
  3. Comprobando la configuración de la red
    Un servidor DNS debe tener una dirección IP estática, verifiquemos si es el caso:

    $  cat /etc/sysconfig/network-scripts/ifcfg-enp0s3|egrep -i "boot|ipaddr|mask|gateway"

    Lo que, por ejemplo, arroja los siguientes resultados:

    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.0.0.63
    NETMASK=255.255.255.0
    GATEWAY=10.0.0.1
    

    Por supuesto, la configuración de su red puede ser diferente, una vez más, la dirección IP debe ser estática.

  4. Elegir el nombre de dominio
    Para establecer un nombre de dominio completo o FQDN

    #  hostnamectl set-host name dns-srv.vulcansys-local.com

    Por supuesto, puede elegir otro nombre, aquí he inventado un nombre de dominio que no parece haber sido registrado a ninguna organización.

  5. Configuración del resolvedor
    Vamos a configurar el resolv.conf expediente. Las primeras líneas deben ser:

    search vulcansys-local.com
    nameserver 10.0.0.63
    

    Esto es tanto en el servidor como en cualquier cliente que consulte nuestro DNS; por supuesto, debe agregar un segundo servidor de nombres para resolver sitios de Internet o cualquier otro dominio.

  6. Deshabilitar la configuración automática de DNS de Network Manager
    No queremos que Network Manager cambie el resolv.conf expediente. Para hacerlo, simplemente agregamos la línea
    :dns=none en el archivo /etc/NetworkManager/NetworkManager.conf , y recargamos el servicio:

    #  systemctl reload NetworkManager
  7. Habilitación del servicio de vinculación al inicio
    Debemos asegurarnos de que el servicio DNS se inicie con el sistema, por lo tanto:

    #  systemctl enable named

Tipos de servidores DNS

Es posible configurar un servidor DNS para que funcione en uno de los siguientes modos, solo uno a la vez:

  • Servidor raíz
  • Servidor único
  • Servidor secundario
  • Servidor solo de almacenamiento en caché
  • Servidor de reenvío

En este artículo solo describiremos cómo configurar un servidor de almacenamiento en caché y un servidor único.

Un servidor DNS de solo almacenamiento en caché no aloja ninguna zona y no tiene autoridad para un dominio en particular; cuando el servidor se inicia inicialmente, no tiene información en caché y la información se obtiene con el tiempo a medida que se
satisfacen las solicitudes de los clientes.

Un servidor DNS principal o único tiene autoridad para un dominio, pero no tenemos alta disponibilidad y, por lo tanto, si está inactivo o no se puede acceder, no funcionará ninguna consulta de DNS para el dominio, a menos que se almacene en caché o se duplique en el archivo estático /etc/hosts .

NOTA
Lo que hemos configurado hasta ahora es común independientemente del "modo de configuración" que elijamos.
  1. Almacenamiento en caché solo del servidor DNS
    Nos aseguramos de que las siguientes líneas se cambien/configuren en el named.conf archivo:

    listen-on port 53 { 127.0.0.1; 10.0.0.63; };
    #listen-on-v6 port 53 { ::1; };
    allow-query { 127.0.0.1; 10.0.0.0/24; };
    recursion yes;
    allow-recursion { 127.0.0.1; 10.0.0.0/24; };
    

    Para simplificar aquí, el servidor no escuchará en una dirección IPv6 (por lo tanto, se comenta la línea relativa). Para comprobar si la configuración está bien podemos ejecutar el comando:

    #  named-checkconf

    si todo está bien, no se devuelve ninguna salida. Finalmente necesitamos que el servicio vuelva a cargar su configuración:

    #  systemctl reload named
  2. Servidor DNS único
    En caso de que elijamos este tipo, será nuestro servidor DNS autorizado el que se encargará de cualquier resolución de nombres en el dominio que hayamos elegido. Aquí también vamos a editar /etc/named.conf :

    listen-on port 53 { localhost; 10.0.0.63; };
    #listen-on-v6 port 53 { ::1; };
    allow-query { 127.0.0.1; 10.0.0.0/24; };
    recursion no;

    En esta guía, para simplificar, no estamos configurando el servicio de vinculación para escuchar en una dirección IPv6.

    La opción recursion no se asegura de que el DNS no haga todo el trabajo para proporcionar una respuesta a una consulta en particular, sino que delegará en los servidores raíz si es necesario y en otros servidores autorizados la tarea de esos nombres o IP desconocidos. En otras palabras:un servidor autorizado no debe ser recursivo .

    Luego tenemos que especificar nuestros archivos de zona; aquí configuraremos una zona de reenvío (para resolver una IP a partir de un nombre) y una zona inversa (para resolver un nombre dado una dirección IP) cada uno en su archivo específico, agregando las siguientes líneas al archivo named.rfc1912.zones archivo:

    zone "vulcansys-local.com" IN {
                   type master;
                   file "forward.zone";
                   allow-update { none; };
    };
    
    zone "63.0.0.10.in-addr.arpa" IN {
                   type master;
                   file "reverse.zone";
                   allow-update { none; };
    };

    La opción allow-update se refiere a actualizaciones dinámicas de DNS, lo que significa que una aplicación en un host puede agregar un registro de DNS; por razones de seguridad esto está deshabilitado por defecto y por lo tanto solo el administrador del sistema puede agregar registros y manualmente.

    Ahora necesitamos crear los archivos forward.zone y reverse.zone . Por lo general, los archivos de zona están dentro del
    directorio /var/named como podemos deducir del directory opción en el named.conf archivo de configuración.

    Nuestro forward.zone el archivo contendrá:

    $TTL     1D
    @        IN  SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. (
                          2019022400 ; serial
                          3h         ; refresh
                          15         ; retry
                          1w         ; expire
                          3h         ; minimum
                                                                                )
    
             IN  NS dns-srv.vulcansys-local.com.
    dns-srv  IN  A  10.0.0.63
    
    

    Y la reverse.zone archivo:

    $TTL     1D
    @        IN  SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. (
                          2019022400 ; serial
                          3h         ; refresh
                          15         ; retry
                          1w         ; expire
                          3h         ; minimum
                                                                                )
    
             IN  NS dns-srv.vulcansys-local.com.
    63       IN  PTR  dns-srv.vulcansys-local.com

    En los archivos de configuración mencionados SOA (Start Of Authority) define los parámetros globales para la zona (dominio); solo se puede especificar un registro de recursos (la línea con la palabra clave SOA con nuestro nombre de dominio completo). El tiempo de salida ($TTL) es por defecto 1 día (o 86400 segundos) y debe acortarse temporalmente si cambia cualquier entrada en este archivo de configuración, ya que le dice al servidor DNS por cuánto tiempo almacenar en caché la información recuperada. Lo más importante es recordar terminar cualquier nombre de dominio completo en estos archivos de configuración con un punto .

    Aquí root.vulcansys-local.com es la dirección de correo electrónico y 2019022400 un campo serial que en la práctica está ahí para rastrear cualquier cambio en el archivo de zona y convencionalmente tiene la forma YYYYmmddss , donde ss es un número de dos dígitos.

    En el archivo inverso, es posible que haya notado que todo se ve igual, excepto la última línea. Allí especificamos con PTR una búsqueda inversa que se resolverá en 10.0.0.63; solo se necesita escribir el último dígito 63 que identifica el host (ya que la máscara de red es 255.255.255.0 ).

    Ahora nos aseguramos de tener los permisos correctos:

    #  chgrp named /var/named/reverse.zone
    #  chgrp named /var/named/forward.zone
    
    

    Para verificar que los archivos de zona estén configurados correctamente, puede emitir los comandos:

    #  named-checkzone vulcansys-local.com /var/named/forward.zone
    #  named-checkzone 10.0.0.63 /var/named/reverse.zone
    

    Y para verificar la configuración general:

    #  named-checkconf -v

    Si todo está bien podemos recargar el servicio:

    #  systemctl reload named

Configuración del cliente

  1. Configuración del cortafuegos
    Necesitamos configurar el cortafuegos como se explicó anteriormente con el servidor. Para simplificar, asumo que el cliente también es un RHEL 7 u 8.
  2. Configuración de resolución
    El primer servidor de nombres debe ser nuestro servidor DNS, también aquí asegúrese de que el administrador de red no altere el archivo resolv.conf.
  3. Configuración del nombre de host
    Para mantener la coherencia, cualquier cliente del dominio tendría asignado un nombre de host FQDN.

Finalmente, verificamos que nuestra configuración DNS esté funcionando, desde un cliente, intentando hacer ping al servidor DNS por nombre.

Cliente resolviendo una consulta a través del servidor DNS.

Conclusión

Configurar un servidor DNS es una tarea que cualquier administrador serio debería haber realizado al menos una vez y en RHEL 8 la forma de hacerlo no es difícil.


Cent OS
  1. Cómo instalar redmine en RHEL 8 / CentOS 8 Linux

  2. Cómo instalar el servidor vnc en RHEL 8 / CentOS 8

  3. Cómo instalar Puppet en CentOS 8 / RHEL 8

  4. Cómo instalar Puppet 6.x en CentOS 7 / RHEL 7

  5. CentOS / RHEL 7:Cómo instalar la GUI

Cómo instalar WordPress en RHEL 8 / CentOS 8 Linux

Cómo instalar GIMP en CentOS 8 / RHEL 8 Linux

Cómo instalar el servidor Redis en CentOS 8 / RHEL 8

Cómo instalar Zabbix Server 4.x en CentOS 6 / RHEL 6

Cómo instalar el servidor Zabbix 5.0/4.0 en CentOS 7/RHEL 7

Cómo instalar la GUI en el servidor CentOS 8 / RHEL 8 Minimal Linux

    Requisitos de software y línea de comandos de Linux
    Convenciones
    Categoría Redes
    Sistema RHEL 8 / CentOS 8
    Software vincular
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios