METTRE À JOUR:
Version BIND:
[[email protected]] $ named -v
BIND 9.3.6-P1-RedHat-9.3.6-16.P1.el5
Système opérateur:
CentOS release 5.6 (Final)
Après l'exécution [[email protected]] $ dig @10.224.45.130 example.com. axfr
:
Esclave:
; <<>> 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.
Maître:
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
Même message d'erreur qu'auparavant.
MISE À JOUR 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
J'ai probablement regardé chaque page concernant la configuration BIND maître / esclave, et je ne peux pas pour la vie de moi faire fonctionner le transfert de zone.
Voici ma configuration: (faites défiler vers le bas pour la description du problème)
Maître: 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";
};
Esclave: 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;
};
};
Voici le problème. Lorsque je redémarre nommé sur le serveur esclave, il voit que les fichiers de zone n'existent pas encore et demande un transfert du serveur maître:
named.log (esclave)
[10.224.45.131] zone example.com/IN: no database exists yet, requesting AXFR of initial version from 10.224.45.130#53
... après quoi le serveur maître reçoit la demande de transfert:
named.log (maître)
[10.224.45.130] client 10.224.45.131#53467: query: example.com IN AXFR -
... et répond avec la demande de transfert, qui est refusée:
named.log (maître)
[10.224.45.130] client 10.224.45.131#53467: zone transfer 'example.com/AXFR/IN' denied
... sur le serveur esclave, il apparaît comme REFUSÉ:
named.log (esclave)
[10.224.45.131] transfer of 'example.com/IN' from 10.224.45.130#53: failed while receiving responses: REFUSED
En regardant toutes les configs encore et encore, je ne trouve rien de mal avec les paramètres. J'ai l'adresse IP du serveur maître répertoriée dans le masters
réglage de la configuration de la zone esclave, j'ai l'adresse IP du serveur allow-transfer
maître répertoriée dans le réglage des paramètres des options maître.
Toutes les adresses IP sont ce qu'elles devraient être, ce n'est pas comme si elles essayaient d'utiliser l'adresse IP publique et étaient rejetées parce que l'adresse IP ne correspond pas. J'ai la configuration iptables pour autoriser les connexions TCP / UDP sur le port 53 (et 953) sur les deux serveurs. J'ai configuré les autorisations de fichier correctement afin que le répertoire / slaves où les fichiers de zone esclave sont stockés soit accessible en écriture par l' named
utilisateur.
Peu importe ce que je fais, j'ai toujours cette même erreur. Si quelqu'un peut me donner une idée de ce qui me manque, je l'apprécierais vraiment!
allow-transfer
àany
voir si cela résout le problème? Votreallow-transfer
clause semble correcte, mais cela éliminera tout risque de problèmes ...rndc reconfig
après avoir changé la configuration sur le maître?Réponses:
Pour commencer, essayez de vérifier qu'un transfert de zone fonctionne.
Sur l'esclave, lancez dig @master your-domain. axfr
Quelles versions de BIND et quel système d'exploitation?
la source
Trouvé le problème. J'utilise un BIND chrooté, mais je modifiais les fichiers conf dans / etc et non / var / named / chroot / etc. Les changements que je faisais n'étaient donc pas visibles. J'ai copié les fichiers conf dans le répertoire chroot et tout fonctionne bien maintenant.
la source
Il peut sembler que cela est déjà couvert par l'
allow-transfer
instruction dansoptions
, mais essayez d'ajouter uneallow-transfer
instruction explicite sous la zone.Je ne vois vraiment rien de mal avec votre configuration. Il semble que cela devrait fonctionner. Est-ce que bind écoute sur ce port? (C'est-à-dire, des demandes réussissent-elles? Ou échouent-elles toutes?)
Eh bien, j'ai deux autres idées qui valent la peine d'être essayées.
Assurez-vous que vos horloges sont à jour (au moins dans une marge raisonnable) sur les deux serveurs.
Il se peut que SELinux interfère. Essayez de le désactiver temporairement pour tester.
la source