AKTUALIZACJA:
Wersja BIND:
[[email protected]] $ named -v
BIND 9.3.6-P1-RedHat-9.3.6-16.P1.el5
System operacyjny:
CentOS release 5.6 (Final)
Po uruchomieniu [[email protected]] $ dig @10.224.45.130 example.com. axfr
:
Niewolnik:
; <<>> 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.
Mistrz:
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
Ten sam komunikat o błędzie jak poprzednio.
AKTUALIZACJA 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
Prawdopodobnie patrzyłem na każdą stronę dotyczącą konfiguracji BIND master / slave i przez całe życie nie mogę uruchomić transferu strefy.
Oto moja konfiguracja: (przewiń w dół, aby wyświetlić opis problemu)
Mistrz: 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";
};
Slave: 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;
};
};
Oto problem. Kiedy ponownie uruchamiam nazwę na serwerze podrzędnym, widzi, że pliki strefy jeszcze nie istnieją i żąda transferu z serwera głównego:
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
... po czym serwer główny otrzymuje żądanie przeniesienia:
named.log (Master)
[10.224.45.130] client 10.224.45.131#53467: query: example.com IN AXFR -
... i odpowiada na żądanie przeniesienia, które zostaje odrzucone:
named.log (Master)
[10.224.45.130] client 10.224.45.131#53467: zone transfer 'example.com/AXFR/IN' denied
... na serwerze podrzędnym jest wyświetlany jako ODMOWY:
named.log (Slave)
[10.224.45.131] transfer of 'example.com/IN' from 10.224.45.130#53: failed while receiving responses: REFUSED
Przeglądając wszystkie konfiguracje w kółko, nie mogę znaleźć niczego złego w ustawieniach. Mam adres IP serwera głównego wymieniony w masters
ustawieniach konfiguracji strefy podrzędnej, Mam adres IP serwera podrzędnego wymieniony w allow-transfer
ustawieniach ustawień opcji głównych.
Wszystkie adresy IP są takie, jakie powinny być, to nie jest tak, że próbuje użyć publicznego adresu IP i zostaje odrzucony, ponieważ adres IP nie pasuje. Mam konfigurację iptables, aby umożliwić połączenia TCP / UDP na porcie 53 (i 953) na obu serwerach. Prawidłowo skonfigurowałem uprawnienia do plików, aby użytkownik mógł zapisać katalog / slaves, w którym przechowywane są pliki strefy slave named
.
Bez względu na to, co robię, zawsze pojawia się ten sam błąd. Jeśli ktokolwiek może dać mi wskazówkę co do tego, czego mi brakuje, naprawdę byłbym wdzięczny!
allow-transfer
abyany
zobaczyć czy to rozwiązuje problem? Twojaallow-transfer
klauzula wygląda poprawnie, ale to wyeliminuje wszelkie szanse na problemy ...rndc reconfig
po zmianie konfiguracji w systemie głównym?Odpowiedzi:
Aby rozpocząć, spróbuj sprawdzić, czy transfer strefy działa.
Na slave, wydaj dig @master your-domain. axfr
Jakie wersje BIND i jaki system operacyjny?
źródło
Znalazłem problem. Używam chrootowanego BIND, ale edytowałem pliki conf w / etc, a nie w / var / named / chroot / etc. Tak więc zmiany, które wprowadzałem, nie były widoczne. Skopiowałem pliki conf do katalogu chroot i teraz wszystko działa dobrze.
źródło
Może się wydawać, że jest to już uwzględnione w
allow-transfer
instrukcji woptions
, ale spróbuj dodać jawnąallow-transfer
instrukcję w strefie.Naprawdę nie widzę nic złego w twojej konfiguracji. Wygląda na to, że powinno działać. Czy bind nasłuchuje w ogóle na tym porcie? (Tj. Czy jakieś żądania się powiodły? A może wszystkie się nie powiedzą?)
Mam jeszcze dwa pomysły, które warto wypróbować.
Upewnij się, że oba zegary są aktualne (przynajmniej w rozsądnym zakresie) na obu serwerach.
Być może przeszkadza Ci SELinux. Spróbuj wyłączyć tymczasowo, aby przetestować.
źródło