【問題】
 あなたの会社には,「nwtraders.msft」というシングルのWindows Server 2008 Active Directoryドメインがあり,あなたはこのドメインにあるWindows Server 2008ドメイン・コントローラ(DC)とDNSサーバーを管理している。

 ある朝,ユーザーからドメインにログオンできないとのクレームを受け,あなたはDNSサーバー上の「nwtraders.msft」ゾーンを確認したところ,DCのSRVレコードが存在しないことに気づいた。「nwtraders.msft」ゾーンにDCのSRVレコードを登録する方法は,次のうちのどれか。適切なものを選択しなさい。

A. 「IPCONFIG /RegisterDNS」コマンドをDC上で実行する
B. 「IPCONFIG /RegisterDNS」コマンドをDNSサーバー上で実行する
C. 「NET STOP NTDS」と「NET START NTDS」コマンドをDC上で実行する
D. 「NET STOP NTDS」と「NET START NTDS」コマンドをDNSサーバー上で実行する

正解:C

【解説】
 SRVレコードとは,各種サービスの名前解決をおこなうDNSサーバーのレコードである。Windows 2000 Server以後のActive Directoryネットワークにおいて,このSRVレコードは,ドメイン名からDCのホスト名に名前解決を行うのが主とした役割となっている。SRVレコードによってActive Directoryドメイン・サービス(AD DS)を提供するコンピュータのホスト名への名前解決が実行され,その後ホスト名はAレコードによってIPアドレスへと名前解決される。

 SRVレコードが存在しないと,クライアントはドメインにログオンすることができなくなる。(図1)。なお,DNSサーバーのSRVレコードの働きを,HOSTSファイルやLMHOSTSファイルで代用することはできない。HOSTSファイルに記述できるのはAレコード相当であり,LMHOSTSファイルはホスト名の名前解決ではなく,NetBIOS名の名前解決で利用されるファイルである。

図1●DNSサーバーのSRVレコード
図1●DNSサーバーのSRVレコード
[画像のクリックで拡大表示]

 「IPCONFIG /RegisterDNS」コマンドは,実行されたコンピュータのAレコードとPRTレコードを所定のDNSサーバー上のゾーンに動的更新(≒自動登録)するコマンドである。設問で問われているのはSRVレコードであるので,選択肢AおよびBは誤りである。

 「NET STOP」コマンドと「NET START」コマンドは,それぞれ指定したサービスを停止,開始するコマンドである。選択肢C,DのNTDSというサービスはAD DSのサービス名である。AD DSは起動時に,SRVレコードの動的更新を行う。選択肢C,DはどちらもAD DSを再起動することで,必要なSRVレコードをゾーンに登録させようと試みている。しかしAD DSが存在するのは,DC上でありDNSサーバー上ではないので,選択肢Dは誤りであり,選択肢Cが正解である。

 選択肢では,「NET STOP」コマンド,「NET START」コマンドにサービス名を利用しているが,表示名を利用することも可能である。ただし表示名に空白が含まれる場合は,ダブル・クォートで括る必要がある(図2)。

図2●Active Directory Domain Service(AD DS)のサービス名と表示名
図2●Active Directory Domain Service(AD DS)のサービス名と表示名
コマンドでサービス名を利用する場合:「Net Stop NTDS」
コマンドで表示名を利用する場合:「Net Stop “Active Directory Domain Services”」

[画像のクリックで拡大表示]

 Windows Server 2003以前でDCのSRVレコードを動的更新する場合には,NTDSではなくNetLogonを再起動していた。Windows Server 2008でも,NetLogonを再起動することでDCのSRVレコードを動的更新できる(DCとDNSサーバーの役割が同一コンピュータに存在する場合,NTDSを再起動するとDNSサーバーの役割も依存関係によって再起動されるので,動的更新できないことはないがNetLogonを再起動するのが適切なのかもしれない)。

 DCが利用するゾーンがセカンダリ・ゾーンの場合,動的更新はプライマリ・ゾーンに対して行われ,その後ゾーン転送によってセカンダリ・ゾーンにコピーされる。そのためゾーンの構成によっては,動的更新されたSRVレコードが表示されるまでに,時間差があることに留意したい。

 NTDSまたはNetLogonを再起動することでSRVレコードを登録するには,DNSのゾーンで動的更新が有効になっている必要がある。動的更新が無効の場合は,SRVレコードを手動で記述することになる。SRVレコードは,他のレコードと同様に手動での記述も可能であるが,手動で記述するよりも,「NetLogon.dns」ファイルを利用することを薦めたい。

 「%SystemRoot%\System32\Config」フォルダに保存されているNetLogon.dnsファイルには,DCの稼働に必要なレコード(SRVレコードだけでなくAレコードも含む)が記述されている(図3)。そのため,NetLogonファイルの必要な箇所をDNSのゾーン・ファイルにコピーすることで,記述にかかる労力を大幅に軽減できる。

図3●「NetLogon.dns」ファイルの例
図3●「NetLogon.dns」ファイルの例
[画像のクリックで拡大表示]