Trasferimento zona vincolante rifiutato


10

AGGIORNARE:

Versione BIND:

[root@10.224.45.130] $ named -v
BIND 9.3.6-P1-RedHat-9.3.6-16.P1.el5

Sistema operativo:

CentOS release 5.6 (Final)

Dopo l'esecuzione [root@10.224.45.131] $ dig @10.224.45.130 example.com. axfr:

Schiavo:

; <<>> 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

Stesso messaggio di errore di prima.

AGGIORNAMENTO 2:

[root@10.224.45.130 ~] # 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

Probabilmente ho esaminato ogni singola pagina relativa all'impostazione master / slave di BIND e non riesco per tutta la vita a far funzionare il trasferimento di zona.

Ecco la mia configurazione: (scorrere verso il basso per la descrizione del problema)

Master: 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";
};

Schiavo: 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;
    };
};

Ecco il problema Quando riavvio il nome sul server slave vede che i file di zona non esistono ancora e richiede un trasferimento dal server principale:

named.log (Slave)

[10.224.45.131] zone example.com/IN: no database exists yet, requesting AXFR of initial version from 10.224.45.130#53

... dopo di che il server principale riceve la richiesta di trasferimento:

named.log (Master)

[10.224.45.130] client 10.224.45.131#53467: query: example.com IN AXFR -

... e risponde con la richiesta di trasferimento, che viene negata:

named.log (Master)

[10.224.45.130] client 10.224.45.131#53467: zone transfer 'example.com/AXFR/IN' denied

... sul server slave appare come RIFIUTATO:

named.log (Slave)

[10.224.45.131] transfer of 'example.com/IN' from 10.224.45.130#53: failed while receiving responses: REFUSED

Osservando più volte tutte le configurazioni non riesco a trovare nulla di sbagliato nelle impostazioni. Ho l'indirizzo IP del server master elencato nell'impostazione della mastersconfigurazione della zona slave, ho l'indirizzo IP del server slave elencato nell'impostazione delle allow-transferimpostazioni delle opzioni master.

Tutti gli indirizzi IP sono quelli che dovrebbero essere, non è come se cercasse di utilizzare l'indirizzo IP pubblico e venisse rifiutato perché l'indirizzo IP non corrisponde. Ho installato iptables per consentire connessioni TCP / UDP sulla porta 53 (e 953) su entrambi i server. Ho impostato correttamente i permessi dei file in modo che la directory / slaves in cui sono memorizzati i file della zona slave sia scrivibile nameddall'utente.

Indipendentemente da ciò che faccio, ottengo sempre lo stesso errore. Se qualcuno può darmi un indizio su ciò che mi manca, lo apprezzerei davvero!


2
Hai provato (temporaneamente) l'impostazione allow-transferper anyvedere se questo risolve il problema? La tua allow-transferclausola sembra corretta, ma questo eliminerà ogni possibilità di problemi ...
voretaq7,

No, continua a ricevere lo stesso errore. Ho anche appena provato ad aggiungere l'indirizzo IP WAN del server master all'impostazione "master", per ogni evenienza, e neanche questo ha risolto il problema.
Sarah Ryan,

1
Hai corso rndc reconfigdopo aver modificato la configurazione sul master?
Cakemox,

Risposte:


3

Per iniziare, prova a verificare che un trasferimento di zona funzioni.

Sullo slave, rilascia dig @master your-domain. axfr

Quali versioni di BIND e quale sistema operativo?


Ho aggiornato la mia domanda con l'output e i log di questo comando. Lo mostra come negato proprio come nella normale richiesta di trasferimento di zona. Ho anche aggiunto informazioni su versioni e SO. Ci scusiamo per aver lasciato fuori quelle informazioni importanti.
Sarah Ryan,

1
OK, quindi il fatto che il comando dig fallisca indica che c'è ancora un problema sul master. @ voretaq7 sopra suggerito consentire il trasferimento a tutti quelli che sono d'accordo è una ragionevole fase di risoluzione dei problemi. Aggiungi localhost a allow-transfer, prova il comando dig dal master su localhost. Configurare anche un "tcpdump -i qualsiasi porta 53" sul master per verificare gli indirizzi IP di origine / destinazione. Dici "Ho configurato iptables per consentire connessioni TCP / UDP sulla porta 53 (e 953) su entrambi i server" ma aggiungi l'output di "iptables -L -n -v" sul master. Quello o spegnere iptables sul master e ripetere il test.
dmourati,

Ho aggiunto localhost (così come tutti gli altri nomi host e indirizzi IP che potrebbero essere) all'impostazione di permutazione e sto ancora ottenendo lo stesso errore. Ho aggiunto l'output del comando iptables che hai richiesto, oltre a disabilitare iptables durante il tentativo di nuovo. Ancora niente fortuna.
Sarah Ryan,

3

Trovato il problema Sto usando un bind chroot, ma stavo modificando i file conf in / etc e non / var / named / chroot / etc. Quindi i cambiamenti che stavo facendo non venivano visti. Ho copiato i file conf nella directory chroot e ora funziona tutto bene.


1
Buon vecchio chroot. Sono contento che tu l'abbia trovato.
dmourati,

1

Può sembrare che questo sia già coperto allow-transferdall'istruzione in options, ma prova ad aggiungere un'istruzione esplicita allow-transfersotto la zona.

Non vedo davvero niente di sbagliato nella tua configurazione. Sembra che dovrebbe funzionare. Il bind è in ascolto su quella porta? (Cioè, qualche richiesta ha successo? O falliscono tutti?)

Bene, ho altre due idee che vale la pena provare.

  1. Assicurati che i tuoi orologi siano entrambi aggiornati (almeno entro un margine ragionevole) su entrambi i server.

  2. È possibile che SELinux interferisca. Prova a disabilitarlo temporaneamente per eseguire il test.


Ho provato a mettere l'opzione allow-transfer nella configurazione della zona e mi dà ancora lo stesso errore. Sono solo le richieste di trasferimento a fallire. Posso interrogare con successo il server per qualsiasi tipo di record e lo restituirà come previsto. Ma quando provo a fare il trasferimento di zona ricevo messaggi di errore negati / RIFIUTI.
Sarah Ryan,

Controlla la mia risposta per un aggiornamento.
bahamat,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.