Ubuntu 20.04
Sponsored Link

BIND : View ステートメントを使用する2020/05/03

 
[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 アドレスに置き換えてください )
root@dlp:~#
vi /etc/bind/named.conf
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
# コメント化
#include "/etc/bind/named.conf.default-zones";
# 追記
include "/etc/bind/named.conf.internal-zones";
include "/etc/bind/named.conf.external-zones";

root@dlp:~#
vi /etc/bind/named.conf.options
# 追記 : ローカルネットワークを定義
acl internal-network {
        10.0.0.0/24;
};

options {
        directory "/var/cache/bind";

.....
.....

        # 名前解決の問い合わせを受け付ける範囲を追記
        # 定義したローカルネットワークを追記
        allow-query { localhost; internal-network; };
        # ゾーン情報の転送要求を許可する範囲を追記
        # セカンダリーサーバーが存在する場合は必要に応じて追加
        allow-transfer { localhost; };
        # 再帰的な検索を許可する範囲を追記
        allow-recursion { localhost; internal-network; };

        //=======================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //=======================================================================

        dnssec-validation auto;

        # IPV6 を利用しない場合は [any] を [none] に変更
        listen-on-v6 { any; };
};

root@dlp:~#
vi /etc/bind/named.conf.internal-zones
view "internal" {
        # 指定範囲内のホストが内部向けの定義を参照
        match-clients {
                localhost;
                internal-network;
        };
        # 内部向け正引き情報を定義
        zone "srv.world" {
                type master;
                file "/etc/bind/srv.world.lan";
                allow-update { none; };
        };
        # 内部向け逆引き情報を定義
        zone "0.0.10.in-addr.arpa" {
                type master;
                file "/etc/bind/0.0.10.db";
                allow-update { none; };
        };
        include "/etc/bind/named.conf.default-zones";
};

root@dlp:~#
vi /etc/bind/named.conf.external-zones
view "external" {
        # 内部向け範囲以外のホストが参照
        match-clients { any; };
        # 問い合わせは全て許可
        allow-query { any; };
        # 再帰検索禁止
        recursion no;
        # 外部向け正引き情報を定義
        zone "srv.world" {
                type master;
                file "/etc/bind/srv.world.wan";
                allow-update { none; };
        };
        # 外部向け正引き情報を定義
        zone "80.0.16.172.in-addr.arpa" {
                type master;
                file "/etc/bind/80.0.16.172.db";
                allow-update { none; };
        };
};
[2]
関連コンテンツ