He estado intentando implementar una configuración de enlace maestro->esclavo entre dos máquinas, pero tengo un problema con respecto a la dirección IP BIND utilizada en el maestro para notificar a mi máquina esclava.
He aquí mi arreglo:
Master: master.site.com - 10.0.0.2
Slave: slave.site.com - 10.0.0.10
El maestro tiene una zona autorizada site.com
y está configurado para notificar a todos los esclavos cuando se cambia la zona. La zona está funcionando correctamente. Responde bien a las consultas ydig @10.0.0.2 -t SOA site.com
Entonces, en el maestro tengo esto named.conf.options
:
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no;
listen-on { 10.0.0.2; };
listen-on-v6 { any; };
allow-query { any; };
recursion yes;
allow-recursion { localhost; };
allow-notify { localhost; };
allow-transfer { localhost; 10.0.0.10; };
version none;
notify yes;
also-notify { 10.0.0.10; };
};
Sobre el esclavo:
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no;
listen-on { 10.0.0.10; };
listen-on-v6 { any; };
allow-query { any; };
recursion yes;
allow-recursion { localhost; };
allow-notify { localhost; 10.0.0.2; };
allow-transfer { localhost; 10.0.0.2; };
version none;
};
Para empezar, las notificaciones no parecen funcionar. Al usarlas tcpdump
en la máquina esclava, recibí este mensaje:
02:32:50.269377 IP 10.0.0.1.15271 > 10.0.0.10.53: 64103 notify [b2&3=0x2400] [1a] SOA? site.com. (85)
02:32:50.269662 IP 10.0.0.10.53 > 10.0.0.1.15271: 64103 notify Refused- 0/0/0 (27)
Como puede ver, aunque el maestro está configurado para escuchar 10.0.0.2
cuando envía notificaciones, las envía utilizando su dirección IP principal 10.0.0.1
y, lógicamente, mi esclavo rechazó la notificación...
¿Por qué el maestro no envía las notificaciones 10.0.0.2
? ¿Hay alguna configuración donde pueda forzar eso? La máquina posee 3 IP, una para su sitio web, otra para correo electrónico y otra para DNS... Necesito hacerlo.SOLOuso 10.0.0.2
para DNS, pero aparentemente listen-on
no parece funcionar con tráfico saliente...
¿Cómo puedo arreglar esto?
Respuesta1
Estás buscando la notify-source
opción. Desde elBRAZO DE UNIÓN:
notificar-fuente
notify-source determina qué dirección de origen local y, opcionalmente, el puerto UDP, se utilizarán para enviar mensajes NOTIFY. Esta dirección debe aparecer en la cláusula de zona maestra del servidor esclavo o en una cláusula de notificación de permiso. Esta declaración establece la fuente de notificación para todas las zonas, pero se puede anular por zona o por vista al incluir una declaración de fuente de notificación dentro de la zona o bloque de vista en el archivo de configuración.
En cuanto a por qué BIND se comporta de esta manera, es bastante típico de la mayoría de las aplicaciones. La IP de origen del tráfico iniciado localmente es la IP principal de la interfaz asociada con la ruta. En un sistema Linux, puede ver la IP de origen asociada con cada ruta escribiendo ip route show
y mirando los valores que siguen a la src
palabra clave.