- Linux
- 2013-11-01 - 更新:2013-12-06
この記事は最終更新日から1年以上経過しています。
自前でセカンダリDNSサーバーを構築する際の設定例をご紹介します。
まずプライマリDNSサーバーの設定。
/etc/named.confでセカンダリを用意したいドメインのゾーン設定を修正します。
zone "example.jp" in { type master; file "example.jp"; //ゾーン設定ファイルを指定 allow-transfer { 0.0.0.0; }; //セカンダリDNSサーバーのIPアドレス };
allow-trasferでセカンダリDNSサーバーからのゾーン転送を許可する。※セキュリティ上必須
次にセカンダリDNSサーバーの設定をします。
/etc/named.conf
zone "example.jp" in { type slave; //セカンダリなのでタイプをスレーブに指定 file "slaves/example.jp"; //ゾーン設定ファイルを指定(省略可) masters { 0.0.0.0 }; //プライマリDNSサーバーのIPアドレス };
それぞれnamedを再起動し設定完了。
ちなみに、ゾーン転送はTCP53ポートを使用するらしいのですが、UDPを解放しないとできなかった。
最後にちゃんと転送されているかログを確認。/var/log/messages
プライマリのログ
client セカンダリIP#ポート: transfer of 'example.jp/IN': AXFR-style IXFR started
セカンダリのログ
zone example.jp/IN: transferred serial プライマリに設定されているシリアル transfer of 'example.jp/IN' from プライマリIP#53: end of transfer
以上のようなログが記録されていればOK。
ゾーン転送が失敗するときの例
通信不能
transfer of 'example.jp/IN' from プライマリIP#53: failed while receiving responses: REFUSED
allow-transferで許可されていない
received notify for zone 'example.jp': not authoritative
ポートが閉じている(いずれか)
zone example.jp/IN: refresh: failure trying master プライマリIP#53: time out zone example.jp/IN: refresh: failure trying master プライマリIP#53: operation canceled zone example.jp/IN: refresh: retry limit for master プライマリIP#53 exceeded
設定が成功すると、プライマリの情報を書き換えた際、セカンダリで自動的に設定を読み込むので、
セカンダリのログをtail -fで表示し、プライマリの情報を書き換えてみてください。
7,212 views