DNSサーバに名前解決要求(クエリ)が送られてきた場合、DNSサーバは手元のゾーンに登録してあるレコードを調べて、該当するレコードがあれば、そこにある情報を返す。こうしてDNSサーバが「仕事」をするためには、作成したゾーンに適切な情報(レコード)を登録しなければならないのだが、手作業でレコードを登録したり保守したりするのは、意外と手間がかかる。

インターネット向けのサーバ群であれば、登録対象は限られた数のサーバだけだから、よほど大規模なサーバファームを構築するのでもなければ、手作業でもなんとかなる。しかし、LAN内部でActive Directoryを構成・運用する場合には、サーバだけでなくクライアントPCの情報もDNSサーバに登録することになるので、手作業では面倒を見きれない。

DNS動的更新とは

そこで登場するのがDNS動的更新である。ダイナミックDNSと呼ばれることもある。

クライアントPCがDHCPサーバからIPアドレスの割り当てを受けたときには、TCP/IPプロパティとしてDNSサーバアドレスも併せて指定するのが通例である。すると、DNS動的更新に対応しているOSであれば、指定されたDNSサーバに対して、自分のホスト名とIPアドレスの情報を送信して、レコードの登録を要請する。これがDNS動的更新である。

固定IPアドレスを使用している場合でも、DNS動的更新が有効になっていて、かつ適切なDNSサーバアドレスを指定してあれば、そのDNSサーバに対してレコード登録を要請するのは同じだ。

こうすれば、DHCPサーバによってIPアドレスを割り当てているクライアントPCがたくさん稼働していても、それらの情報をいちいち手作業でDNSサーバに登録する必要はない。クライアントPCが動作を始めれば、自動的にレコードを登録するし、コンピュータ名やIPアドレスが変われば、自動的に新しい情報を登録し直す。

ただし、DNS動的更新を利用するには、DNSサーバとDNSクライアントの両方が対応している必要がある。DNSサーバについては、Windows 2000 Server以降のWindowsサーバが持つDNSサーバと、BIND 8.1.2以降がDNS動的更新に対応している。

DNSクライアントについては、Windows 2000以降のすべてのWindows(Windows Meを除く)が対応している。この機能は既定値で有効になっており、TCP/IPプロパティ画面で無効にすることもできるが、通常は無効化の必要はない。DNSサーバがDNS動的更新に対応していなければ、レコード登録要請は無視されるだけである。

Windows 2000以降のWindows(Windows Meを除く)は、DHCPによる自動構成とDNS動的更新が既定値で有効になっている(画面はWindows Server 2012)

なお、DNS動的更新機能が意味を持つのは、クライアントPCなどのIPアドレスとホスト名を登録する場面だけではない。Active Directoryでドメインツリーを構成して、サブドメインを追加した場合には、そのサブドメインに対応するドメインサブフォルダをDNS動的更新によって自動作成する。これについては追って解説する予定だ。

もっとも実際には、Active Directoryの構成に際して推奨されているのは単一ドメイン構成であり、ツリー化する必然性は薄い。だから、DNS動的更新によってドメインサブフォルダを作成する場面も滅多にないだろう。

なお、DNSサーバの側では、DNS動的更新を有効にするかどうかをゾーンごとに個別に設定できる。LANでActive Directoryと組み合わせて使用する場合には有効にする必要があるが、インターネット向けに設置・運用するDNSサーバでは管理下にあるホストの顔ぶれは固定的だろうから、不正登録を防ぐ見地からいっても、DNS動的更新は無効にするべきだ。この設定変更については追って取り上げる。

Active Directory統合DNSとは

通常、DNSサーバはレコード情報をテキスト形式のファイルに保存している。しかし、Active DirectoryのドメインコントローラとDNSサーバを同じコンピュータで兼用する場合、Active Directory統合DNSに設定することができる。この設定はゾーンごとに個別に行う。

Active Directory統合DNSとは、DNSサーバが使用するレコード情報をActive Directoryデータベースに格納するものである。その場合、通常のテキスト形式ファイルは使わない。Active Directory統合DNSを使用することで、以下の利点を得られる。

・ドメインコントローラ同士でActive Directoryデータベースを同期したときに、自動的にDNSのレコード情報も同期できるので、結果として冗長化できる
・DNS動的更新を利用する際に、セキュリティで保護された更新を利用できる。このため、不正登録のリスクを軽減できると考えられる