検索
連載

DHCPサーバーの設定を確認し、挙動を理解する〜DHCPサーバー編(3)基礎から学ぶサーバーマネージャーの使い方(3)

DHCPサーバーを使用してIPアドレスを登録したDNSサーバーは、静的にIPアドレスを登録したDNSサーバーとは挙動が異なる。今回はDHCPサーバーの設定を確認し、その挙動を理解する。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「基礎から学ぶサーバーマネージャーの使い方」のインデックス

連載目次

動的登録と静的登録の挙動の違いを理解しよう

 Active Directoryを使用するWindowsネットワークでは、「DNS」(Domain Name System)サーバーが必須の名前解決手段となっている。DNSサーバーへのレコード登録には、「静的」と「動的」の2パターンある。

 通常、DNSサーバーのレコードはサーバーなら管理者が静的に登録を行うが、クライアントは動的に登録を行うだろう。しかし、DNSへのIPアドレスの動的レコード登録では、クライアントのIPアドレスを静的に登録した場合とDHCP(Dynamic Host Configuration Protocol)を使用した場合ではその挙動が異なる。その仕組みを理解しておくことで、より安全にネットワークを構築、運用することができる。

DNSサーバーの動的登録の設定

 DNSサーバーの「ゾーン」は、動的登録がデフォルトで許可されている。ゾーンの「プロパティ」→「全般」タブにある「動的更新」の設定には、次の三つの選択肢が用意されている(画面1)。

  • なし
  • 非セキュリティ保護およびセキュリティ保護
  • セキュリティ保護のみ
画面1
画面1 DNSゾーンの動的登録設定画面。デフォルトでは「セキュリティ保護のみ」で動的更新が許可されている

 デフォルトでは「セキュリティ保護のみ」になっており、DNSへの動的登録が行われるのは、ドメインに参加しているクライアントだけになる。ワークグループのクライアントでもDNSへの動的登録を行いたい場合は、「非セキュリティ保護およびセキュリティ保護」に設定する。ただし、この場合はクライアントのDNSサフィックスをゾーンと同じにする必要がある。

クライアントの動的登録

 クライアントにも動的登録の設定は用意されている。「TCP/IP詳細設定」画面の「この接続のアドレスをDNSに登録する」にチェックを入れる(デフォルトでオン)と、動的登録が行われるようになる(画面2)。

画面2
画面2 クライアントの動的登録設定画面。「この接続のアドレスをDNSに登録する」にチェックを入れると、動的登録が行われる

 この設定を変更する主な理由としては、複数のNIC(Network Interface Card)を搭載しており(マルチホームクライアント)、DNSに登録したくないIPアドレスがあるといった場合だ。この場合には、チェックを外すことで動的登録が行われなくなる。なお、DNSへIPアドレスを静的登録するサーバーなどは動的登録の必要がないので、余計なトラブルを防ぐためにはこのチェックを外しておく方がよいだろう。

クライアントの静的登録

 クライアントのIPアドレスを静的登録した場合は、A(Address)レコードおよびPTR(PoinTeR)レコードをクライアント自ら登録することになる。しかし、この場合、DNSサーバーに登録されたレコードはそのクライアントが使用されなくなっても残るが、DNSのエージングおよび清掃プロセスで古いレコードと認識された場合には削除される。

 DHCPサーバーのデフォルト設定において、DHCPクライアントとしてIPアドレスが登録された場合は、Aレコードはクライアントが、PTRレコードはDHCPサーバーが登録する。また、DHCPのリース期間を過ぎたクライアントは、DHCPサーバーがレコードを削除する。しかし、Aレコードはクライアントが登録しているので、削除されるのはPTRレコードのみとなる。

 DNSサーバーには「前方参照ゾーン」と「逆引き参照ゾーン」があり、前方参照ゾーンはAレコードなどが配置され、逆引き参照ゾーンにはIPアドレスからホスト名を解決するためのPTRレコードが配置される。ただし、逆引き参照ゾーンはあくまで推奨設定であり、必須ではない。

 そのため、逆引き参照ゾーンに配置されたPTRレコードの存在を気にしない管理者もいるかもしれない。逆引き参照ゾーンを作成していない場合は、余計なトラフィックを流さないために、DHCPサーバーの「プロパティ」→「DNS」タブからPTRレコードの動的更新を無効化しておくとよい。

画面3
画面3 DHCPサーバーのデフォルト設定。逆引き参照ゾーンを作成していない場合は、「DNS PTRレコードの動的更新を無効にする」にチェック入れておくとよい

DHCPとDNSの統合

 “DHCPとDNSの統合”とは、DHCPサーバーがクライアントに対してリースしたAレコードおよびPTRレコードを、DHCPサーバー自らが登録することである。これは、DHCPサーバーの「プロパティ」→「DNS」タブで「DNSレコードを常に動的に更新する」にチェックを入れることで設定できる(前出の画面3参照)。

 DHCPサーバーを冗長構成にした場合は、DHCPのフェイルオーバーに伴うDNSレコードの更新、変更に注意してほしい。これは「セキュリティで保護された更新」のみが許可されたゾーンで、DHCPサーバーをフェイルオーバーさせた場合、切り替え前のサーバーでリースしたクライアントのDNSレコードが、切り替え後のサーバーで更新不可能(これはIPアドレスの変更だけでなく、タイムスタンプの更新も含む)になるという、DNSレコードのセキュリティに関わる課題である。

 この課題を解決するために、Active Directoryのグループには「DnsUpdateProxy」が用意されており、この「DnsUpdateProxy」グループにDHCPサーバーのコンピューターオブジェクトを追加しておく。さらに、更新専用IDを作成することが推奨されている。これはDHCPの「IPv4プロパティ」→「詳細設定」の「資格情報」で設定できる。

名前保護とは?

 DHCPサーバーには「名前保護」という設定が用意されており、これはWindows以外のクライアントがすでに同じ名前でDNSに登録されている場合に、DNSへの更新が失敗するという仕組みになる(画面4)。これを「ネームスクワッティングの防止」という。

画面4
画面4 DHCPサーバーの「名前保護」の有効化画面

 名前保護を有効にすると、DHCPサーバーは以下のような動作に変更される。

  • DHCPサーバーは、Windows DHCPクライアントのAレコードおよびPTRレコードの登録要求に応じる
  • DHCPサーバーは、Windows以外のDHCPクライアントのAレコードおよびPTRレコードを動的に更新する
  • DHCPサーバーは、リースが削除されると、AレコードおよびPTRレコードを破棄する

 名前保護を有効化すると、設定内容がグレーアウトされて変更できなくなる(画面5)。

画面5
画面5 「名前保護」の有効化すると、設定した内容を変更できなくなる

 この名前保護が動作する仕組みには、DHCPサーバーの動的ホスト構成識別子(DHCID)が使用される。DHCIDは重複する名前登録を防ぐために、DNSに登録されるリソースレコードである。このリソースレコードはDHCPによって使用され、コンピューターの識別子をコンピューターのA/AAAAレコードなどの名前に関する情報と共に格納する。DNSの名前登録プロセスにおいて、既存のDHCIDレコードに名前を登録しようとしている別のアドレスのコンピューターがあれば、その登録を拒否する。

 この仕組みとして注意したいのは、WindowsコンピューターのDNS登録ではDHCIDは適用されないということだ。例えば、すでに「CL1」というWindowsコンピューター名が存在していた場合でも、Linuxコンピューターが「CL1」であればDNSに登録されてしまう。

 以下の画面6の例では、Windowsコンピューター「CL1」にIPアドレス「192.168.10.100」が割り当てられており、その後、Linuxコンピューター「CL1」にIPアドレス「192.168.10.101」が割り当てられている。しかし、DNSサーバー側では、既存のWindowsコンピューター「CL1」は上書きされ、Linuxコンピューター「CL1」の「192.168.10.101」に書き換えられてしまっている(画面7)。

画面6
画面6 IPアドレスの割り当て状況。Windowsの「CL1」には「192.168.10.100」、Linuxの「CL1」には「192.168.10.101」が割り当てられている
画面7
画面7 DHCPからDNSへの登録状況。「CL1」がLinuxに割り当てられた「192.168.10.101」に書き換えられている

 しかし、Windows以外のクライアントがDNSに登録されるとDHCIDが登録され、以後、同じ名前のWindows以外のコンピューターの重複は起こらない。

 DHCPとDNSは、Windowsインフラストラクチャで重要な役割を担うサーバーである。DNSへの動的登録はデフォルトで設定されていることもあり、なんとなくできている現状があるが、しっかりと仕組みを理解することで、より安全かつ安定した環境を構築できるだろう。

筆者紹介

阿部 直樹(あべ なおき)

エディフィストラーニング株式会社所属のマイクロソフト認定トレーナー。Active Directory、Network、Security、Hyper-V、Clusterなどを担当。マイクロソフト トレーナー アワード(2010年)およびMicrosoft MVP for Hyper-V(Apr 2010 - Mar 2014)を受賞。個人ブログ『MCTの憂鬱』でマイクロソフト関連情報を発信中。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る