Debes configurar Bind9 con dos vistas, una para la interna y otra para la externa,aqui un ejemplo sacado del blog de whilo:
Como problemática voy a poner de ejemplo mi propia red vcl.rimed.cu
donde en la LAN tengo como red 172.16.1.0/24 y en la WAN tengo
192.168.159.160/28. Para no tener dos DNS, uno que responda a la LAN
y otro para la WAN pondremos un solo DNS que cuando pidan por la LAN
http://www.vcl.rimed.cu me responda el IP 172.16.1.1, que este va a ser mi IP
de DNS por la LAN y cuando pidan por la WAN
http://www.vcl.rimed.cu le responderá
el IP 192.168.159.162 que este va a ser mi IP de DNS por la WAN.
El procedimiento que emplearemos entonces para dar solución al siguiente
problema planteado lo haremos mediante las "VISTAS"
Despues de interpretada esta problemática pasamos entoces a los pasos para lograrlo
1.- Instalar el bind9
apt-get install bind9
2.- Instalar este paquete que nos posibilita hacerle comprobaciones de nuestra
configuración.
apt-get install dnsutils
3.- Borramos todo el contenido del fichero /etc/bind/named.conf.local
y le ponemos esto dentro
acl "lan" { 172.16.1.0/24; };
acl "servidores-lan" { 172.16.1.0/28; };
acl "servidores-wan" { 192.168.159.160/28; 200.55.156.165/32; };
view "vlan" {
match-clients { lan; !any; };
allow-recursion { servidores-lan; };
zone "vcl.rimed.cu" IN {
type master;
file "vcl.rimed.cu.lan.zone";
allow-transfer { 172.16.1.4; };
allow-update { none; };
notify yes;
};
zone "1.16.172.in-addr.arpa" IN {
type master;
file "172.16.1.in-addr.arpa";
allow-transfer { 172.16.1.4; };
allow-update { none; };
notify yes;
};
};
view "vwan" {
match-clients { any; !lan; };
allow-recursion { any; };
zone "vcl.rimed.cu" IN {
type master;
file "vcl.rimed.cu.wan.zone";
allow-transfer { 192.168.159.164; };
allow-update { none; };
notify yes;
};
zone "160/28.159.168.192.in-addr.arpa" IN {
type master;
file "192.168.159.in-addr.arpa";
allow-transfer { 192.168.159.164; };
allow-update { none; };
notify yes;
};
Que quiere decir cada una de estas líneas:
- Lo primero, una acl para la LAN con el rango de IP de la LAN,
otra acl para los servidores de esa LAN y una tercera acl para
los servidores DNS de la WAN.
- Lo segundo es la vista para la LAN donde permite solo la LAN
y deniega todo lo demás, y dentro de la vista las zonas directas e
inversas que estÃán en este caso en el directorio /var/cache/bind
con el nombre vcl.rimed.cu.lan.zone y 172.16.1.in-addr.arpa
respectivamente.
- Lo tercero es la vista para la WAN donde permite a todos excepto
a la LAN y dentro de la vista, las zonas directas e inversas que
también están en el directorio /var/cache/bind con el nombre
vcl.rimed.cu.wan.zone y 192.168.159.in-addr.arpa respectivamente.
Es necesario darse cuenta que en el directorio /var/cache/bind hay
4 ficheros entonces: los dos primeros son los de las zonas directas
e inversas de la LAN y los dos segundos de las zonas directas e inversas de la WAN
¿Qué contienenen esos ficheros de zona inversa y directa?
en el caso de la LAN el fichero de la zona directa vcl.rimed.cu.lan.zone
contiene esto:
;-------------- vcl - LAN ---------------
;-------------------------------------------
$TTL 1d ; tiempo de vida de la zona
$ORIGIN vcl.rimed.cu. ; nombre de dominio base
@ IN SOA ns1.vcl.rimed.cu. admin.vcl.rimed.cu. (
2007062901 ; se = numero serial
12h ; ref = tiempo para refrescar
15m ; ret = tiempo de reintento para actualizacion
3w ; ex = tiempo de expiracion
2h ; min = minimo
)
;-------------- Servidores DNS ---------------
;---------------------------------------------
@ IN HINFO REMINUS "Debian 4.0"
@ IN NS ns1.vcl.rimed.cu.
@ IN NS ns2.vcl.rimed.cu.
;-------------- Servidores MX ---------------
;--------------------------------------------
@ IN MX 0 mx.vcl.rimed.cu.
@ IN TXT "v=spf1 a:mx.vcl.rimed.cu -all"
;-------------- HOSTS - ALIAS ---------------
;--------------------------------------------
;Servidor VCLSERVER
vclserver IN A 172.16.1.1
ns1 IN CNAME vclserver
@ IN A 172.16.1.1
www IN CNAME vclserver
http://www.isp IN CNAME vclserver
sarg IN CNAME vclserver
y el fichero de la zona inversa 172.16.1.in-addr.arpa contiene esto:
;-------------- vcl - LAN ---------------
;-------------------------------------------
$TTL 1d ; tiempo de vida de la zona
$ORIGIN 1.16.172.IN-ADDR.ARPA. ; rango de la red
@ IN SOA ns1.vcl.rimed.cu. admin.vcl.rimed.cu. (
2007060501 ; se = numero serial
12h ; ref = tiempo para refrescar
15m ; ret = tiempo de reintento para actualizacion
3w ; ex = tiempo de expiracion
2h ; min = minimo
)
;-------------- Servidores DNS ---------------
;---------------------------------------------
@ IN NS ns1.vcl.rimed.cu.
@ IN NS ns2.vcl.rimed.cu.
;-------------- IP - Host ---------------
;-----------------------------------------
1 IN PTR vclserver.vcl.rimed.cu.
4 IN PTR vclserver1.vcl.rimed.cu.
8 IN PTR admin.vcl.rimed.cu.
En el caso de los fichero de la zona directa e inversa para la WAN
es lo mismo pero lo único que cambia son los números IP de la WAN.
Como se explicaba al inicio, el DNS por la LAN es el 172.16.1.1 y
por la WAN es 192.168.159.162
4.- Volvemos al directorio /etc/bind al fichero named.conf.options,
borramos todo lo que contiene y le ponemos esto dentro
options {
directory "/var/cache/bind";
query-source address * port 53;
forwarders {200.55.156.165;192.168.159.181;192.168.159.114;};
auth-nxdomain no; # conform to RFC1035
#listen-on-v6 { any; };
};
Luego reiniciamos el bind invoke-rc.d bind9 restart y si todo salió
bien no debe dar ningún error.
Para comprobar esto ponemos en al consola:
nslookup
http://www.vcl.rimed.cu 172.16.1.1
y debe devolver esto
Server: 172.16.1.1
Address: 172.16.1.1#53
http://www.vcl.rimed.cu canonical name = vclserver.vcl.rimed.cu.
Name: vclserver.vcl.rimed.cu
Address: 172.16.1.1
y si comprobamos por la WAN
nslookup
http://www.vcl.rimed.cu 192.168.159.162
debe devolver esto
Server: 192.168.159.162
Address: 192.168.159.162#53