openSUSE Leap 16

BIND : View ステートメントを使用する2025/10/16

 

[named.conf] で View ステートメントを使用する場合の設定です。

View ステートメントにより、アクセス元の IP アドレスに応じて、検索クエリーに応答するゾーン情報を分けることができます。

例として、こちらで例示の内部ネットワーク向けの設定と、 こちらで例示の外部ネットワーク向けの設定を、View ステートメントを使用して、まとめて設定します。

[1] 下例は、ローカルネットワーク [10.0.0.0/24], 外部ネットワーク [172.16.0.80/29], ドメイン名 [srv.world] の環境の場合の設定です。
( 例示の [172.16.0.80/29] は実際にはプライベート用の IP アドレスです。自身が所有するグローバル IP アドレスに置き換えてください )
dlp:~ #
mv /etc/named.conf /etc/named.conf.org

dlp:~ #
vi /etc/named.conf
// 新規作成
// ローカルネットワークを定義
acl internal-network {
        10.0.0.0/24;
};
options {
        stale-answer-enable no;
        directory "/var/lib/named";
        managed-keys-directory "/var/lib/named/dyn/";
        include "/etc/crypto-policies/back-ends/bind.config";
        dump-file "/var/log/named/dump.db";
        statistics-file "/var/log/named/stats";
        listen-on-v6 { any; };
        // 名前解決の問い合わせを受け付ける範囲を追記
        allow-query { localhost; internal-network; };
        // ゾーン情報の転送要求を許可する範囲
        // セカンダリーサーバーが存在する場合は必要に応じて追加
        allow-transfer  { localhost; };
        recursion yes;
        notify no;
        disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";
        geoip-directory none;
};
// 内部ネットワーク向けのゾーンを定義
view "internal" {
        match-clients {
                localhost;
                internal-network;
        };
        zone "." in {
                type hint;
                file "root.hint";
        };
                zone "localhost" in {
                type primary;
                file "localhost.zone";
        };
                zone "0.0.127.in-addr.arpa" in {
                type primary;
                file "127.0.0.zone";
        };
                zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
                type primary;
                file "127.0.0.zone";
        };
                zone "srv.world" IN {
                type primary;
                file "srv.world.lan";
                allow-update { none; };
        };
                zone "0.0.10.in-addr.arpa" IN {
                type primary;
                file "0.0.10.db";
                allow-update { none; };
        };
};
// 外部ネットワーク向けのゾーンを定義
view "external" {
        // 内部ネットワーク向けの [match-clients] 以外の全てを対象
        match-clients { any; };
        allow-query { any; };
        // 再帰的な検索は許可しない
        recursion no;
        zone "srv.world" IN {
                type primary;
                file "srv.world.wan";
                allow-update { none; };
        };
        zone "0.16.172.in-addr.arpa" IN {
                type primary;
                file "0.16.172.db";
                allow-update { none; };
        };
};
[2]

[named.conf] の各ゾーンで指定したゾーンファイルの作成はこちらを参照ください

関連コンテンツ