lunes, 24 de agosto de 2015

Servidor DNS Principal y Secundario

El servicio de DNS (Domain Name System o Sistema de Nombres de Dominio) es un sistema de nomenclatura que nos permite acceder a varios sitios Web de una forma mas fácil y rápida.

Los Servidores DNS utilizan el protocolo UDP, en el puerto 53 para responder las consultas. Casi todas las consultas consisten de una sola solicitud UDP desde un Cliente DNS, seguida por una sola respuesta UDP del servidor.

El servicio de DNS nos permite la Configuración de un equipo principal y un secundario esta configuración nos permite tener un esquema de alta disponibilidad en la cual el servicio esta disponible 24 x 7

En este blog vamos a revisar la configuración del Servidor Principal y del Servidor Secundario, previo a esto tenemos que identificar cuales son los valores principales a configurar, el grupo de archivos a configurar y las opciones que debemos habilitar en cada uno de los servidores.

Grupo de Archivos a configurar.
  • Archivo de configuración /etc/named.conf
  • Archivo de zona directa /var/named/fw.zone
  • Archivo de zona inversa /var/named/100.168.192.zone
Este grupo de archivos son los que vamos a configurar para iniciar un servicio de DNS.

Para este ejemplo vamos a configurar un servidor DNS Principal y Secundario

Servidor DNS Principal : 192.168.100.1
Servidor DNS Secundario: 192.168.100.2

Las siguientes Redes se van a permitir hacer solicitudes al servidor DNS:

1.- 192.168.57.0
2.- 192.168.1.0
3.- 192.168.100.0

Configuración para el Servidor Principal.

Archivo de configuracion /etc/named.conf

options {
# Puerto y direcciones de IP donde el Servicio DNS escuchara las peticiones 
listen-on port 53 { 127.0.0.1; 192.168.100.1; };
# Configuracion para IPV6
# listen-on-v6 port 53 { ::1; };
# Directorio para alojar los archvios de zonas.
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";
# Permitir las consultas de las n redes al servicio del DNS.
allow-query     { localhost; 192.168.57.0/24; 192.168.100.0/24; 192.168.1.0/24; };
# Esta opcion es importante cuando se tiene un servidor DNS secundario
allow-transfer  { 192.168.1.102; };

recursion no;

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;
        };
        category lame-servers { null; };
};

zone "dominio.com" IN { 
type master; 
file "fw.dominio.zone";
allow-update { none; };
};

zone "1.168.192.in-addr.arpa" IN {
                type master;
                file "1.168.192.in-addr.arpa.zone";
                allow-update { none; };
};
zone "57.168.192.in-addr.arpa" IN {
                type master;
                file "1.168.192.in-addr.arpa.zone";
                allow-update { none; };
};
zone "100.168.192.in-addr.arpa" IN {
                type master;
                file "1.168.192.in-addr.arpa.zone";
                allow-update { none; };
};

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

Ahora debemos definir las zonas descritas en el archivo de configuración.

Zona principal /var/named/fw.dominio.zone

$TTL 86400
@               IN      SOA     dark.dominio.com.       root.dominio.com. (

201501311300        ; número de serie se prefiere poner la fecha año mes dia hora 
                1D       ; tiempo de refresco
                1H       ; tiempo entre reintentos de consulta
                1W       ; tiempo tras el cual expira la zona



                3H )  
@       IN      NS      dark.domino.com.
dark             IN  A          192.168.1.105
instructor       IN  A          192.168.1.102
pruebas          IN  A          192.168.1.103

Zona principal /var/named/fw.dominio.zone

$TTL 86400
@               IN      SOA     dark.dominio.com.       root.dominio.com. (

201501311300        ; número de serie se prefiere poner la fecha año mes dia hora 
                1D       ; tiempo de refresco
                1H       ; tiempo entre reintentos de consulta
                1W       ; tiempo tras el cual expira la zona
                3H )       ; tiempo total de vida
    
@               IN      NS      dark.dominio.com.

21              IN      PTR     dark.dominio.com.
22              IN      PTR     instructor.dominio.com.
23              IN      PTR     pruebas.dominio.com.

Configuración para el Servidor Secundario.

Archivo de configuracion /etc/named.conf

options {
# Puerto y direcciones de IP donde el Servicio DNS secundario escuchara las peticiones 
listen-on port 53 { 127.0.0.1; 192.168.100.2; };
# Configuracion para IPV6
# listen-on-v6 port 53 { ::1; };
# Directorio para alojar los archvios de zonas.
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";
# Permitir las consultas de las n redes al servicio del DNS.
allow-query     { localhost; 192.168.57.0/24; 192.168.100.0/24; 192.168.1.0/24; };

recursion no;

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;
        };
        category lame-servers { null; };
};

zone "dominio.com" IN { 
type slave; 
file "slaves/fw.dominio.zone";
  masters { 192.168.100.110; };
};

zone "1.168.192.in-addr.arpa" IN {
                type slave;
             file "slaves/1.168.192.in-addr.arpa.zone";
             masters { 192.168.100.110; };
};
zone "57.168.192.in-addr.arpa" IN {
             type slave;
                file "slaves/1.168.192.in-addr.arpa.zone";
             masters { 192.168.100.110; };
};
zone "100.168.192.in-addr.arpa" IN {
             type slaves;
             file "slaves/1.168.192.in-addr.arpa.zone";


             masters { 192.168.100.110; };
};

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

Seguramente se preguntaran los archivos de zonas como se los configura. Pues al realizar el reinicio del servicio del named estos archivos son sincronizados del servidor principal.


No hay comentarios:

Publicar un comentario