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

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

El Sistema de Nombres de Dominio (DNS) es un sistema jerárquico de nombres distribuidos 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 7 / RHEL 7.

Medio ambiente

Nombre del servidor: ns1itzgeek.local

Dirección IP: 192.168.0.10

Instalar DNS (BIND)

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 DNS (BIND)

De forma predeterminada, BIND escucha en el host local. Entonces, configuraremos el servidor DNS para escuchar en la dirección IP del sistema para permitir que los clientes puedan acceder al servidor DNS para resolver nombres de dominio.

vi /etc/named.conf

Escuchar en todas las direcciones IP:

Configure BIND para 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:

Configure BIND para escuchar 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. Esta configuración permitirá que los clientes de la red mencionada puedan consultar el DNS para la traducción del nombre a la IP.

Agregué 192.168.0.0/24 para esta demostración.

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

Crear Zonas

Edite /etc/named.conf.

vi /etc/named.conf

Zona delantera

La siguiente zona es la entrada de la zona de reenvío para el dominio itzgeek.local.

zone "itzgeek.local" IN {
         
         type master;
        
         file "/var/named/itzgeek.local.db";

         allow-update { none; };
};

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

Zona inversa

La siguiente zona es la entrada de zona inversa.

zone "0.168.192.in-addr.arpa" IN {
          
          type master;
          
          file "/var/named/192.168.0.db";
         
          allow-update { 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 principal, no debería ser ninguno

Crear archivos de zona

De forma predeterminada, los archivos de búsqueda de zona se colocan en el directorio /var/named. Cree un archivo de zona llamado fwd.itzgeek.local.db para la búsqueda directa en el directorio /var/named. Todos los nombres de dominio deben terminar con un punto (.).

vi /var/named/itzgeek.local.db

Hay algunas palabras clave especiales para archivos de zona

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

@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                                1001    ;Serial
                                                3H      ;Refresh
                                                15M     ;Retry
                                                1W      ;Expire
                                                1D      ;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 el archivo de búsqueda de zona, debe cambiar/incrementar el número de serie como 1002;Serial.

Cree un archivo de zona llamado 192.168.0.db para la zona inversa en el directorio /var/named.

vi /var/named/192.168.0.db

Cree un puntero inverso para las entradas de la zona delantera que creamos anteriormente.

PTR – Puntero
SOA: Inicio de autoridad

@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                                1001    ;Serial
                                                3H      ;Refresh
                                                15M     ;Retry
                                                1W      ;Expire
                                                1D      ;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 el archivo de búsqueda de zona, debe cambiar/incrementar el número de serie como 1002;Serial.

Una vez que se crean los archivos de zona, reinicie el servicio de enlace.

systemctl restart named

Habilítelo al iniciar el sistema.

systemctl enable named

Cortafuegos

Agregue una regla de permiso en el firewall para que los clientes puedan conectarse al servidor DNS para la resolución de nombres.

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

firewall-cmd --reload

Verificar Zonas

Visite cualquier máquina cliente y agregue una dirección IP del servidor DNS en /etc/resolv.conf.

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.

systemctl restart NetworkManager

Utilice el siguiente comando para verificar la búsqueda directa.

dig www.itzgeek.local

Salida: El servidor DNS debe dar 192.168.0.100 como ip para www.itzgeek.local.

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> www.itzgeek.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35563
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; 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      primary.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: Wed Jul 03 02:00:40 EDT 2019
;; MSG SIZE  rcvd: 100
Instale las utilidades BIND yum install -y bind-utils package para obtener el comando nslookup o dig.

Confirme la búsqueda inversa.

dig -x 192.168.0.100

Salida: El servidor DNS proporciona www.itzgeek.local como nombre para 192.168.0.100.

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> -x 192.168.0.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4807
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; 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: Wed Jul 03 02:02:47 EDT 2019
;; MSG SIZE  rcvd: 124

Ahora se confirma que tanto las búsquedas directas como las inversas funcionan bien.

Conclusión

Eso es todo. Ha instalado correctamente BIND en CentOS 7/RHEL 7 como servidor maestro. Puede configurar un servidor DNS esclavo para redundancia.


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. Cómo configurar el servidor DNS en CentOS 5 / RHEL 5

  4. Cómo configurar DNS esclavo (BIND) en CentOS 7 / RHEL 7

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

Cómo configurar el servidor DNS esclavo (BIND) en Ubuntu 18.04/16.04 y Debian 10/9

Cómo configurar el servidor DNS en Debian 10 / Debian 9

Cómo configurar el servidor DNS en Ubuntu 18.04 / Ubuntu 16.04

Cómo configurar FirewallD en RHEL, CentOS y Fedora

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

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