BIND9で/var/log/messagesに次のようなログが出力されて、
ゾーン転送に失敗した。
May 13 15:29:54 test named[4082]: dumping master file: tmp-XXXXP5ekSR: open: permission denied
May 13 15:29:54 test named[4082]: transfer of 'test.example.com/IN' from 1.1.1.100#53: failed while receiving responses: permission denied
May 13 15:29:54 test named[4082]: transfer of 'test.example.com/IN' from 1.1.1.100#53: end of transfer
これは、スレーブのnamed.confのゾーンファイルの保存先の指定が原因。
ゾーン転送に失敗した時の設定(named.conf)
options { directory "/var/named"; }; zone "test.example.com" { type slave; masters { 1.1.1.100; }; file "db.test.example.com"; };
/var/namedに書き込み権限がないため、拒否されてpermission deniedとなった。
単純に/var/namedの権限を変更しても同様のメッセージが出力された。
namedの再起動時に/var/namedの権限が書き換えられるので、
起動スクリプト(/etc/init.d/named)も修正したが結果は同じだった。
ゾーン転送に成功した時の設定(named.conf)
options { directory "/var/named"; }; zone "test.example.com" { type slave; masters { 1.1.1.100; }; file "bak/db.test.example.com"; };
/var/named/bakにゾーンファイルを保存するようにした。
これで問題なくゾーン転送でもらってきたファイルを保存することが
できるようになった。
以下も同様の意味になります。
options { directory "/var/named/bak"; }; zone "test.example.com" { type slave; masters { 1.1.1.100; }; file "db.test.example.com"; };