図1●強制的にDNSの動的更新を試みたがエラーが発生する
「ipconfig /registerdns」コマンドを使うと,コンピュータのDNS名とIPアドレスの動的登録を強制的に開始できる。しかし,ここでは「指定されたファイルが見つかりません」というエラーが発生し,動的更新に失敗している。
Q

Active Directory環境では,DNSの動的更新が事実上必須の要件なので,ダイナミックDNSを利用しています。このほどドメイン内のWebサーバーのIPアドレスを変更したため,コマンド・プロンプト上で「ipconfig /registerdns」コマンドを実行し,DNSサーバーのデータベースを強制的に更新しました。ところが「指定されたファイルが見つかりません」というエラーが発生し,処理が失敗します(図1)。何かこのコマンドの実行に必要なファイルが足りないのでしょうか?

A

図1のエラー・メッセージにおける見付からないファイルとは,ファイル・システム上のファイルではなく,プロセス間通信で使用する名前付きパイプのことです。DHCP Clientサービスが停止していることにより,ipconfigコマンドがDHCP Clientサービスとの通信に使用する名前付きパイプのopenに失敗したという内容です。DHCP Clientサービスが停止しているなら,開始するよう設定を変更してもう一度動的更新を試してください。

 サーバー・マシンはクライアント・マシンと異なり,IPアドレスを静的に割り当てることが多いでしょう。このため,サーバーではDHCP Clientサービスを不要だと考えて,サービスを停止してしまいがちです。しかし,実際にDNSレコードの動的更新を実行しているのは,DHCP Clientサービスです。Active Directory環境では,動的にIPアドレスを割り当てるマシンであろうと,静的にIPアドレスを割り当ててあるマシンであろうと,DHCP Clientサービスを停止するべきではありません。

 Windows 2000には,DHCP Clientサービスと混同されがちなサービスとして,「DNS Clientサービス」があります。一見するとこちらこそがDNSの動的更新をつかさどっているように思えます。しかしDNS Clientサービスは,実行ファイル名がDnscacheであることから分かる通り,DNSによって名前解決に成功/失敗した内容をキャッシュするリゾルバ・キャッシュ機能を提供しています。DNS Clientサービスを停止すると,DNSリゾルバ・キャッシュの表示ができなくなります

小森博司