DNSセカンダリサーバ

 

設定手順

BIND のインストール

FreeBSD の基本システムに DNS サーバは含まれていない.パッケージで BIND を導入する.次のコマンドを実行する.

pkg update
pkg install bind920

設定ファイル

セカンダリゾーンのゾーンファイルは named が書き込むため,格納先ディレクトリを作成し,bind ユーザの書き込み権限を与えておく.次のコマンドを実行する.

mkdir -p /usr/local/etc/namedb/secondary
chown bind:bind /usr/local/etc/namedb/secondary
options {
        directory "/usr/local/etc/namedb";

        listen-on {
                any;
        };
        listen-on-v6 {
                any;
        };

        recursion no;
        allow-transfer { none; };
};

acl can_query {
        192.168.33.0/24;
        133.5.18.188;
        133.5.18.192;
        133.5.18.197;
        133.5.18.200;
};

zone "db.is.kyushu-u.ac.jp" {
        type secondary;
        file "secondary/db.zone";
        primaries {
                133.5.18.160;
        };
};

zone "18.5.133.in-addr.arpa" {
        type secondary;
        file "secondary/dbrev.rev";
        primaries {
                133.5.18.160;
        };
};

zone "0.0.127.in-addr.arpa" {
        type primary;
        file "master/localhost-reverse.db";
};

zone "localhost" {
        type primary;
        file "master/localhost-forward.db";
};

zone "33.168.192.in-addr.arpa" {
        type primary;
        file "master/4f.rev";
        allow-query { can_query; };
};

zone "4f.db.is.kyushu-u.ac.jp" {
        type primary;
        file "master/4f.zone";
        allow-query { can_query; };
};

説明

db.is.kyushu-u.ac.jp と,その逆引きゾーンである 18.5.133.in-addr.arpa については, プライマリサーバ minako (133.5.18.160) のセカンダリとして動作する. 4f.db.is.kyushu-u.ac.jp と,その逆引きゾーンである 33.168.192.in-addr.arpa については, プライマリである. 4f.db.is.kyushu-u.ac.jp への問い合わせは,

からのみ受け付ける.

BIND 9 では primarymastersecondaryslaveprimariesmasters は同義であり,新しい記法である前者を用いている.

recursion no により,このサーバは自身が権威を持つゾーンの応答だけを返す. 権威サーバで再帰問い合わせを許可すると,第三者に DNS リフレクション攻撃の踏み台として利用されるため, 権威サーバでは無効にする.

セカンダリとしてゾーン転送を受けるには,プライマリサーバ minako 側の設定も必要である. minako の named.conf の該当ゾーンに allow-transfer でこのサーバの IP アドレスを許可し, ゾーンファイルにこのサーバ ami の NS レコードと,その A レコードを追加する.

設定の確認と起動

  1. 設定ファイルの文法検査

    次のコマンドを実行する.エラーメッセージが出ないことを確認する.

    named-checkconf
    
  2. プライマリゾーンのゾーンファイルの検査

    次のコマンドを実行する.エラーメッセージが出ないことを確認する.

    named-checkzone 4f.db.is.kyushu-u.ac.jp /usr/local/etc/namedb/master/4f.zone
    named-checkzone 33.168.192.in-addr.arpa /usr/local/etc/namedb/master/4f.rev
    
  3. 自動起動の設定と起動

    次のコマンドを実行する.

    sysrc named_enable="YES"
    service named start
    
  4. 設定変更後の再読み込み

    named.conf やゾーンファイルを変更したときは,次のコマンドを実行する.

    rndc reload
    

その他

問い合わせ先のサーバを指定して名前解決を確認するには,dig コマンドで @サーバ名 を指定する. 次のコマンドを実行する.

dig @ami 4f.db.is.kyushu-u.ac.jp

セカンダリへのゾーン転送が行われているかどうかは,次のコマンドを実行して SOA レコードのシリアル番号を プライマリと比較することで確認できる.

dig @ami db.is.kyushu-u.ac.jp SOA
dig @minako db.is.kyushu-u.ac.jp SOA

Contact Us: Wab-master@www.kkaneko.jp