更新:
BINDバージョン:
[[email protected]] $ named -v
BIND 9.3.6-P1-RedHat-9.3.6-16.P1.el5
オペレーティングシステム:
CentOS release 5.6 (Final)
[[email protected]] $ Dig @10.224.45.130 example.com. axfr
を実行した後:
スレーブ:
; <<>> 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.
マスター:
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
以前と同じエラーメッセージ。
更新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
私はおそらくBINDマスター/スレーブセットアップに関するすべてのページを見てきましたが、私は一生、ゾーン転送を機能させることができません。
これが私の設定です:(問題の説明を表示するには下にスクロールしてください)
マスター: 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";
};
スレーブ: 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;
};
};
これが問題です。スレーブサーバーでnamedを再起動すると、ゾーンファイルがまだ存在していないことがわかり、マスターサーバーからの転送を要求します。
named.log(スレーブ)
[10.224.45.131] zone example.com/IN: no database exists yet, requesting AXFR of initial version from 10.224.45.130#53
...その後、マスターサーバーが転送要求を受信します。
named.log(マスター)
[10.224.45.130] client 10.224.45.131#53467: query: example.com IN AXFR -
...そして拒否される転送要求で応答します:
named.log(マスター)
[10.224.45.130] client 10.224.45.131#53467: zone transfer 'example.com/AXFR/IN' denied
...スレーブサーバーでは、拒否されたと表示されます。
named.log(スレーブ)
[10.224.45.131] transfer of 'example.com/IN' from 10.224.45.130#53: failed while receiving responses: REFUSED
すべての構成を何度も見てみると、設定に問題はありません。マスターサーバーのIPアドレスがスレーブゾーン構成のmasters
設定にリストされています。スレーブサーバーのIPアドレスがマスターオプション設定のallow-transfer
設定にリストされています。
すべてのIPアドレスは本来あるべきものです。パブリックIPアドレスを使用しようとしていて、IPアドレスが一致しないために拒否されるわけではありません。両方のサーバーのポート53(および953)でTCP/UDP接続を許可するようにiptablesを設定しています。スレーブゾーンファイルが保存されている/ slavesディレクトリがnamed
ユーザーによって書き込み可能になるように、ファイルの権限を適切に設定しました。
私が何をしても、いつも同じエラーが出ます。誰かが私が欠けているものについての手がかりを私に与えることができるならば、私はそれを本当に感謝します!
問題が見つかりました。私はchrootされたBINDを使用していますが、/ var/named/chroot/etcではなく、/ etcのconfファイルを編集していました。そのため、私が行った変更は見られませんでした。 confファイルをchrootディレクトリにコピーしましたが、すべて正常に動作します。
まず、ゾーン転送が機能することを確認してください。
スレーブで、Dig @master your-domainを発行します。 axfr
BINDのバージョンとOSは?
これはすでにoptions
のallow-transfer
ステートメントでカバーされているように見えるかもしれませんが、ゾーンの下に明示的なallow-transfer
ステートメントを追加してみてください。
私は本当にあなたの設定に何も問題を見ていません。それはそのように見えますすべきうまくいきます。バインドはそのポートでリスニングしていますか? (つまり、anyリクエストは成功しますか、それともすべて失敗しますか?)
さて、私は試す価値のあるアイデアがさらに2つあります。
両方のサーバーでクロックが両方とも最新であることを確認してください(少なくとも妥当なマージン内にあります)。
SELinuxが干渉している可能性があります。テストのために一時的に無効にしてみてください。