ACTUALIZAR:
Versión BIND:
[[email protected]] $ named -v
BIND 9.3.6-P1-RedHat-9.3.6-16.P1.el5
Sistema operativo:
CentOS release 5.6 (Final)
Después de correr [[email protected]] $ dig @10.224.45.130 example.com. axfr
:
Esclavo:
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> @10.224.45.130 example.com. axfr
; (1 server found)
;; global options: printcmd
; Transfer failed.
Maestro:
28-Aug-2011 12:29:01.384 client 10.224.45.131#60553: query: example.com IN AXFR -
28-Aug-2011 12:29:01.384 client 10.224.45.131#60553: zone transfer 'example.com/AXFR/IN' denied
Mismo mensaje de error que antes.
ACTUALIZACIÓN 2:
[[email protected] ~] # iptables -L -n -v
Chain INPUT (policy DROP 30235 packets, 1747K bytes)
pkts bytes target prot opt in out source destination
171K 23M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- tap0 * 0.0.0.0/0 0.0.0.0/0
57196 6930K ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
688 57376 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 8
37869 6120K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
392 21216 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
74 5275 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:110
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:143
3 192 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:389
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:465
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:587
13 832 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:636
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:694
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:843
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:873
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:953
119 7584 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:993
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:993
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1194
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:1194
1 48 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5901
0 0 ACCEPT tcp -- * * 0.0.0.0/0 10.224.45.130 tcp dpt:10000
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11211
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11212
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11213
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11511
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11512
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11513
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
2987 372K ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * br0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
Chain OUTPUT (policy ACCEPT 246K packets, 37M bytes)
pkts bytes target prot opt in out source destination
Probablemente he visto cada página con respecto a la configuración maestro / esclavo de BIND, y no puedo durante toda mi vida hacer que la transferencia de zona funcione.
Aquí está mi configuración: (desplácese hacia abajo para ver la descripción del problema)
Maestro: 10.224.45.130
/etc/named.conf
options {
directory "/var/named";
version "unknown";
pid-file "/var/run/named/named.pid";
recursion yes;
allow-recursion { localhost; localnets; };
notify explicit;
allow-transfer {
10.224.45.131;
};
also-notify {
10.224.45.131;
};
};
zone "." {
type hint;
file "named.root";
};
zone "example.com" IN {
type master;
file "data/example.com.hosts";
};
Esclavo: 10.224.45.131
/etc/named.conf
options {
directory "/var/named";
version "unknown";
pid-file "/var/run/named/named.pid";
recursion yes;
allow-recursion { localhost; localnets; };
notify yes;
allow-transfer { "none"; };
allow-notify {
10.224.45.130;
};
};
zone "." {
type hint;
file "named.root";
};
zone "example.com" IN {
type slave;
file "slaves/example.com.hosts";
masters {
10.224.45.130;
};
};
Aquí está el problema. Cuando reinicio el nombre en el servidor esclavo, ve que los archivos de zona aún no existen y solicita una transferencia desde el servidor maestro:
named.log (esclavo)
[10.224.45.131] zone example.com/IN: no database exists yet, requesting AXFR of initial version from 10.224.45.130#53
... después de lo cual el servidor maestro recibe la solicitud de transferencia:
named.log (maestro)
[10.224.45.130] client 10.224.45.131#53467: query: example.com IN AXFR -
... y responde con la solicitud de transferencia, que se rechaza:
named.log (maestro)
[10.224.45.130] client 10.224.45.131#53467: zone transfer 'example.com/AXFR/IN' denied
... en el servidor esclavo se muestra como rechazado:
named.log (esclavo)
[10.224.45.131] transfer of 'example.com/IN' from 10.224.45.130#53: failed while receiving responses: REFUSED
Mirando todas las configuraciones una y otra vez, no puedo encontrar nada malo con la configuración. Tengo la dirección IP del servidor maestro en la masters
configuración de la zona esclava, tengo la dirección IP del servidor esclavo en la allow-transfer
configuración de las opciones maestras.
Todas las direcciones IP son lo que deberían ser, no es como si tratara de usar la dirección IP pública y se rechazara porque la dirección IP no coincide. Tengo la configuración de iptables para permitir conexiones TCP / UDP en el puerto 53 (y 953) en ambos servidores. He configurado los permisos de archivo correctamente para que el named
usuario pueda escribir el directorio / esclavos donde se almacenan los archivos de la zona esclava .
No importa lo que haga, siempre obtengo este mismo error. Si alguien me puede dar una pista de lo que me estoy perdiendo, ¡realmente lo agradecería!
allow-transfer
paraany
ver si se ha solucionado el problema? Suallow-transfer
cláusula parece correcta, pero esto eliminará cualquier posibilidad de problemas ...rndc reconfig
después de cambiar la configuración en el maestro?Respuestas:
Para comenzar, intente verificar que una transferencia de zona funcione.
En el esclavo, emita dig @master your-domain. axfr
¿Qué versiones de BIND y qué sistema operativo?
fuente
Encontró el problema. Estoy usando un BIND chrooteado, pero estaba editando los archivos conf en / etc y no / var / named / chroot / etc. Entonces los cambios que estaba haciendo no se estaban viendo. Copié los archivos conf en el directorio chroot y ahora todo funciona bien.
fuente
Puede parecer que esto ya está cubierto por la
allow-transfer
declaración enoptions
, pero intente agregar unaallow-transfer
declaración explícita debajo de la zona.Realmente no veo nada malo con su configuración. Parece que debería funcionar. ¿Bind está escuchando en ese puerto? (Es decir, ¿ alguna solicitud tiene éxito? ¿O todas fallan?)
Bueno, tengo dos ideas más que vale la pena probar.
Asegúrese de que sus relojes estén actualizados (al menos dentro de un margen razonable) en ambos servidores.
Es posible que tenga SELinux interfiriendo. Intente deshabilitarlo temporalmente para probar.
fuente