外部向けDNSスレーブーサーバの構築手順
DNSのマスターサーバ構築についてはこちらの記事に書いています。
http://qiita.com/kkojima0127/items/017918793d20490c6c2c
今回はDNSのスレーブサーバ構築について記載します。
BINDパッケージのインストール、サービスの起動、停止などはマスターサーバの構築手順に記載しているので割愛します。
スレーブサーバの動作
スレーブサーバは設定に応じて、定期的にマスターサーバのゾーン情報のコピーを取得し、バックアップファイルを作成する。
スレーブサーバはこのバックアップファイルを使用してマスターサーバと同様に問い合わせに答えることができる。
あくまでゾーン情報はマスターから取得するので、スレーブサーバ側でレコードを記載することはなく、設定は初期設定ファイルのみ行えばスレーブサーバとして動作する。
初期設定ファイルの記述
記述する内容は以下のファイルにコメントで記述しています。
options {
listen-on port 53 { 127.0.0.1;
<問い合わせを受け付けるインターフェースのIPv4アドレス>; };
listen-on-v6 port 53 { ::1;
<問い合わせを受け付けるインターフェースのIPv6アドレス>; };
...
# インターネットのすべてのアドレスからのリクエストを許可するので"any"に設定
allow-query { any; };
...
# 再帰クエリを扱わないので"no"に設定
recursion no;
...
# zoneの名前としてドメイン名を指定
zone "sample.jp" IN {
# スレーブとして動作させるのでslave
type slave;
# ゾーン情報を取得するマスターのIPを指定
masters { 192.168.7.2; };
# slaves配下に取得したデータを保存するように設定
file "slaves/sample.jp.db";
};
# IPv4の逆引き
zone "7.168.192.in-addr.arpa" {
type slave;
masters { 192.168.7.2; };
file "slaves/7.168.192.in-addr.arpa.db";
};
# IPv6の逆引き
zone "0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa" {
type slave;
masters { 192.168.7.2 };
file "slaves/0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.db";
};
};
コピーしたゾーン情報の表示
マスターのゾーン情報をコピーすると初期設定ファイルに記述したファイルが作成され、そこに内容が記述されます。
ただし、形式がバイナリ形式(rawフォーマットと呼ばれる)のため、そのまま内容を確認することができません。
確認するには内容を読める形に変換する必要があります。
ゾーン形式の変換
以下のコマンドでrowフォーマットのゾーンファイルをテキスト形式に変換して出力することができる。
オプションの意味
-f: 変換元のファイルフォーマットを指定
-F: 変換先のファイルフォーマット
-o: 出力先ファイル("-"を指定することで標準出力に内容表示)
named-compilezone -f raw -F text -o <テキスト形式のファイルの出力先パス> <ゾーンフィアルのオリジン> <バイナリ形式のゾーンファイル名(パス不要)>