DHCPサービスはネットワークの基本サービスであり、もし障害が発生すると、ネットワーク上の機器がまったく使えなくなる。Windows Server 2012のDHCPサービスでは簡単に冗長構成を取れるように、ホットスタンバイや負荷分散機能が追加されている。
ネットワーク機器が動作するためには、それぞれの機器に対して適切なIPアドレスを割り当てる必要があるが、このためには、現在ではDHCPサービスを利用するのが一般的である。DHCPサービスの機能は、ルータ機器などに含まれているほか、Windows Serverを始めとするサーバOSなどでも提供されており、広く使われている。Windows Server 2012ではDHCPサービスの機能が強化され、DHCPサービスの冗長構成などがサポートされている。MSCS(Microsoft Cluster Service)のようなクラスタを用意しなくても、DHCPサービスだけで冗長運用が可能だ。今回はこれについて見ていく。
まずWindows Server 2012で強化されたDHCPサービス関連の機能強化点を次にまとめておく。
機能 | 概要 |
---|---|
DHCPフェイルオーバー | 2台のDHCPサーバを使って冗長構成のIPv4向けDHCPサーバを構築する。アクティブ/パッシブ型のホットスタンバイ・モードと、負荷分散モードの2種類の構成が選択できる |
ポリシー・ベースのIPアドレス割り当て | MACアドレスやDHCPベンダ・オプションなど、いくつかの条件によって、割り当てるIPアドレスの範囲やDHCPオプションなどをカスタマイズできる |
PowerShell管理機能の強化 | DHCPサーバ管理用に、約100個のPowerShellコマンドレットを追加 |
Windows Server 2012におけるDHCPサービス関連の機能改善点 |
DHCPサービスが利用できなくなるとネットワークに接続した機器が利用できなくなるため、その重要性は非常に高い。そこで、DHCPサービスを提供する場合は2台以上のサーバに分散するなどして、障害対策を施すことが少なくない。
今までのWindows Serverでも、2台のDHCPサーバを使って簡易的な障害対策を行うことは可能であった。具体的な方法については以下の記事を参照していただきたいが、2台のDHCPサーバに重複しない2つのスコープを割り当て、どちらのDHCPサーバからでもIPアドレスを受け取れるようにするものである。
この方法は、設定は簡単だし、どのWindows Server OSでも利用できるというメリットがあるが、運用には少し注意が必要である。IPアドレスのプールを2つに分けて2台のDHCPサーバに割り当てるのでアドレスの利用効率が半分になるし、2台のDHCPサーバに同じように設定を行う必要があるので、設定変更作業が面倒になる、などである。
これを改善するために、Windows Server 2008 R2では、IPアドレスのプールを分割して、2台目のDHCPサーバに設定をコピーする機能が用意された。設定手順については以下の記事を参照していただきたい。
ただしこの機能では、スコープの分割と最初の設定のコピーは行ってくれるが、その後の設定変更が自動的にコピーされることはない。スコープの設定を変更した場合は、手動で2台目のDHCPサーバの設定も変更する必要がある(もしくは2台目のDHCPサーバの設定を削除してから、スコープの分割作業をやり直す)。
Windows Server 2012では冗長構成のDHCPサーバの運用をサポートするため、DHCPサービスのフェイルオーバーや負荷分散機能などが新たに導入された。これを使えば、2台のDHCPサーバをフェイルオーバーで動作させたり、DHCPサービスを2台で分散処理させたりできる。まとめておくと、Windows Server 2012では次のような冗長運用の方法が利用できることになる。
方法 | 概要 |
---|---|
ホットスタンバイ・モード | Windows Server 2012の新機能。2台のDHCPサーバを使ってアクティブ/パッシブ型の冗長構成のIPv4向けDHCPサーバを構築する。常時動作するのはアクティブ側の1台だけだが、何らかの障害が発生した場合には、スタンバイ・モードで待機していたDHCPサーバに切り替わる。1台のDHCPサーバで設定を変更すると、それが他方にも伝達される。リースしたIPアドレスなどのデータベース情報は共有されているので、IPアドレスの利用効率が下がることはない |
負荷分散モード | Windows Server 2012の新機能。2台のDHCPサーバを常時動作させておき、負荷分散を図る。それ以外の機能は上のホットスタンバイ・モードと同じ |
スコープの分割モード | Windows Server 2008 R2における新機能。ウィザードを使ってスコープを分割し、2台目のDHCPサーバの設定を自動的に行う。ただしスコープの設定を変更した場合は、手動で2代目のDHCPサーバにも設定を適用する必要がある。TIPS「DHCPのスコープを分割して冗長構成にする(Windows Server 2008 R2編)」参照 |
DHCPサーバのクラスタ化 | Windows Server OSのクラスタ機能を使ってDHCPサーバを冗長化する |
2台のDHCPサーバを使った運用 | 2台のDHCPサーバで、スコープ内のIPアドレス・プールが重複しないように設定して運用する方法。TIPS「DHCPサーバを冗長構成で運用する方法」参照 |
Windows Serverで利用できるDHCPサーバの冗長運用方法 |
以下、Windows Server 2012で新たに導入された2つのモードについて見ていく。
これは2台のDHCPサーバを使って、アクティブ/パッシブ型の冗長構成を行う方式である。2台のDHCPサーバはスコープの情報やIPアドレスのリース状況などの情報を(通信によって)共有しているが、実際のIPアドレスの割り当て処理を行うのはアクティブな1台のDHCPサーバだけである。もしそのDHCPサーバに障害が発生して、通信できなくなったら、スタンバイ状態で待機していたバックアップのDHCPサーバがIPアドレスの割り当て作業を行う。
2台のDHCPサーバは、1つのネットワーク上に配置しておく方法もあるが、組織内の複数のDHCPサーバのバックアップとして配置しておく、ハブ&スポーク型で運用してもよいだろう。この場合、バックアップ側のDHCPサーバは、DHCPリレー(別の場所に配置されているDHCPサーバへ、ルータを介して接続する機能)によってサービスを行うことになる。
これは2台のDHCPサーバでDHCP要求を処理する方法である。ホットスタンバイ・モードと違い、2台のDHCPは常時動作しているので、DHCPサーバの負荷分散にもなっている。同じネットワーク上に2台のDHCPサーバを配置できるなら、この方法で利用するのがよいだろう。なお2台のDHCPサーバ間では、IPアドレス・プールから配布するIPアドレスの割合を変更できる。50%と50%にしておくと、2台のDHCPサーバから均等にIPアドレスがリースされるが、例えば20%と80%にしておくと、2:8の割合(IPアドレスの数の割合)でIPアドレスがリースされる。
DHCPサーバのホットスタンバイや負荷分散モードを利用するために必要な要件は次の通りである。
それではDHCPサーバを負荷分散モードで導入してみよう。冗長構成を利用するといってもその設定方法は簡単である。
まず同じドメインのWindows Server 2012のメンバ・サーバを2台用意し、それぞれに「DHCP」の役割を追加してDHCPサーバとして稼働させておく(DHCPサーバには固定IPアドレスが必要だが、このあたりの設定手順は省略する)。そしていずれのDHCPサーバも「承認」された状態にしておくこと(DHCPの管理ツールでDHCPサーバ名を選び、右クリックして、ポップアップ・メニューから[承認]を実行する)。
DHCPサーバを導入したら、次に「スコープ」を作成し、IPアドレス・プールやオプションなどを適切に定義しておく。そして実際にクライアントにIPアドレスが割り当てられるかどうか確認しておく。なお、これらの作業は1台目のDHCPサーバ上で行う。2台目のDHCPサーバは、DHCPサーバ役割を導入するだけでよく、後は何もしなくてよい(スコープを作成する必要はない)。
DHCPの設定が完了したら、DHCPの管理ツールを開き、サーバ名の下にある[IPv4]あるいはスコープ名を右クリックし、ポップアップ・メニューから[フェール オーバーの構成]を実行する。
ウィザードの最初の画面では、どのスコープをフェイルオーバーの対象にするかを選択する。
次の画面では、フェイルオーバーのパートナー(ペア)として利用するDHCPサーバを指定する。対象となるシステムには、あらかじめDHCPサーバ役割を導入して、「承認」操作を行っておくこと(スコープなどは何も定義しておく必要はない)。
次の画面では、フェイルオーバーの方法とそのパラメータを設定する。
「負荷分散の割合」とは、2台のDHCPサーバから配布するIPアドレス(の数)の割合である。均等に配布したいならデフォルトの50%と50%のままでよい。
以上で設定は終わりである。[次へ]ボタンをクリックすると、設定内容の確認画面が表示されるので、[確認]ボタンをクリックすると、パートナーのDHCPサーバへ設定がコピーされ、スコープの作成やアクティブ化などが行われた後、DHCPサーバとして起動する。
構成後のDHCP管理ツールの画面は次の通りである。2台目のDHCPサーバへ構成情報がコピーされていることが確認できる。2台のDHCPサーバの情報は同期されているので、IPアドレスのリース情報などはどちらのDHCPサーバでも同じように設定されていることが確認できる。設定したフェイルオーバーの構成は、「IPv4」やスコープのプロパティ画面で確認できる。変更したい場合は、一度フェイルオーバー設定を削除して、もう一度作り直せばよい。
以上のようにDHCPサーバが構成されている場合、DHCPクライアントから見ると、DHCPサーバが1台の場合と同じようにIPアドレスがリースされるが、どちらのDHCPサーバからリースされるかは不定である。「負荷分散の割合」で設定した確率に基づいて、いずれかのDHCPサーバからアドレスがリースされる。どちらのDHCPサーバから割り当てられているかは、クライアントのコマンド・プロンプト上で「ipconfig /all」などを実行してみれば確認できる。
ホットスタンバイ・モードを利用する場合も設定手順はほとんど同じである。モードの選択画面で「ホット スタンバイ」を選択すればよい。
Windows Server 2012のDHCPサーバで強化された機能として、もう1つ「ポリシー・ベースのIPアドレス割り当て」について解説しておく。これは、MACアドレスやDHCPのベンダ・オプションなどの条件に基づいて、特定のIPアドレスなどを割り当てる機能である。例えばMACアドレスが「00-15-5D-XX-XX-XX」の場合(これはHyper-Vの仮想マシンに割り当てられるデフォルトのMACアドレス)、「10.20.2.200〜250」のIPアドレスを割り当て、さらにDNSサーバは10.20.1.101にする、といったことが実現できる。
Windows ServerのDHCPサーバには、MACアドレスを使った「予約」機能があるが、これを使う場合は、クライアントのMACアドレスをいちいち登録せねばならず、数が増えると面倒であった。だが特定のPCのMACアドレスがある範囲内にあると分かっているなら(MACアドレスの先頭3bytesのベンダ・コードが分かっているなら)、それらに対して特定のIPアドレス範囲を割り当てることができる。
ポリシー・ベースのIPアドレス割り当ては、DHCPの管理ツールで左ペインのツリーにある[ポリシー]を右クリックし、ポップアップ・メニューから[新しいポリシー]を選択すれば定義できる。以下にポリシーの定義例を示しておく。
今回は、DHCPサービスのフェイルオーバー構成やポリシー・ベースのIPアドレス割り当てについて見てきた。DHCPサービスはネットワークの基幹サービスであり、高い信頼性が求められる重要な機能である。OSの標準機能だけでDHCPサーバを冗長構成にできるのは、非常に便利であり、ぜひ活用したいところだ。
Copyright© Digital Advantage Corp. All Rights Reserved.