【問題】
あなたの会社には,「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レコード [画像のクリックで拡大表示] |
「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)のサービス名と表示名 コマンドでサービス名を利用する場合:「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」ファイルの例 [画像のクリックで拡大表示] |