You are on page 1of 12

Configurar el servidor DNS en

CentOS 8
Topología de la red:

Figura 1: topología de red de este artículo

La máquina CentOS 8 tiene una dirección IP estática


192.168.20.20. Las otras computadoras de la red podrán acceder al
servidor DNS para resolver nombres de dominio.

Configuración de la dirección IP estática:


Debe configurar una dirección IP estática en su servidor CentOS 8.
Instalación del servidor DNS en CentOS 8:
BIND 9 está disponible en el repositorio oficial de paquetes de CentOS
8. Por lo tanto, es muy fácil de instalar.
Primero, actualice la caché del repositorio de paquetes DNF con el
siguiente comando:

$ sudo dnf makecache

Ahora, instale BIND 9 con el siguiente comando:


$ sudo dnf install bind

Para confirmar la instalación, presione Y y luego presione <Intro> .


Debe instalarse BIND 9.

Configuración del servidor DNS de BIND 9:


La configuración principal de BIND es /etc/named.conf . Agrega sus
bases de datos DNS personalizadas en el directorio / var / named
/ . Una vez que se crean los datos basados en DNS, agrega sus
archivos de zona personalizados en el directorio / etc / named / e
incluye los archivos de zona en el archivo de
configuración /etc/named.conf . Básicamente, así es como se
configura el servidor DNS de BIND 9.
Creemos una base de datos DNS para el nombre de
dominio linuxhint.local .
Cree un nuevo archivo db.linuxhint.local en el directorio / var /
named / de la siguiente manera:
$ sudo vim / var / named / db.linuxhint.local

Ahora, escriba las siguientes líneas en el archivo db.linuxhint.local y


guarde el archivo.
$TTL 1d
$ORIGIN linuxhint.local.
@ IN SOA ns root (
2020031201 ; Serial
12h ; Refresh
15m ; Retry
3w ; Expire
2h ; Minimum
)
@ IN A 192.168.20.20
@ IN NS ns
ns IN A 192.168.20.20
@ IN MX 10 mail
mail IN A 192.168.20.20
help IN A 192.168.20.111
support IN A 192.168.20.112
www IN A 192.168.10.12
router IN A 192.168.2.1
ftp IN CNAME www
Una vez que haya agregado una base de datos DNS para
el dominio linuxhint.local , puede verificar si la sintaxis del archivo es
correcta con el siguiente comando:
$ sudo named-checkzone
linuxhint.local / var / named / db.linuxhint.local
Como puede ver, no hay errores de sintaxis. Si hay alguno, verá los
mensajes de error respectivos.

Ahora, cree un archivo de zona linuxhint.local.zones en el directorio /


etc / named / para el dominio linuxhint.local de la siguiente manera:
$ sudo vim / etc / named / linuxhint.local.zones

Ahora, escriba las siguientes líneas en


el archivo linuxhint.local.zones .
zone "linuxhint.local" IN {
type master;
file "db.linuxhint.local";
};

Ahora, edite el archivo /etc/named.conf de la siguiente manera:


$ sudo vim / etc / named.conf

Primero, debe agregar su subred de red a allow-query . De lo


contrario, ninguna de las computadoras de su red podrá utilizar el
servidor DNS.
La subred de la red es 192.168.20.0/24 . Entonces, esto es lo que
agregué allí.

También debe agregar la dirección IP de su máquina CentOS 8 que


está configurando como servidor DNS como dirección
de escucha . En mi caso, es 192.168.20.20 . Entonces, lo agregué
allí.

Finalmente, incluya el archivo linuxhint.local.zones del directorio /


etc / named / al final del archivo /etc/named.conf con la siguiente
línea.
incluir "/etc/named/linuxhint.local.zones" ;

Ahora, inicie el servicio nombrado con el siguiente comando:


$ sudo systemctl start named

Como puede ver, el servicio nombrado se está ejecutando.


$ sudo systemctl estado llamado
Además, agregue el servicio nombrado al inicio del sistema de
CentOS 8. Por lo tanto, el servidor DNS se iniciará automáticamente
en el inicio.
$ sudo systemctl enable named

Si realiza algún cambio en el archivo de configuración del servidor


DNS después de iniciar el servicio con nombre , debe reiniciar
el servicio con nombre para que los cambios surtan efecto.
Para reiniciar el servicio nombrado , ejecute el siguiente comando:
$ sudo systemctl reiniciar con nombre
Prueba del servidor DNS:
Puede probar el servidor de nombres DNS usando dig .
Para comprobar si el servidor DNS está escuchando en la interfaz de
red saliente de la siguiente manera:
$ dig @ 192.168.20.20 linuxhint.local cualquiera

¡Excelente! Se puede acceder al servidor DNS desde la interfaz de red


saliente de CentOS 8.
El servidor de nombres DNS también es accesible localmente para la
máquina CentOS 8.
$ dig @ localhost linuxhint.local cualquiera

También puedo resolver www.linuxhint.local como puede ver en la


captura de pantalla a continuación.
$ dig @ 127.0.0.1 www.linuxhint.local
Cambio de la dirección del servidor DNS de la interfaz de red:
Ahora, puede cambiar la dirección del servidor DNS de su interfaz de
red para usar el servidor DNS local de forma predeterminada.

Como puede ver, BIND puede resolver los nombres de dominio de


Internet.
BIND también puede resolver el dominio linuxhint.local configurado
localmente

Configuración del cortafuegos:


Ahora, para permitir solicitudes de DNS a través del firewall, abra el
puerto 53 del servidor DNS con el siguiente comando:
$ sudo firewall-cmd --add-service = dns --permanente

Para que los cambios surtan efecto, ejecute el siguiente comando:


$ sudo firewall-cmd --reload

Prueba del servidor DNS desde otras computadoras:


Configuré una máquina con Windows 10 en la misma subred de red
para usar el servidor DNS que acabo de configurar en la máquina
CentOS 8.

Como puede ver, la resolución de DNS para


los subdominios linuxhint.local funciona.
$ nslookup ns.linuxhint.local

$ nslookup support.linuxhint.local

$ nslookup www.linuxhint.local

$ nslookup mail.linuxhint.local

Entonces, así es como configura el servidor DNS BIND 9 en CentOS

You might also like