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

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

El Sistema de Nombres de Dominio (DNS) es un sistema de nombres distribuidos jerárquicos para computadoras, servicios o cualquier recurso conectado a Internet o una red privada. Asocia diversa información a los nombres de dominio asignados a cada una de las entidades participantes.

Lo que es más importante, traduce los nombres de dominio significativos para los humanos en identificadores numéricos asociados con equipos de red con el fin de ubicar y direccionar estos dispositivos en todo el mundo.

Esta guía lo ayudará a configurar el servidor DNS en CentOS 8 / RHEL 8.

Supuestos

Nombre de host: ns1.itzgeek.local

Dirección IP: 192.168.0.10

Instalar servidor DNS

BIND significa Berkeley Internet Name Domain, un software que brinda la capacidad de realizar una conversión de nombre a ip.

yum -y install bind bind-utils

Configurar servidor DNS

El archivo de configuración principal de BIND es /etc/named.conf. Usaremos este archivo para configurar el servidor DNS y definir la zona DNS.

De forma predeterminada, BIND escucha en el host local. Entonces, configuraremos los servidores DNS para escuchar en todas las interfaces de red o en una interfaz en particular.

Edite el archivo /etc/named.conf.

vi /etc/named.conf

Comente la siguiente línea. Esto permitirá que BIND escuche las interfaces de red del sistema que no sean el host local.

Escuchar en todas las direcciones IP:

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

Escuchar en una dirección IP particular:

listen-on port 53 { 127.0.0.1; 192.168.0.10; };

Agregue su red en la siguiente línea. Agregué 192.168.0.0/24 para permitir que los clientes de la red 192.168.0.0/24 consulten el servidor DNS para la traducción del nombre a la IP.

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

Crear Zonas

Edite el archivo /etc/named.conf.

vi /etc/named.conf

Zona delantera

La siguiente es la entrada de la zona de reenvío en el archivo named.conf, escrita para el dominio itzgeek.local.

zone "itzgeek.local" IN { // Domain Name
           
           type master;  // Master DNS Server

           file "itzgeek.local.db";  // Zone File (/var/named/)

           allow-update { none; };  // Since master DNS, it is none

};

itzgeek.local – Nombre de dominio
maestro – DNS principal
itzgeek.local.db – Archivo de búsqueda avanzada
permitir-actualizar – Dado que este es el DNS maestro, no debería ser ninguno

Zona inversa

La siguiente es la entrada de zona inversa en el archivo named.conf.

zone "0.168.192.in-addr.arpa" IN { // Reverse Zone Name, should match with network in reverse order
             
             type master;  // Master DNS Server
             
             file "192.168.0.db";  // Zone File (/var/named/) 
             
             allow-update { none; }; // Since master DNS, it is none
 
};

0.168.192.in-addr.arpa – Nombre de búsqueda inversa
maestro – DNS principal
192.168.0.db – Archivo de búsqueda inversa
permitir-actualizar – Dado que este es el DNS maestro, no debería ser ninguno

Crear archivos de zona

Ahora es el momento de crear un archivo de búsqueda para una zona creada. De forma predeterminada, los archivos de búsqueda de zona se colocan en el directorio /var/named. Cree un archivo de zona llamado itzgeek.local.db para la búsqueda directa en el directorio /var/named.

Todos los nombres de dominio deben terminar con un punto (.).

Zona delantera

Hay algunas palabras clave especiales para archivos de zona

Crea un archivo.

vi /var/named/itzgeek.local.db

A – Un registro
NS – Servidor de nombres
MX – Correo a cambio
CNOMBRE – Nombre canónico

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

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

;IP address of Name Server
ns1       IN  A       192.168.0.10

;Mail exchanger
itzgeek.local. IN  MX 10   mail.itzgeek.local.

;A - Record HostName To Ip Address
www     IN  A       192.168.0.100
mail    IN  A       192.168.0.150

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

Cada vez que actualice los archivos de zona para la actualización del registro DNS, no olvide incrementar el número de serie.

Zona inversa

Cree un archivo de zona llamado 192.168.0.db para la zona inversa en el directorio /var/named, cree un puntero inverso a las entradas de zona delantera anteriores.

vi /var/named/192.168.0.db

PTR – Puntero
SOA – Inicio de autoridad

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

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

;Reverse lookup for Name Server
10        IN  PTR     ns1.itzgeek.local.

;PTR Record IP address to HostName
100      IN  PTR     www.itzgeek.local.
150      IN  PTR     mail.itzgeek.local.

Cada vez que actualice los archivos de zona para la actualización del registro DNS, no olvide incrementar el número de serie.

Validar la configuración del servidor DNS

Use el comando named-checkconf para validar el archivo de configuración.

named-checkconf /etc/named.conf

Si no ve ningún error, entonces está listo para continuar.

Valide el archivo de zona de reenvío que ha creado con el siguiente comando.

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

itzgeek.localNombre de dominio

/var/named/itzgeek.local.dbRuta a un archivo de zona

Salida:

zone itzgeek.local/IN: loaded serial 3
OK
El número de serie mencionado en la salida debe coincidir con el número de serie en los archivos de zona.

Realice lo mismo para la zona inversa también.

named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.db

Salida:

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

Iniciar servicio DNS

Una vez que valide las configuraciones de DNS, reinicie el servicio de enlace.

systemctl restart named

Habilítelo al iniciar el sistema.

systemctl enable named

Actualización de registros DNS

Siempre que cambie un registro DNS, no olvide cambiar el número de serie en el archivo de zona y volver a cargar la zona.

Cambie itzgeek.local &0.168.192.in-addr.arpa con sus nombres de zona.

### Forward Zone ###

rndc reload itzgeek.local

### Reverse Zone ###

rndc reload 0.168.192.in-addr.arpa

Cortafuegos

Agregue una regla de firewall para permitir consultas de DNS desde máquinas cliente.

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

firewall-cmd --reload

Verificar servidor DNS

Visite cualquier máquina cliente y agregue la dirección IP de un servidor DNS en /etc/resolv.conf si Network Manager no administra la red.

nameserver 192.168.0.10

Si Network Manager administra la red, coloque la siguiente entrada en el archivo /etc/sysconfig/network-scripts/ifcfg-eXX.

DNS1=192.168.0.10

Reinicie el servicio de red.

service network restart

OR

systemctl restart NetworkManager

Use el siguiente comando para verificar la búsqueda directa, donde el servidor DNS proporciona 192.168.0.100 como ip para www.itzgeek.local .

dig www.itzgeek.local

Salida:

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> www.itzgeek.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: 42679
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

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

;; ANSWER SECTION:
www.itzgeek.local.      86400   IN      A       192.168.0.100

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

;; ADDITIONAL SECTION:
ns1.itzgeek.local.      86400   IN      A       192.168.0.10

;; Query time: 0 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Tue Jan 07 08:53:56 IST 2020
;; MSG SIZE  rcvd: 124
Instale el paquete bind-utils para obtener el comando nslookup o dig.

Confirme la búsqueda inversa, donde el servidor DNS proporciona www.itzgeek.local como nombre para 192.168.0.100 . Ahora se confirma que tanto las búsquedas directas como las inversas funcionan bien.

dig -x 192.168.0.100

Salida:

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> -x 192.168.0.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43305
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

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

;; ANSWER SECTION:
100.0.168.192.in-addr.arpa. 86400 IN    PTR     www.itzgeek.local.

;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 86400   IN      NS      ns1.itzgeek.local.

;; ADDITIONAL SECTION:
ns1.itzgeek.local.      86400   IN      A       192.168.0.10

;; Query time: 0 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Tue Jan 07 08:55:30 IST 2020
;; MSG SIZE  rcvd: 148

Conclusión

Eso es todo. Ha instalado correctamente BIND en CentOS 8/RHEL 8 como servidor maestro. En nuestro próximo artículo, veremos cómo configurar un servidor DNS esclavo en CentOS 8 / RHEL 8.


Cent OS
  1. Configurar DNS en CentOS 5/RHEL 5 con chroot

  2. Cómo configurar el servidor DNS en CentOS 5 / RHEL 5

  3. Cómo configurar servidor y cliente NTP en CentOS/RHEL 7

  4. CentOS/RHEL:Cómo configurar un servidor DHCP

  5. Centos 7:configurar el servidor DNS

Cómo instalar y configurar el servidor VNC en CentOS 7 / RHEL 7

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

Cómo configurar la dirección IP en CentOS 7/RHEL 7 y CentOS 6/RHEL 6

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

Cómo configurar el servidor VNC en CentOS/RHEL 6

Cómo instalar y configurar el servidor VNC en CentOS/RHEL 8