Como configurar un servidor DNS en Centos 7

Instalar el paquete bind9 en el servidor.

yum install bind bind-utils -y

1. Configurar el servidor DNS Primario (Master)

Editar /etc/named.conf file.

nano /etc/named.conf

Adicionar el contenido que se muestra en negrillas:

options {
    listen-on port 53 { 127.0.0.1; 10.0.2.5;}; # IP DNS PRIMARIO
#    listen-on-v6 port 53 { ::1; };
    directory     "/var/named";
    dump-file     "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query     { localhost; 10.0.2.0/24;}; # Rango IP
    allow-transfer{ localhost; };   # IP DNS secundario

    /* 
     - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
     - If you are building a RECURSIVE (caching) DNS server, you need to enable 
       recursion. 
     - If your recursive DNS server has a public IP address, you MUST enable access 
       control to limit queries to your legitimate users. Failing to do so will
       cause your server to become part of large scale DNS amplification 
       attacks. Implementing BCP38 within your network would greatly
       reduce such attack surface 
    */

    recursion yes;

    dnssec-enable yes;
    dnssec-validation yes;
    /*dnssec-lookaside auto;*/

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";

    managed-keys-directory "/var/named/dynamic";

    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
    type hint;
    file "named.ca";
};

zone "guidocutipa.blog.bo" IN {
type master;
file "forward.guidocutipa";
allow-update { none; };
};
zone "2.0.10.in-addr.arpa" IN {
type master;
file "reverse.guidocutipa";
allow-update { none; };
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

2. Crear archivos de Zona

Crear los archivos de zona forward y reverse zone que son referenciados en el archivo /etc/named.conf.

2.1 Crear Forward Zone

Crear el archivo forward.guidocutipa en el directorio /var/named.

nano /var/named/forward.guidocutipa

Con el siguiente contenido:

$TTL 86400
@   IN  SOA     ns1.guidocutipa.blog.bo. root.guidocutipa.blog.bo. (
        2011071001  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)
@       IN  NS          ns1.guidocutipa.blog.bo.
@       IN  A           10.0.2.5
ns1     IN  A   	 10.0.2.5

2.2 Crear Reverse Zone

Create reverse.guidocutipa file in the /var/named directory.

nano /var/named/reverse.guidocutipa

Con el siguiente contenido:

$TTL 86400
@   IN  SOA     ns1.guidocutipa.blog.bo. root.guidocutipa.blog.bo. (
        2011071001  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)
@       IN  NS          ns1.guidocutipa.blog.bo.
@       IN  PTR         guidocutipa.blog.bo.
ns1       IN  A   	 10.0.2.5
101     IN  PTR         ns1.guidocutipa.blog.bo.

3. Iniciar el servicio del servidor DNS

Habilitar e iniciar el servicio DNS:

systemctl enable named
systemctl start named

4. Configuración del Firewall

Se debe habilitar el Puerto 53 del DNS en el firewall.

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

5. Reiniciar el Firewall

firewall-cmd -reload

6. Configurar permisos, propietario y SELinux

Ejecutar los siguientes comandos:

chgrp named -R /var/named
chown -v root:named /etc/named.conf
restorecon -rv /var/named
restorecon /etc/named.conf

7. Probar la configuración del DNS y los archivos de zona

Verificar el archive de configuración del DNS:

named-checkconf /etc/named.conf

Si el comando no retorna nada en la pantalla, el archivo de configuración es correcto.

Verificar Forward zone del DNS:

named-checkzone guidocutipa.blog.bo /var/named/forward.guidocutipa

Resultado:

zone guidocutipa.blog.bo/IN: loaded serial 2020121701
OK

Verificar reverse zone:

named-checkzone guidocutipa.blog.bo /var/named/reverse.guidocutipa 

Resultado:

zone guidocutipa.blog.bo/IN: loaded serial 2020121701
OK

Adicionar los detalles del Servidor DNS en el archivo de configuración de la interfaz de red.

nano /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="5d0428b3-6af2-4f6b-9fe3-4250cd839efa"
ONBOOT="yes"
HWADDR="08:00:27:19:68:73"
IPADDR0="10.0.2.5"
PREFIX0="24"
GATEWAY0="10.0.2.1"
DNS1="10.0.2.5"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"

Editar el archivo /etc/resolv.conf,

vi /etc/resolv.conf

Adicionar la ip del servidor DNS:

nameserver      10.0.2.5

Grabar los cambios.

Reiniciar el servicio de red:

systemctl restart network

8. Probar el nombre del servidor DNS

dig ns1.guidocutipa.blog.bo

Resultado:

nslookup guidocutipa.blog.bo

Resultado:

Otros artículos relacionados con centos

Entradas relacionadas