Desplegado de DNS
Para el proyecto se crearán cuatro zonas distintas, dos para la red interna y dos para la red externa de los siguientes tipos:
- Resolución directa.
- Resolución inversa.
Las zonas de la red interna solo se podrán consultar desde la misma red interna, mientras que las zonas de la red externa se podrán consultar desde tanto la red interna como la externa.
Esto se debe a que la zona externa servirá para permitir a los clientes externos resolver el nombre de dominio del servidor, pudiendo así acceder a la página web de la empresa, mientras que la zona interna servirá para uso administrativo en la red interna y por tanto no se deberá poder consultar desde fuera.
Instalación
Para este ejercicio utilizaremos el servicio bind9, el cuál instalaremos con el siguiente comando:
Una vez instalado, podremos ejecutar systemctl status named para comprobar que este funcione correctamente:

Configuración
Como se documentó al principio de la sección, crearemos una zona directa e inversa tanto para la red interna como para la externa, a continuación se mostrará su creación y configuración.
Activando las zonas
Para declarar las zonas y configurar las restricciones de consulta modificaremos el archivo /etc/bind/named.conf.local y añadiremos las siguientes entradas:
zone "pve1.fpmislata.fp" {
type master;
allow-query {192.168.6.0/24; 127.0.0.0/8;};
file "db.master.pve1.fpmislata.fp";
};
zone "6.168.192.in-addr.arpa" {
type master;
allow-query {192.168.6.0/24; 127.0.0.0/8;};
file "6.168.192.in-addr.arpa";
};
zone "clearfrost.es" {
type master;
allow-query {any;};
file "db.master.clearfrost.es";
};
zone "204.16.172.in-addr.arpa" {
type master;
allow-query {any;};
file "204.16.172.in-addr.arpa";
};
Como se puede ver, las zonas internas (6.168.192.in-addr.arpa / pve1.fpmislata.fp) solo se podrán consultar desde 192.168.6.0/24 y 127.0.0.0/8, mientras que las otras dos zonas se podrán consultar desde cualquier red.
Parámetros del servicio DNS
Algo importante a tener en cuenta es que los clientes también tendrán que poder resolver nombres de dominio ajenos a la Intranet, con lo que aplicaremos las siguientes configuraciones en el archivo /etc/bind/named.conf.options para que el servidor DNS redirija peticiones desconocidas a los servidores DNS de CloudFlare y Google (1.1.1.1, 8.8.8.8).
options {
directory "/var/cache/bind";
forwarders {
1.1.1.1;
8.8.8.8;
};
allow-recursion { 192.168.6.0/24; 172.16.204.0/24; 127.0.0.0/8; };
dnssec-validation no;
listen-on-v6 { none; };
};
dnssec-validation y listen-on-v6 son funciones que no serán utilizadas en el servidor DNS, con lo que para mejorar la seguridad de este se desactivarán. allow-recursion nos permitirá definir las redes que podrán realizar peticiones recursivas, lo cuál es necesario para que el servidor DNS pueda resolver las consultas desconocidas de clientes exteriores.
Poblando las zonas
Note
bind9 por defecto almacena las bases de datos de zona en la ruta /var/cache/bind/.
Registros directos
Para crear los registros directos de la red interna se configurarán los siguientes contenidos en el archivo db.master.pve1.fpmislata.fp:
$TTL 86400
@ IN SOA frontera1.pve1.fpmislata.fp. admin.pve1.fpmislata.fp. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS frontera1.pve1.academia.tolovendo.es.
@ IN A 192.168.6.1
gateway IN A 192.168.6.1
frontera1 IN A 192.168.6.254
wordpress1 IN A 192.168.6.253
wordpressclon1 IN A 192.168.6.252
Para crear los registros directos de la red externa se configurarán los siguientes contenidos en el archivo db.master.clearfrost.es:
$TTL 86400
@ IN SOA ns1.clearfrost.es. admin.clearfrost.es. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS ns1.clearfrost.es.
@ IN A 172.16.204.231
www IN CNAME clearfrost.es.
ns1 IN A 172.16.204.231
ping IN A 172.16.204.231
Registros inversos
Para crear los registros inversos de la red interna se configurarán los siguientes contenidos en el archivo 6.168.192.in-addr.arpa:
$TTL 604800
@ IN SOA frontera1.pve1.fpmislata.fp. admin.pve1.fpmislata.fp. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS frontera1.pve1.fpmislata.fp.
1 IN PTR gateway.pve1.fpmislata.fp.
254 IN PTR frontera1.pve1.fpmislata.fp.
253 IN PTR wordpress1.pve1.fpmislata.fp.
252 IN PTR wordpressclon1.pve1.fpmislata.fp.
Para crear los registros inversos de la red externa se configurarán los siguientes contenidos en el archivo 204.16.172.in-addr.arpa:
$TTL 604800
@ IN SOA ns1.clearfrost.es. admin.clearfrost.es. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.clearfrost.es.
231 IN PTR clearfrost.es.
231 IN PTR ns1.clearfrost.es.
Comprobaciones
Si queremos comprobar que los parámetros del servicio estén correctamente configurados, podemos utilizar el comando named-checkconf, el cuál nos avisará de cualquier error que hayamos cometido.
En el caso de las bases de datos de zonas, podemos utilizar el siguiente comando:
Este nos indicará si hemos cometido algún error al configurar la base de datos, como por ejemplo no incluir ningún registro NS.
Red interna
Para comprobar el funcionamiento del servicio DNS, utilizaremos el comando nslookup para probar a consultar tanto los registros directos como inversos:

Como se puede ver, las máquinas de la red interna son capaces de consultar tanto los registros de la zona interna como la zona externa.
Red externa
Utilizando nslookup otra vez, podemos comprobar que podemos resolver los nombres externos de nuestro servidor, pero si intentamos consultar un nombre interno, no recibiremos ninguna respuesta, protegiendo la información interna de la red:
Danger
REMEMBER TO REPLACE THE SCREENSHOT WITH ONE USING THE ACTUAL SERVER
