ドメイン ネーム システム (DNS) クライアント コンピューターは、動的更新を利用して、DNS サーバーに自分のリソース レコードを登録し、変更が発生するたびにそのリソース レコードを動的に更新することができます。これにより、特に設置場所の移動や変更の頻度が高く、動的ホスト構成プロトコル (DHCP) を使って IP アドレスを取得するクライアントのゾーン レコードを手動で管理する必要性が軽減されます。

DNS クライアント サービスおよび DNS サーバー サービスは、Request for Comments (RFC) 2136「Dynamic Updates in the Domain Name System」に記述されている動的更新の使用をサポートしています。DNS サーバー サービスを使用すると、標準プライマリ ゾーンまたはディレクトリ統合ゾーンを読み込むように構成された各サーバーで、ゾーンごとに動的更新を有効または無効にすることができます。既定では、TCP/IP を使用するように構成されていれば、DNS クライアント サービスは DNS のホスト (A) リソース レコードを動的に更新します。

クライアント コンピューターおよびサーバー コンピューターが DNS 名を更新するしくみ

既定では、TCP/IP を使用するように静的に構成されているコンピューターは、インストールされているネットワーク接続で構成され、使用されている IP アドレスに対応するホスト (A) リソース レコードおよびポインター (PTR) リソース レコードを動的に登録しようと試みます。既定では、すべてのコンピューターは自らの完全修飾ドメイン名 (FQDN) に基づいてレコードを登録します。

プライマリ フル コンピューター名である FQDN は、そのコンピューター名に付与されたプライマリ DNS サフィックスに基づいています。

その他の考慮事項

  • 既定では、DNS クライアントはトップレベル ドメイン (TLD) のゾーンの動的更新を行いません。単一のラベル名を持つゾーンは、TLD ゾーンと見なされます (com、edu、blank、my-company など)。TLD ゾーンの動的更新を許可するように DNS クライアントを構成するには、[トップ レベルのドメイン ゾーンを更新する] ポリシーの設定を使用するか、レジストリを変更します。

  • 既定では、コンピューターの FQDN のプライマリ DNS サフィックス部分は、コンピューターが参加する Active Directory ドメイン サービス (AD DS) のドメイン名と同じになります。異なるプライマリ DNS サフィックスを許可するには、ドメイン管理者がドメイン オブジェクト コンテナーで msDS-AllowedDNSSuffixes 属性を変更して、許可されるサフィックスの一覧を作成します。この属性は、Active Directory サービス インターフェイス (ADSI) またはライトウェイト ディレクトリ アクセス プロトコル (LDAP) を使用して、ドメイン管理者が管理します。

動的更新は、次のいずれかの理由またはイベントにより送信できます。

  • インストールされているいずれかのネットワーク接続の TCP/IP プロパティ構成で IP アドレスが追加、削除、または変更されたとき。

  • インストールされているいずれかのネットワーク接続に対応する DHCP サーバー上の IP アドレスのリースが変更または更新されたとき。たとえば、コンピューターが起動したとき、または ipconfig /renew コマンドが使用されたとき。

  • ipconfig /registerdns コマンドを使用して、DNS のクライアント名登録を手動で強制的に更新したとき。

  • 起動時にコンピューターの電源がオンになったとき。

  • メンバー サーバーがドメイン コントローラーに昇格したとき。

上のイベントのいずれかによって動的更新が実行されると、DNS クライアント サービスではなく、DHCP クライアント サービスが更新を送信します。このように設計されているため、DHCP が原因で IP アドレス情報の変更が発生した場合でも、その変更に対応する更新が DNS で実行され、コンピューターの名前からアドレスへのマッピングが同期されます。DHCP クライアント サービスは、DHCP を使用するように構成されていない接続を含む、システムのすべてのネットワーク接続に対してこの機能を実行します。

例 : 動的更新のしくみ

通常、コンピューター上で DNS 名または IP アドレスが変更されたときに動的更新の要求が発生します。たとえば、"oldhost" という名前のクライアントが、最初に [システムのプロパティ] で次の名前を使って構成されているとします。

コンピューター名

oldhost

コンピューターの DNS ドメイン名

tailspintoys.com

フル コンピューター名

oldhost.tailspintoys.com 

この例では、接続に固有の DNS ドメイン名はコンピューターに対して構成されていません。後で、コンピューターの名前が "oldhost" から "newhost" に変更され、システム上の名前が次のように変わります。

コンピューター名

newhost

コンピューターの DNS ドメイン名

tailspintoys.com

フル コンピューター名

newhost.tailspintoys.com 

[システムのプロパティ] で名前の変更が適用されると、コンピューターを再起動するように求められます。Windows が再起動すると、DHCP クライアント サービスは次の手順を実行して DNS を更新します。

  1. DHCP クライアント サービスが、コンピューターの DNS ドメイン名を使用して、種類が SOA (Start of Authority) のクエリを送信します。

    クライアント コンピューターは、"newhost.tailspintoys.com" など、現在構成されているコンピューターの FQDN をこのクエリで指定する名前として使います。

  2. クライアントの FQDN が含まれたゾーンに対して権限のある DNS サーバーが、種類が SOA のクエリに応答します。

    標準プライマリ ゾーンの場合、SOA クエリの応答で返されるプライマリ サーバー (オーナー) は静的で、固定されています。このプライマリ サーバーは、常に、ゾーンに格納された SOA リソース レコードに表示される DNS 名と完全に一致します。ただし、更新されるゾーンがディレクトリに統合されている場合は、ゾーンを読み込んでいる任意の DNS サーバーが応答し、自分自身の名前をゾーンのプライマリ サーバー (オーナー) として SOA クエリの応答に動的に挿入することができます。

  3. 次に、DHCP クライアント サービスが、プライマリ DNS サーバーとの通信を試みます。

    クライアントは、自分の名前に対する SOA クエリの応答を処理し、クライアント名を受け付けるプライマリ サーバーの権限を与えられた DNS サーバーの IP アドレスを特定します。次に、クライアントは、必要に応じて次の手順を実行し、クライアントのプライマリ サーバーと通信して、プライマリ サーバーを動的に更新します。

    1. クライアントは、SOA クエリの応答から特定されたプライマリ サーバーに、動的更新の要求を送信します。

      更新に成功したら、それ以上の処理は行われません。

    2. この更新が失敗した場合、クライアントは、次に、SOA レコードで指定されているゾーン名に対して、種類がネーム サーバー (NS) のクエリを送信します。

    3. このクエリに対する応答を受信すると、クライアントは、応答で最初に列挙されている DNS サーバーに SOA クエリを送信します。

    4. SOA クエリが解決された後、クライアントは、返された SOA レコードで指定されているサーバーに動的更新を送信します。

      更新に成功したら、それ以上の処理は行われません。

    5. この更新が失敗した場合、クライアントは、応答で次に列挙されている DNS サーバーに送信することによって SOA クエリの処理を繰り返します。

  4. 更新を実行できるプライマリ サーバーと通信した後、クライアントは更新の要求を送信し、サーバーはそれを処理します。

    更新要求の内容には、"newhost.tailspintoys.com" のホスト (A) リソース レコード (および場合によってはポインター (PTR) リソース レコード) を追加し、以前登録された名前 "oldhost.tailspintoys.com" に対応するこれらと同じ種類のレコードを削除する命令が含まれています。

    また、サーバーは、クライアントの要求に対して更新が許可されていることを確認します。標準プライマリ ゾーンでは動的更新がセキュリティで保護されていないため、どのクライアントの更新も成功します。AD DS 統合ゾーンでは、更新がセキュリティで保護されており、ディレクトリ ベースのセキュリティ設定を使って更新が行われます。

動的更新は、定期的に送信または更新されます。既定では、コンピューターは、7 日に 1 回更新を送信します。更新を行ってもゾーン データが変更されない場合、ゾーンは現在のバージョンのままにとどまり、変更は書き込まれません。名前またはアドレスが実際に変更された場合にのみ、更新によって実際のゾーンの変更やゾーン転送の増加が発生します。

DHCP クライアント サービスは、コンピューターのホスト (A) リソース レコードおよびポインター (PTR) リソース レコードを登録するとき、ホスト レコードに対して 15 分という既定のキャッシュ Time to Live (TTL) を適用します。この値によって、コンピューターのレコードがクエリの応答に含まれているときに、他の DNS サーバーとクライアントがそのレコードをキャッシュする時間が決まります。

セキュリティで保護された動的更新

DNS 更新セキュリティは、AD DS に統合されているゾーンでのみ利用できます。ゾーンをディレクトリに統合すると、DNS マネージャーでアクセス制御リスト (ACL) の編集機能を利用できるようになり、ここで、指定されたゾーンまたはリソース レコードに対する ACL にユーザーまたはグループを追加したり、ACL からユーザーまたはグループを削除したりすることができます。

既定では、DNS サーバーおよびクライアントの動的更新セキュリティは次のように処理されます。

  • DNS クライアントは、まず、セキュリティで保護されていない動的更新の使用を試みます。セキュリティで保護されていない更新が拒否されると、クライアントはセキュリティで保護された更新の使用を試みます。

    また、クライアントは、更新セキュリティによって特に禁止されていない限り、以前登録したリソース レコードの上書きを許可する既定の更新ポリシーを使用します。

  • ゾーンが AD DS に統合されると、Windows Server® 2008 を実行中の DNS サーバーは、既定の設定により、セキュリティで保護された動的更新のみを許可するよう設定されます。

    標準のゾーン格納方式を使用する場合、DNS サーバー サービスの既定の設定では、DNS サーバーのゾーン上の動的更新は許可されません。ディレクトリに統合されたゾーンや、標準のファイル ベース格納方式を使用するゾーンでは、すべての更新を許可するあらゆる動的更新を受け付けるようにゾーンを変更することができます。


目次