AlmaLinux9 BIND View ステートメントを使用する方法

環境
AlmaLinux release 9.2 (Turquoise Kodkod)

概要
[named.conf] で View ステートメントを使用する場合の設定です。
View ステートメントにより、アクセス元の IP アドレスに応じて、検索クエリーに応答するゾーン情報
を分けることができます。

操作方法
1.自身のローカルネットワークを定義する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
acl internal-network {
10.0.0.0/24;
};
options {
# 変更 ( 全てリスンする )
listen-on port 53 { any; };
# 必要に応じて変更 ( IPv6 でリスンしない場合は [none] を指定 )
listen-on-v6 { any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
# 定義したローカルネットワークを追記
# 名前解決の問い合わせを受け付ける範囲
allow-query { localhost; internal-network; };
# ゾーン情報の転送要求を許可する範囲
# セカンダリーサーバーが存在する場合は必要に応じて追加
allow-transfer { localhost; };
acl internal-network { 10.0.0.0/24; }; options { # 変更 ( 全てリスンする ) listen-on port 53 { any; }; # 必要に応じて変更 ( IPv6 でリスンしない場合は [none] を指定 ) listen-on-v6 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; secroots-file "/var/named/data/named.secroots"; recursing-file "/var/named/data/named.recursing"; # 定義したローカルネットワークを追記 # 名前解決の問い合わせを受け付ける範囲 allow-query { localhost; internal-network; }; # ゾーン情報の転送要求を許可する範囲 # セカンダリーサーバーが存在する場合は必要に応じて追加 allow-transfer { localhost; };
acl internal-network {
        10.0.0.0/24;
};

options {
        # 変更 ( 全てリスンする )
        listen-on port 53 { any; };
        # 必要に応じて変更 ( IPv6 でリスンしない場合は [none] を指定 )
        listen-on-v6 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        secroots-file   "/var/named/data/named.secroots";
        recursing-file  "/var/named/data/named.recursing";
        # 定義したローカルネットワークを追記
        # 名前解決の問い合わせを受け付ける範囲
        allow-query     { localhost; internal-network; };
        # ゾーン情報の転送要求を許可する範囲
        # セカンダリーサーバーが存在する場合は必要に応じて追加
        allow-transfer  { localhost; };

2.内部ネットワーク向けのゾーンを定義する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
view "internal" {
match-clients {
localhost;
internal-network;
};
zone "." IN {
type hint;
file "named.ca";
};
zone "arkgame.com" IN {
type master;
file "arkgame.com.lan";
allow-update { none; };
};
zone "0.0.10.in-addr.arpa" IN {
type master;
file "0.0.10.db";
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};
view "internal" { match-clients { localhost; internal-network; }; zone "." IN { type hint; file "named.ca"; }; zone "arkgame.com" IN { type master; file "arkgame.com.lan"; allow-update { none; }; }; zone "0.0.10.in-addr.arpa" IN { type master; file "0.0.10.db"; allow-update { none; }; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; };
view "internal" {
        match-clients {
                localhost;
                internal-network;
        };
        zone "." IN {
                type hint;
                file "named.ca";
        };
        zone "arkgame.com" IN {
                type master;
                file "arkgame.com.lan";
                allow-update { none; };
        };
        zone "0.0.10.in-addr.arpa" IN {
                type master;
                file "0.0.10.db";
                allow-update { none; };
        };
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};

3. 外部ネットワーク向けのゾーンを定義する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
view "external" {
# 内部ネットワーク向けの [match-clients] 以外の全てを対象
match-clients { any; };
allow-query { any; };
# 再帰的な検索は許可しない
recursion no;
zone "arkgame.com" IN {
type master;
file "arkgame.com.wan";
allow-update { none; };
};
zone "80.0.16.172.in-addr.arpa" IN {
type master;
file "80.0.16.172.db";
allow-update { none; };
};
};
view "external" { # 内部ネットワーク向けの [match-clients] 以外の全てを対象 match-clients { any; }; allow-query { any; }; # 再帰的な検索は許可しない recursion no; zone "arkgame.com" IN { type master; file "arkgame.com.wan"; allow-update { none; }; }; zone "80.0.16.172.in-addr.arpa" IN { type master; file "80.0.16.172.db"; allow-update { none; }; }; };
view "external" {
        # 内部ネットワーク向けの [match-clients] 以外の全てを対象
        match-clients { any; };
        allow-query { any; };
        # 再帰的な検索は許可しない
        recursion no;
        zone "arkgame.com" IN {
                type master;
                file "arkgame.com.wan";
                allow-update { none; };
        };
        zone "80.0.16.172.in-addr.arpa" IN {
                type master;
                file "80.0.16.172.db";
                allow-update { none; };
        };
};

 

AlmaLinux 9

Posted by arkgame