Transferencia de zona de enlace rechazada

10

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 mastersconfiguración de la zona esclava, tengo la dirección IP del servidor esclavo en la allow-transferconfiguració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 namedusuario 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!

Sarah Ryan
fuente
2
¿Usted ha intentado fijar (temporalmente) allow-transferpara anyver si se ha solucionado el problema? Su allow-transfercláusula parece correcta, pero esto eliminará cualquier posibilidad de problemas ...
voretaq7
No, sigo recibiendo el mismo error. También intenté agregar la dirección IP WAN del servidor maestro a la configuración de 'maestros', por si acaso, y eso tampoco lo solucionó.
Sarah Ryan
1
¿Ejecutó rndc reconfigdespués de cambiar la configuración en el maestro?
Cakemox

Respuestas:

3

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?

dmourati
fuente
He actualizado mi pregunta con el resultado y los registros de este comando. Lo muestra como denegado al igual que en la solicitud de transferencia de zona regular. También he agregado información sobre las versiones y el sistema operativo. Perdón por dejar esa información importante.
Sarah Ryan
1
De acuerdo, el hecho de que el comando de excavación falle indica que todavía hay un problema en el maestro. @ voretaq7 anterior sugirió permitir la transferencia a cualquiera de los cuales, estoy de acuerdo, es un paso razonable de solución de problemas. Agregue localhost para permitir la transferencia, pruebe el comando de excavación del maestro en localhost. También configure un "tcpdump -i any port 53" en el maestro para verificar las direcciones IP de origen / destino. Usted dice "Tengo una configuración de iptables para permitir conexiones TCP / UDP en el puerto 53 (y 953) en ambos servidores" pero agregue la salida de "iptables -L -n -v" en el maestro. Eso o apaga iptables en el maestro y vuelve a probar.
dmourati
Agregué localhost (así como todos los demás nombres de host y direcciones IP que podría ser) a la configuración de permitir transferencia y sigo recibiendo el mismo error. Agregué la salida del comando iptables que solicitó, así como deshabilitar iptables al intentar nuevamente. Aún no hay suerte.
Sarah Ryan
3

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.

Sarah Ryan
fuente
1
Buen viejo chroot. Me alegro de que lo hayas encontrado.
dmourati
1

Puede parecer que esto ya está cubierto por la allow-transferdeclaración en options, pero intente agregar una allow-transferdeclaració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.

  1. Asegúrese de que sus relojes estén actualizados (al menos dentro de un margen razonable) en ambos servidores.

  2. Es posible que tenga SELinux interfiriendo. Intente deshabilitarlo temporalmente para probar.

bahamat
fuente
Intenté poner la opción permitir transferencia en la configuración de zona y todavía me da el mismo error. Solo las solicitudes de transferencia fallan. Puedo consultar con éxito el servidor para cualquier tipo de registro y lo devolverá como se esperaba. Pero cuando trato de hacer la transferencia de zona recibo mensajes de error denegados / RECHAZADOS.
Sarah Ryan
Verifica mi respuesta para una actualización.
bahamat