Red Hat Training
A Red Hat training course is available for RHEL 8
4.6.3. BIND プライマリーサーバーでの逆引きゾーンの設定
逆ゾーンは、IP アドレスを名前にマップします。たとえば、IP 範囲 192.0.2.0/24
を担当している場合は、BIND で逆引きゾーンを設定して、この範囲の IP アドレスをホスト名に解決できます。
クラスフルネットワーク全体の逆引きゾーンを作成する場合は、それに応じてゾーンに名前を付けます。たとえば、クラス C ネットワーク 192.0.2.0/24
の場合は、ゾーンの名前が 2.0.192.in-addr.arpa
です。190.0.2.0/28
など、異なるネットワークサイズの逆引きゾーンを作成する場合は、ゾーンの名前が 28-2.0.192.in-addr.arpa
です。
前提条件
- BIND は、たとえばキャッシングネームサーバーとしてすでに設定されています。
-
named
またはnamed-chroot
サービスが実行しています。
手順
/etc/named.conf
ファイルにゾーン定義を追加します。zone "2.0.192.in-addr.arpa" { type master; file "2.0.192.in-addr.arpa.zone"; allow-query { any; }; allow-transfer { none; }; };
これらの設定により、次が定義されます。
-
2.0.192.in-addr.arpa
逆引きゾーンのプライマリーサーバー (type master
) としてのこのサーバー。 -
/var/named/2.0.192.in-addr.arpa.zone
ファイルはゾーンファイルです。この例のように相対パスを設定すると、このパスは、options
ステートメントのdirectory
に設定したディレクトリーからの相対パスになります。 - どのホストもこのゾーンにクエリーを実行できます。または、IP 範囲または BIND アクセス制御リスト (ACL) のニックネームを指定して、アクセスを制限します。
- どのホストもゾーンを転送できません。ゾーン転送を許可するのは、セカンダリーサーバーをセットアップする際に限られ、セカンダリーサーバーの IP アドレスに対してのみ許可します。
-
/etc/named.conf
ファイルの構文を確認します。# named-checkconf
コマンドが出力を表示しない場合は、構文に間違いがありません。
たとえば、次の内容で
/var/named/2.0.192.in-addr.arpa.zone
ファイルを作成します。$TTL 8h @ IN SOA ns1.example.com. hostmaster.example.com. ( 2022070601 ; serial number 1d ; refresh period 3h ; retry period 3d ; expire time 3h ) ; minimum TTL IN NS ns1.example.com. 1 IN PTR ns1.example.com. 30 IN PTR www.example.com.
このゾーンファイル:
-
リソースレコードの既定の有効期限 (TTL) 値を 8 時間に設定します。時間の
h
などの時間接尾辞がない場合、BIND は値を秒として解釈します。 - ゾーンに関する詳細を含む、必要な SOA リソースレコードが含まれています。
-
ns1.example.com
をこの逆引きゾーンの権威 DNS サーバーとして設定します。ゾーンを機能させるには、少なくとも 1 つのネームサーバー (NS
) レコードが必要です。ただし、RFC 1912 に準拠するには、少なくとも 2 つのネームサーバーが必要です。 -
192.0.2.1
および192.0.2.30
アドレスのポインター (PTR
) レコードを設定します。
-
リソースレコードの既定の有効期限 (TTL) 値を 8 時間に設定します。時間の
named
グループのみがそれを読み取ることができるように、ゾーンファイルに安全なアクセス許可を設定します。# chown root:named /var/named/2.0.192.in-addr.arpa.zone # chmod 640 /var/named/2.0.192.in-addr.arpa.zone
/var/named/2.0.192.in-addr.arpa.zone
ファイルの構文を確認します。# named-checkzone 2.0.192.in-addr.arpa /var/named/2.0.192.in-addr.arpa.zone zone 2.0.192.in-addr.arpa/IN: loaded serial 2022070601 OK
BIND をリロードします。
# systemctl reload named
change-root 環境で BIND を実行する場合は、
systemctl reload named-chroot
コマンドを使用してサービスをリロードします。
検証
逆引きゾーンからさまざまなレコードをクエリーし、出力がゾーンファイルで設定したレコードと一致することを確認します。
# dig +short @localhost -x 192.0.2.1 ns1.example.com. # dig +short @localhost -x 192.0.2.30 www.example.com.
この例では、BIND が同じホストで実行し、
localhost
インターフェイスでクエリーに応答することを前提としています。