Red Hat Training
A Red Hat training course is available for RHEL 8
4.6. BIND DNS サーバーでのゾーンの設定
DNS ゾーンは、ドメインスペース内の特定のサブツリーのリソースレコードを含むデータベースです。たとえば、example.com
ドメインを担当している場合は、BIND でそのゾーンを設定できます。その結果、クライアントは www.example.com
をこのゾーンで設定された IP アドレスに解決できます。
4.6.1. ゾーンファイルの SOA レコード
SOA (Start of Authority) レコードは、DNS ゾーンで必要なレコードです。このレコードは、たとえば、複数の DNS サーバーがゾーンだけでなく DNS リゾルバーに対しても権限を持っている場合に重要です。
BIND の SOA レコードの構文は次のとおりです。
name class type mname rname serial refresh retry expire minimum
読みやすくするために、管理者は通常、ゾーンファイル内のレコードを、セミコロン (;
) で始まるコメントを使用して複数の行に分割します。SOA レコードを分割する場合は、括弧でレコードをまとめることに注意してください。
@ IN SOA ns1.example.com. hostmaster.example.com. ( 2022070601 ; serial number 1d ; refresh period 3h ; retry period 3d ; expire time 3h ) ; minimum TTL
完全修飾ドメイン名 (FQDN) の末尾にあるドットに注意してください。FQDN は、ドットで区切られた複数のドメインラベルで設定されます。DNS ルートには空のラベルがあるため、FQDN はドットで終わります。したがって、BIND はゾーン名を末尾のドットなしで名前に追加します。末尾にドットがないホスト名 (例: ns1.example.com
) は、ns1.example.com.example.com.
に展開されます。これは、プライマリーネームサーバーの正しいアドレスではありません。
SOA レコードのフィールドは次のとおりです。
-
name
: ゾーンの名前 (つまりorigin
)。このフィールドを@
に設定すると、BIND はそれを/etc/named.conf
で定義されたゾーン名に展開します。 -
class
: SOA レコードでは、このフィールドを常に Internet (IN
) に設定する必要があります。 -
type
: SOA レコードでは、このフィールドを常にSOA
に設定する必要があります。 -
mname
(マスター名): このゾーンのプライマリーネームサーバーのホスト名。 -
rname
(責任者名): このゾーンの責任者の電子メールアドレス。形式が異なりますのでご注意ください。アットマーク (@
) をドット (.
) に置き換える必要があります。 serial
: このゾーンファイルのバージョン番号。セカンダリーネームサーバーは、プライマリーサーバーのシリアル番号の方が大きい場合にのみ、ゾーンのコピーを更新します。形式は任意の数値にすることができます。一般的に使用される形式は
<year><month><day><two-digit-number>
です。この形式を使用すると、理論的には、ゾーンファイルを 1 日に 100 回まで変更できます。-
refresh
: ゾーンが更新された場合は、プライマリーサーバーをチェックする前にセカンダリーサーバーが待機する時間。 -
retry
: 試行が失敗した後、セカンダリーサーバーがプライマリーサーバーへのクエリーを再試行するまでの時間。 -
expire
: 以前の試行がすべて失敗した場合に、セカンダリーサーバーがプライマリーサーバーへのクエリーを停止した後の時間。 -
minimum
: RFC 2308 は、このフィールドの意味を負のキャッシュ時間に変更しました。準拠リゾルバーは、NXDOMAIN
名エラーをキャッシュする期間を決定するために使用します。
refresh
、retry
、expire
、および maximum
フィールドの数値は、時間を秒単位で定義します。ただし、読みやすくするために、時間の接尾辞 (m
は分、h
は時間、d
は日など) を使用してください。たとえば、3h
は 3 時間を表します。