第2章 BIND DNS サーバーでのゾーンの設定
example.com ドメインのドメイン名解決 (DNS) を管理するには、DNS BIND サーバーでゾーンを設定します。DNS ゾーンは、ドメインスペース内の特定のサブツリーのリソースレコードを含むデータベースです。これにより、クライアントが www.example.com を、そのゾーン内で設定された IP アドレスへと解決できるようになります。
2.1. ゾーンファイル内の Start of Authority レコード リンクのコピーリンクがクリップボードにコピーされました!
ゾーンに対して権威を持つ複数の DNS サーバーと DNS リゾルバーを管理するには、Start of Authority (SOA) レコードを使用できます。このレコードは 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、および minimum フィールドの数値は、時間を秒単位で定義します。ただし、読みやすくするために、時間の接尾辞 (m は分、h は時間、d は日など) を使用してください。たとえば、3h は 3 時間を表します。