[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Delegando zona con bind9



Hola gente les escribo por un problema que no he podido resolver desde
hace tiempo y que había dejado por imposible pero que hoy quiero debatir
con ustedes. Resulta que hace tiempo quería lograr en mi RED usando bind9
en Debian Etch 4.0 (en aquel entonces) delegar un subdominio en otro
servidor DNS de mi RED, recuerdo que en aquel entonces escribí varios
mensajes en otras listas y algunos colegas participaron conmigo en el
debate e incluso hubo un colega que me envió como tenia implementado eso
el en su red y le funcionaba, sin embargo a mi nunca me funcionó. El
motivo por el cual vuelvo a tocar el tema es por la razón de que me he
dedicado en estos días a correr varias maquinas virtuales con Debian Jenny
empleando VirtualBox para ello y a modo de experimento hice algunas
pruebas en dichas máquinas virtuales (que son 3 para ser exacto) y veo que
me funciona perfectamente, pero el llevar dichos ejemplos a mis servidores
en producción no me funciona de ninguna manera y ambas configuraciones
están idénticas, salvo algunas diferencias que se las diré a continuación.

Les explicare el escenario yo tengo una RED con IP privadas y estoy
enlazado con mi proveedor de servicios por 2 enlaces, cuyas redes son:
192.168.5.0/28 y 192.168.22.0/29 respectivamente, tengo 2 router como es
lógico, un switch de 16 puertos a donde están conectados los 2 routers y
todos mis servidores que son 4 más mi estación de trabajo con Windows XP.
De mis 4 servidores hay 3 de ellos que tienen 2 interfaces de RED físicas
y el 4to servidor tienen 3 interfaces, también físicas, una interfaz con
una ip en la subred 192.168.5.0/28 y otra interfaz en la otra subred
192.168.22.0/29, ahora! La puerta de enlace de todos mis servidores y la
de mi estación de trabajo es la ip del router de la red 192.168.5.0/28 la
cual es: 192.168.5.1 por lo tanto, mis servidores por DNS se ven entre
ellos por la subred 5.0/28, el 4to servidor como dije tiene 3 interfaces
en dos de ellas tiene las ip que le corresponde a dicho Server en las
subredes 5 y 22 y la tercera interfaz tiene una ip es otra subred:
192.168.222.0/24 que es la subred que uso para la red local del centro de
trabajo. Esta tercera interfaz de RED esta conectada a otros Switch que es
donde están conectadas todas las estaciones de trabajo del edificio y que
todas están en la subred 222.

Bueno yo tengo 2 servidores DNS para mi red, uno master y el otro slave
(mis 4 servidores tienen Debian GNU Linux 5.0 (Lenny)) y mi DNS está
configurado con vistas, ya que los los clientes a los que yo le doy
servicio, no solo están en la red LAN dentro del edificio, sino que
también tengo una serie de oficinas (por decirlo de alguna manera) que
unas se conectan mediante un enlace dedicado FrameRelay de 64K o de 128K y
que acceden a los servicios de mi Nodo a través de router 192.168.5.1 (por
lo que esos usuarios ven a mis servidores por las IP de la subred
192.168.5.0/28) pero tengo otras oficinas que no tienen router y que se
conectan por MODEM a un proveedor de servicios (ETECSA) que esta
autorizado a brindar el servicio de acceso remoto a redes y dicho
proveedor los enruta hacia mi, pero solo contra la subred 192.168.22.0/29
esto quiere decir que esos clientes que se conectan por MODEM a ese
proveedor llamado ETECSA solamente puede ver la subred 192.168.22.0/29 la
subred 5 no es accesible para ellos. Por lo tanto yo tengo 2 vistas en mi
DNS, una vista para las consultas dns que provengan de las subredes:
10.20.45.0/24 y 10.20.46.0/24 que son las ip que ETECSA les asigna a mis
clientes que tienen conexión por MODEM, esta vista en mi dns les responde
a esos clientes empleando las ip de la subred 22 y la otra vista es para
el resto el mundo, que con esto me refiero a las subredes de las oficinas
que cuentan con routers, la propia subred 192.168.5.0/28 y las subredes de
mi Nodo Nacional.

Como dije anteriormente yo comencé a tratar de delegar  un subdominio con
mis dns desde los tiempos en que Etch era la distro stable de Debian y
tampoco logre que me funcionara, ahora tengo Lenny y como muchos de
ustedes sabrán hay algunas diferencias en cuando a configurar un DNS con
vistas en Debian Etch y Debian Lenny, eso fue algo que cuando me pase a
Lenny me dio un poco de trabajo, pero que ya quedo resuelto hace rato,
pues bien. En mi estación de trabajo con Windows XP que que tiene una sola
interfaz de red la cual tiene una ip de la subred 192.168.5.0/28 instale
virtualbox y cree 3 maquinas virtuales con debian lenny las 3, solo en
modo texto (al igual que en mis servidores) desde luego esas 3 máquinas
virtuales tuve que ponerles a las 3 direcciones ip de la red 5 por suerte
me quedaban 3 disponibles en esa subred. A la primera PC virtual la llame:
mx1.pri.gredes.cu (un dominio inventado por mi y que no coincide con nadie
en internet) y a las otras 2 PC virtuales les llame:
delta.mail.pri.gredes.cu y correo.info.pri.gredes.cu respectivamente. La
idea era en la 1ra configurar un DNS master para el dominio: pri.gredes.cu
y en la configuración de este delegar los subdominios: mail.pri.gredes.cu
e info.pri.gredes.cu en los servidores llamados: delta y correo. También
para poder acceder a dichas PC virtuales por la red desde mi estación
Windows y empleando los nombres en el DNS, fui a mi DNS master, y añadí la
zona pri.gredes.cu de tipo forward y le dije que el dns master para esa
zona era la ip de mx1.pri.gredes.cu (que tiene una ip de la subred 5)
haciendo esto, ya lograba que el DNS de mi red (pri.jovenclub.cu) supiera
a que servidor DNS tenia que preguntar cuando recibiera una consulta para
el dominio: pri.gredes.cu

Pues bien, como les comente todo esto que he hecho en las PC virtuales me
ha funcionado de maravillas, el DNS que esta en mx1.pri.gredes.cu delega
los subdominios mail.pri.gredes.cu e info.pri.gredes.cu en sus respectivos
servidores y yo desde mi estación de trabajo Windows puedo hacer consultas
DNS y preguntar por nombres y ALAS que estan puestos en los DNS que están
configurados en las PC virtuales: correo.info.pri.gredes.cu y
delta.mail.pri.gredes.cu respectivamente. A continuación les pongo las
configuraciones:

Configuración del servidor: mx1.pri.gredes.cu

Contenido del fichero /etc/bind/named.conf.local

// Zona pri.gredes.cu
    zone "pri.gredes.cu" {
    type master;
    file "/var/cache/bind/pri.gredes.cu";
    };

Contenido del fichero de la zona directa:


$ORIGIN pri.gredes.cu.
$TTL 86400
@	         21600	IN SOA	mx1.pri.gredes.cu. root.pri.gredes.cu. (
                                2009121802
                                3600
                                3600
                                3600000
                                86400 )
			     21600 IN  NS   mx1.pri.gredes.cu.
info.pri.gredes.cu.	     21600 IN  NS   correo.info.pri.gredes.cu.
mail.pri.gredes.cu.	     21600 IN  NS   delta.mail.pri.gredes.cu.
			     21600 IN  MX   5 mx1.pri.gredes.cu.

mx1			     21600 IN  A    192.168.5.9
delta.mail.pri.gredes.cu.    21600 IN  A    192.168.5.10
correo.info.pri.gredes.cu.   21600 IN  A    192.168.5.11

mx			     21600 IN  CNAME mx1
ns			     21600 IN  CNAME mx1


Configuración del servidor: delta.mail.pri.gredes.cu

Contenido del fichero /etc/bind/named.conf.local

//Zona mail.pri.gredes.cu
       zone "mail.pri.gredes.cu" {
       type master;
       file "/var/cache/bind/mail.pri.gredes.cu";
       };

Contenido del fichero de la zona directa:

$ORIGIN mail.pri.gredes.cu.
$TTL 86400
@     21600 IN SOA delta.mail.pri.gredes.cu. root.mail.pri.gredes.cu. (
                   2009060601
                   3600
                   3600
                   3600000
                   86400 )
	21600   IN   NS  delta.mail.pri.gredes.cu.
	21600	IN   MX	 5 delta.mail.pri.gredes.cu.

delta	21600	IN   A	192.168.5.10

pop3	21600	IN   CNAME	delta
smtp	21600	IN   CNAME	delta


Configuración del servidor: correo.info.pri.gredes.cu

Contenido del fichero /etc/bind/named.conf.local

//Zona info.pri.gredes.cu
       zone "info.pri.gredes.cu" {
       type master;
       file "/var/cache/bind/info.pri.gredes.cu";
       };

Contenido del fichero de la zona directa:

$ORIGIN info.pri.gredes.cu.
$TTL 86400
@     21600  IN  SOA correo.info.pri.gredes.cu. root.info.pri.gredes.cu. (
                     2009121703
                     3600
                     3600
                     3600000
                     86400 )
	     21600      IN   NS	correo.info.pri.gredes.cu.
	     21600	IN   MX 5 correo.info.pri.gredes.cu.

correo		21600	IN   A	192.168.5.11

pop3		21600	IN   CNAME	correo
smtp		21600	IN   CNAME	correo
webmail		21600	IN   CNAME	correo
gosa-admin	21600	IN   CNAME	correo
ldap-admin	21600	IN   CNAME	correo
correoweb	21600	IN   CNAME	correo
webmail		21600	IN   CNAME	correo
listas		21600	IN   CNAME	correo

Ahora, como dije, en estas configuraciones que he realizado en cada una de
las PC virtuales todo funciona de maravillas, por ejemplo:

Estando conectado por ssh a mx1.pri.gredes.cu para hacer consultas DNS con
el comando dig y con nslookup:

mx1:/etc# dig @localhost NS mail.pri.gredes.cu

; <<>> DiG 9.5.1-P3 <<>> @localhost NS mail.pri.gredes.cu
; (2 servers found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28837
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;mail.pri.gredes.cu.            IN      NS

;; ANSWER SECTION:
mail.pri.gredes.cu.     21192   IN      NS      delta.mail.pri.gredes.cu.

;; ADDITIONAL SECTION:
delta.mail.pri.gredes.cu. 21192 IN      A       192.168.5.10

;; Query time: 5 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 30 11:31:01 2009
;; MSG SIZE  rcvd: 72


Aquí pregunte por el registro NS para el dominio info.pri.gredes.cu

mx1:/etc# dig @localhost NS info.pri.gredes.cu

; <<>> DiG 9.5.1-P3 <<>> @localhost NS info.pri.gredes.cu
; (2 servers found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47412
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;info.pri.gredes.cu.            IN      NS

;; ANSWER SECTION:
info.pri.gredes.cu.     21600   IN      NS      correo.info.pri.gredes.cu.

;; ADDITIONAL SECTION:
correo.info.pri.gredes.cu. 21600 IN     A       192.168.5.11

;; Query time: 1669 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 30 11:32:19 2009
;; MSG SIZE  rcvd: 73

Ahora hago esto mismo, pero con nslookup:

mx1:/etc# nslookup
> set type=NS
> mail.pri.gredes.cu
Server:         192.168.5.9
Address:        192.168.5.9#53

Non-authoritative answer:
mail.pri.gredes.cu      nameserver = delta.mail.pri.gredes.cu.

Authoritative answers can be found from:
delta.mail.pri.gredes.cu        internet address = 192.168.5.10


mx1:/etc# nslookup
> set type=NS
> info.pri.gredes.cu
Server:         192.168.5.9
Address:        192.168.5.9#53

Non-authoritative answer:
info.pri.gredes.cu      nameserver = correo.info.pri.gredes.cu.

Authoritative answers can be found from:
correo.info.pri.gredes.cu       internet address = 192.168.5.11

Ahora hare consultas DNS a nombres a alias usando dig y nslookup

mx1:/etc# dig @localhost pop3.info.pri.gredes.cu

; <<>> DiG 9.5.1-P3 <<>> @localhost pop3.info.pri.gredes.cu
; (2 servers found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31595
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;pop3.info.pri.gredes.cu.       IN      A

;; ANSWER SECTION:
pop3.info.pri.gredes.cu. 21600  IN      CNAME   correo.info.pri.gredes.cu.
correo.info.pri.gredes.cu. 21359 IN     A       192.168.5.11

;; AUTHORITY SECTION:
info.pri.gredes.cu.     21359   IN      NS      correo.info.pri.gredes.cu.

;; Query time: 1971 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 30 11:36:20 2009
;; MSG SIZE  rcvd: 92


mx1:/etc# dig @localhost pop3.mail.pri.gredes.cu

; <<>> DiG 9.5.1-P3 <<>> @localhost pop3.mail.pri.gredes.cu
; (2 servers found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6455
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;pop3.mail.pri.gredes.cu.       IN      A

;; ANSWER SECTION:
pop3.mail.pri.gredes.cu. 21600  IN      CNAME   delta.mail.pri.gredes.cu.
delta.mail.pri.gredes.cu. 20704 IN      A       192.168.5.10

;; AUTHORITY SECTION:
mail.pri.gredes.cu.     20704   IN      NS      delta.mail.pri.gredes.cu.

;; Query time: 2216 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 30 11:39:09 2009
;; MSG SIZE  rcvd: 91

Ahora lo mismo con nslookup

mx1:/etc# nslookup
> smtp.info.pri.gredes.cu
Server:         192.168.5.9
Address:        192.168.5.9#53

Non-authoritative answer:
smtp.info.pri.gredes.cu canonical name = correo.info.pri.gredes.cu.
Name:   correo.info.pri.gredes.cu
Address: 192.168.5.11


mx1:/etc# nslookup
> smtp.mail.pri.gredes.cu
Server:         192.168.5.9
Address:        192.168.5.9#53

Non-authoritative answer:
smtp.mail.pri.gredes.cu canonical name = delta.mail.pri.gredes.cu.
Name:   delta.mail.pri.gredes.cu
Address: 192.168.5.10

Como ven todo funciona, todas estas consultas las realice desde la consola
de mx1.pri.gredes.cu que es el servidor que delega en los otros dos, pero
si hago todo esto desde mi estación de trabajo Windows que los dns que usa
en su configuración de red son los de mi red (pri.jovenclub.cu) también
funciona perfecto. Ahora, si hago estas configuraciones exactamente igual
que como las he hecho en estas máquinas virtuales en los servidores DNS de
mi RED que también son Debian Lenny , que usan la misma versión del bind9
no me funciona! Con único subdominio digamos con csur.pri.jovenclub.cu
sabiendo yo que el servidor para ese dominio está bien configurado ya que
lo hice yo mismo y que también tiene Debian Lenny y la configuración del
DNS está igual que en los míos, aun así no me funciona. La únicas
diferencias que veo entre los que hice en los servidores virtuales y los
que nuestra RED son:

-	Mis servidores DNS están configurados con vistas y los DNS en las PC
virtuales ninguno esta con vistas.
-	Mis servidores DNS están en al subred 192.168.5.0/28 y el servidor que
tome para hacer la prueba que gestiona el dominio csur.pri.jovenclub.cu
esta en la subred 192.168.2.44/30

Desde luego que en mis DNS a la hora de querer delegar el subdominio
csur.pri.jovenclub.cu en el servidor responsable de dicho dominio, eso lo
hice en la zona que tiene las IP de la subred 192.168.5.0/28 en la otra
no, ya que la otra vista es para los clientes que se conectan por MODEM a
ETECSA y para ellos las redes 192.168.5.0/28, 192.168.2.0/24 y
192.168.222.0/24 no son alcanzables.

Lo que hice en mis dns fue agregar a la zona lo siguiente:

$ORIGIN pri.jovenclub.cu.
$TTL 86400
@     21600   IN      SOA     ns.pri.jovenclub.cu. root.pri.jovenclub.cu. (
                              2009122903
                              3600
                              3600
                              3600000
                              86400 )
                            21600 IN  NS      ns.pri.jovenclub.cu.
                            21600 IN  NS      mx1.pri.jovenclub.cu.
csur.pri.jovenclub.cu.      21600 IN  NS      alpha.csur.pri.jovenclub.cu.
                            21600 IN  MX      5 mx1.pri.jovenclub.cu.


router                          21600   IN      A   192.168.5.1
mx1                             21600   IN      A   192.168.5.2
ns                              21600   IN      A   192.168.5.3
ns2                             21600   IN      A   192.168.5.4
nsi                             21600   IN      A   192.168.5.5
alpha.csur.pri.jovenclub.cu     21600   IN      A   192.168.2.46

correo                          21600   IN      CNAME   mx1
php-admin                       21600   IN      CNAME   mx1
gosa-admin                      21600   IN      CNAME   mx1
pop3                            21600   IN      CNAME   mx1
ldap                            21600   IN      CNAME   mx1


Alguien que haya hecho esto antes, me podría dar una idea de que puede
estar pasando, seria de gran ayuda.


Gracias desde ya!

_______________________________________
Eduardo R. Barrera Pérez
Administrador Nodo Jovenclub
Pinar del Rí­o
Web-Site: http://www.pri.jovenclub.cu
Email:  ebarrera@pri.jovenclub.cu
Jabber: ebarrera@softwarelibre.cu
        ebarrera@jabber.pri.jovenclub.cu
Phone:  0148-755805
      _
  ___| |__   __ _ _ __ _ __ ___ _ __ __ _
 / _ \ '_ \ / _` | '__| '__/ _ \ '__/ _` |
|  __/ |_) | (_| | |  | | |  __/ | | (_| |
 \___|_.__/ \__,_|_|  |_|  \___|_|  \__,_|




Reply to: