Servidor DNS dos en uno con Bind
Este tutorial muestra cómo configurar el servidor DNS
Bind9 para servir a una red interna y una red externa, al mismo tiempo
con diferentes resoluciones de nombres/IP. Para lograr esto se utiliza
una nueva característica de Bind9 llamada “view” o vista.
Esto nos puede servir de gran ayuda cuando tenemos un servidor en la red de nuestra casa y queremos que resuelva la IP publica del servidor para las solicitudes que vienen desde Internet y que nos resuelva la IP interna para cuando lo solicitamos nosotros.
Para ello debemos modificar nuestro named.conf y añadir el siguiente codigo:
acl internals {
127.0.0.0/8;
192.168.1.0/24;
};
Con esto lo que queremos decir es que la ACL internals son las IPs 127.0.0.0/8 y todo el rango de IPs de la subred 192.168.1.0. De momento vamos a seguir configurando nuestro DNS.
A continuación añadimos algo similar a lo siguiente:view "internal" {
match-clients { internals; };
recursion yes;
zone "example.com" {
type master;
file "/etc/bind/internals/db.example.com";
};
};
view "external" {
match-clients { any; };
recursion no;
zone "example.com" {
type master;
file "/etc/bind/externals/db.example.com";
allow-transfer { slaves; };
};
};
Con esto ultimo lo que hemos querido decir, es que la vista internal solo pueden acceder los clientes (match-clients) que estan en la ACL internals y la vista external es el resto de clientes.
Con esto podemos decirle que al mismo dominio
(dominio.com) coja un archivo distinto para cada una de las consultas y
asi pueda resolver de una forma u otra.
A parte de lo interesante que es esto, tambien hay que decir que a los clientes de la vista internal les permitimos recursion DNS, es decir, que si solicitamos la IP de google.es nos la dara, pero la recursion de la vista external
no esta permitida, por lo que si un cliente desde Internet nos pide
cual es la IP de google.es no se la daremos. De esta forma
configuraremos nuestros equipos de la red local para que su servidor DNS
sea nuestro servidor Bind y este nos resuelva todos los DNS.
Solo cabe recalcar que hay que poner primero la vista internal y despues la external, ya que si lo hiciesemos al reves como el match-clients de la vista external es any (cualquiera) nos resolveria ese primero, ya que es el que primero esta.
Comentarios