今回は、Windows Server 2022を2台使用してDHCPサーバを構築します。
前提条件
DHCPサーバを構成するサーバはHyper-V上に構築したWindows Server 2022です。
- OS : Windows Server 2022 Datacenter Evalution
- CPU : 2vCPU
- MEM : 4GB
- DISK : 127GB
DHCPで使用するIPアドレス及びネットワークの情報は以下の通りです。
DHCPサーバはフェイルオーバー構成で、50%/50%の割合で負荷分散モードで構成します。
DHCP01
- Hostname : dev-dhcp01
- IP : 192.168.100.164
- Domain : willserver.local
DHCP02
- Hostname : dev-dhcp02
- IP : 192.168.100.165
- Domain : willserver.local
DHCPサーバのスコープは以下の設定をします。
DHCPのリース期間については、構築する環境により日数を変更します。
VDIのようなIPアドレスを短期間で消費・開放を繰り返すような環境であればDHCPのリース期間を短く設定し、不要になったIPアドレスを早めに開放してあげます。
- スコープ名 : dev_DHCP_Scope
- アドレスプール : 192.168.99.100-192.168.99.199
- リース期間 : 1日0時間0分
また、DHCPサーバのオプションとして、以下の設定をします。
- ルータ : 192.168.99.254
- DNSサーバ : 8.8.8.8
DHCPサーバインストール

[サーバマネージャー]-[管理]-[役割と機能の追加]を選択します。

[役割と機能の追加ウィザード]-[開始する前に]より、[次へ]を選択します。

[インストールの種類]より、[役割ベースまたは機能ベースのインストール]を選択して、[次へ]を押下します。

[サーバの選択]より、インストールするサーバを選択して、[次へ]を押下します。

[サーバの役割]より、[DHCPサーバ]を選択します。

[DHCPサーバに必要な機能を追加しますか?]のウィンドウが開くため、[機能の追加]を選択します。

[サーバの役割]より、[DHCPサーバ]にチェックが入っていることを確認して、[次へ]を選択します。

[機能]については、今回追加しないため、何もせず[次へ]を選択します。

[DHCPサーバ]では、DHCPサーバの概要と注意事項があるため確認したうえで[次へ]を選択します。

[確認]より、インストールする機能を確認し、[インストール]を選択します。

[結果]より、インストールが完了したら[閉じる]を選択します。
以上でDHCPサーバのインストールは完了です。
DHCPサーバの初期設定

DHCPサーバのインストール後、サーバマネージャより[DHCP構成を完了する]を選択します。

[DHCPインストール後の構成ウィザード]の[説明]より、ウィザードの概要を確認し、[次へ]を選択します。

[承認]より、DHCPサーバの承認設定を行います。
DHCPサーバでADの承認機能を使用する場合は、以下の設定を行います。
- 以下のユーザの資格情報を使用する : ●
- ユーザ名 : Enterprise Adminsの権限を持ったドメインユーザ
ADサーバが存在しない環境やADの承認機能を使用しない場合は、[AD承認をスキップする]を選択してください。
DHCPでAD承認を行うと、承認されていないDHPCサーバの検知や設定の誤りを検出できるとのことです。
Authorizing DHCP servers
設定が完了したら[コミット]を選択します。

[要約]より、DHCPサーバの構成が完了したことを確認します。
ADの承認を有効にした場合、AD上にDHCP用のセキュリティグループが作成され、そこに承認されたDHCPサーバが登録されるようです。

[スタートメニュー]より、[サービス]を起動します。
[サービス]-[DHCP Server]を右クリックし、[再起動]を実行します。

[スタートメニュー]より、[DHCP]を選択します。

[DHCP]-[サーバ名]-[IPv4]を右クリックし、[新しいスコープ]を選択します。

[新しいスコープウィザードの開始]より、[次へ]を選択します。

[スコープ名]より、以下の設定を行い、[次へ]を選択します。
- 名前 : 任意のスコープ名
- 説明 : 任意の説明

[IPアドレスの範囲]より、DHCPサーバで配布するIPアドレスのレンジを設定します。
- 開始IPアドレス : 192.168.99.100
- 終了IPアドレス : 192.168.99.199
- 長さ : 24
- サブネットマスク : 255.255.255.0

Windows ServerのDHCPサーバでは、DHCPのスコープ内で配布を除外するIPアドレスの設定と、DHCPがリースを行う際の遅延を設定することができます。
今回は、DHCP用にアドレスを確保しているため、除外と遅延の設定は行いません。

[リース期間]より、DHCPサーバでIPアドレスをリースする期間を設定します。
リース期間については、DHCPサーバの用途により、期間を選定してください。
今回は、以下の設定を行っております。
- 期間 : 1日0時間0分

[DHCPオプションの構成]では、DHCPのオプションフィールドを設定することができます。
DHCPサーバでIPを配布する際に、デフォルトゲートウェイやDNSサーバ、DNSサフィックス等の設定を同時にすることができます。
[今すぐオプションを構成する]にチェックをし、[次へ]を選択します。

[ルータ(デフォルトゲートウェイ)]では、クライアントで使用するデフォルトゲートウェイを指定します。
今回は、以下のアドレスをデフォルトゲートウェイとして設定しています。
- デフォルトゲートウェイ : 192.168.99.254

[ドメイン名およびDNSサーバ]では、DHCPで配布するIPアドレスにDNSの情報やドメイン名を付与することができます。
環境内に利用可能なDNSサーバやDNSサフィックスがある場合は設定します。
環境内にDNSサーバが無い場合は、配布したIPアドレスにDNSサーバの指定が入らないため、名前解決ができなくなります。
今回は、テスト環境のためGoogleのパブリックDNSを設定しています。
DNSサーバの追加方法は、[IPアドレス]欄にDNSサーバのIPアドレスを入力し、[追加]を押下します。
- 親ドメイン : ネットワーク内で使用するDNSサフィックスを設定
- IPアドレス : DNSサーバのIPアドレス

[スコープのアクティブ化]より、設定したDHCPのスコープを今すぐに有効化する場合は、[今すぐアクティブにする]にチェックを入れ、[次へ]を選択します。

[新しいスコープウィザードの完了]が表示されるため、[完了]を選択します。
以上でDHCPサーバの初期設定は完了となります。
フェイルオーバークラスタの作成
DHCPサーバのフェイルオーバークラスタを作成していきます。
フェイルオーバークラスタを作成する場合、Windows Server で作成されたDHCPサーバが2台必要となります。
また、クラスタが作成できる条件として、1台目のDHCPサーバでスコープの設定が完了していることが条件となります。
- DHCPサーバ1号機→DHCPサーバのインストール、スコープの設定済み
- DHCPサーバ2号機→DHCPサーバのインストール

[DHCP]-[DHCPサーバ名]-[IPv4]を右クリックし、[フェイルオーバーの構成]を選択します。

[DHCPフェイルオーバーについて]より、[利用可能なスコープ]が表示されていることを確認して、[次へ]を選択します。

[フェイルオーバーに使用するパートナーサーバを指定します]より、[パートナーサーバ]にDHCPサーバの2号機のFQDNまたは、IPアドレスを入力し、[次へ]を選択します。

[新しいフェイルオーバーリレーションシップの作成]より、以下の設定をおこない、[次へ]を選択します。
- 関係名 : 任意の関係名
- クライアントの最大リードタイム : 1時間0分
- モード : 負荷分散
- 負荷分散の割合(ローカルサーバ) : 50%
- 負荷分散の割合(パートナーサーバ) : 50%
- 状態切り替えの間隔 : □
- メッセージの認証を有効にする : ■
- 共有シークレット : 任意の文字列
今回作成するDHCPのフェイルオーバーは、2台のDHCPサーバで50%ずつDHCPのリースを行う設定にしました。
また、2台のDHCPサーバ間では、シークレットによる認証を有効にしています。

[フェイルオーバーが次のパラメータで作成されます]より設定値を確認し、[完了]を選択します。

[フェイルオーバー構成の進行状況]より、すべての進行状況が[成功]となっており、[フェイオーバーを構成しました。]と表示されたら、[閉じる]を選択します。
以上で、DHCPのフェイルオーバー構成の完了です。
フェイルオーバーの状態確認
最後に、DHCPサーバのフェイルオーバーの状態確認をしてみたいと思います。

[DHCP]-[DHCPサーバ名]-[IPv4]より、したスコープがアクティブになっていることを確認します。

[IPv4]を右クリック[プロパティ]を選択します。
[IPv4プロパティ]の[フェイルオーバー]タブを選択し、[フェイルオーバーの状態]を確認します。
[サーバの状態]が[標準]となっており、[パートナーサーバ]にDHCPサーバ2号機のアドレスが表示されていれば正常にDHCPサーバのフェイルオーバー構成がされています。

反対に、DHCPサーバ2号機側でも同様の設定値を確認し、[サーバの状態]や[パートナーサーバの状態]を確認します。
片系を落としてみた
DHCPサーバでフェイルオーバー構成がされているため、片系のDHCPサーバが落ちた状態でも問題が起こらないかを確認するため、あえて片系のDHCPサーバをシャットダウンしてみました。

シャットダウン後、[DHCP]-[DHCPサーバ名]-[IPv4]を表示すると、アイコンがチェックマークから、矢印マークになっていました。
[IPv4のプロパティ]より、[フェイルオーバー]タブを確認すると、[サーバの状態]が[パートナーとのっ接続なし]の状態になっていました。
この状態でもDHCPのリースはできているようなので、片系が落ちても問題なくDHCPの機能は提供されているようです。
まとめ
今回は、Windows Server 2022でDHCPサーバの構成を行ってみました。
DHCPサーバについては、ルータやネットワーク機器で行っている場合が多いかと思いますが、Windows Serverでも簡単にDHCPサーバを構成することができました。
また、DHCPサーバのフェイルオーバーの構成も比較的容易にできることから、Windows ServerでDHCPサーバを構成するということはありだと思います。(Windows Serverのライセンスの価格もあるので、一般のご家庭ではなかなか難しいと思いますが・・・)
コメント