A DNS zone is an administratively managed portion of the DNS namespace that begins at a delegated domain name and includes all subordinate names not delegated elsewhere, served by authoritative name servers that hold and publish its resource records. Organizations structure their namespaces into zones to control delegation, management responsibility, and change authority, with zone design directly affecting DNS reliability, security, and operational consistency across internal and external views. Proper zone configuration—including multiple authoritative servers on separate networks, secure zone transfers restricted to named secondaries, DNSSEC signing, and consistent SOA serial management—prevents resolution failures, data disclosure, tampering, and subdomain takeover risks that could otherwise cascade across large enterprise DNS infrastructures.
DNSゾーンの仕組み
ゾーンは、親ゾーンがドメイン名を一連のネームサーバーに委任する際に作成されます。その後、そのゾーンには、その名前およびそれ以上委任されていないサブドメインに関するレコードが格納されます。
- 委任(Delegation):親ゾーンは、子ドメインの権威サーバーを指定するNSレコードを公開します。これにより、その名前空間の一部に関する管理責任が、子ゾーンの管理者に委譲されます。
- ゾーンの定義:管理者は、権限開始(SOA)レコードで始まるゾーンファイルまたはデータベースエントリを作成します。また、このファイルには、NSレコードや、A、AAAA、MX、CNAMEなど、ゾーン内の名前に対応するその他のリソースレコードも記載されます。
- パブリケーション:1つ以上の権威あるネームサーバーがゾーンを読み込み、そのゾーン内の名前に対するクエリに、権威あるデータを用いて応答します。
- レプリケーション:セカンダリサーバーは、ゾーン転送を使用してプライマリサーバーからゾーンをコピーします。SOAレコード内のシリアル番号を比較し、より新しいバージョンが存在するかどうかを判断します。
- 解決:再帰的リゾルバは、ルートから下方向へと委任をたどって、そのゾーンの権限を持つサーバーに到達するまで進み、そのサーバーにレコードを問い合わせます。
ゾーンはドメインとは異なります。ドメインは名前空間のサブツリーであるのに対し、ゾーンはそのサブツリーのうち、1つの単位として管理される部分です。したがって、サブドメインが委任されているドメインは、複数のゾーンにまたがります。また、ゾーンファイルは、ゾーンの動作を変更することなく、データベースを基盤としたストレージに置き換えることも可能です。
DNSゾーンに関する一般的な問題
親ゾーンには、子ゾーンに対して権威ある応答を行わないサーバーのNSレコードが記載されています。これは、サーバーが廃止された場合や、ゾーンが一度も読み込まれなかった場合などに発生します。リゾルバーは、選択したサーバーに応じて、一部のクエリに対してSERVFAILまたはタイムアウトを返します。
管理者がゾーンを編集してもSOAシリアル番号を変更しない場合、セカンダリサーバーは新しいバージョンを認識できず、それを転送することもありません。クライアントは、どの権威サーバーが応答するかによって異なる回答を受け取ります。
子ゾーンのネームサーバーは子ゾーン内に存在しますが、親ゾーンはグルーアドレスを公開しません。そのため、リゾルバーはサーバーを見つけられず、ゾーン全体にアクセスできなくなります。
プライマリサーバーは、どのリクエスト元に対しても転送を許可するため、誰でもそのゾーン内のすべてのレコードをダウンロードし、内部ホストをマッピングすることができます。転送をリストに登録されたセカンダリに限定し、TSIG を使用して認証を行ってください。
同一ゾーンの内部バージョンと外部バージョンは別々に編集されるため、徐々に差異が生じます。ユーザーはクエリを実行する場所によって、同じ名前に対して異なるアドレスが表示されるため、トラブルシューティングに時間がかかります。