Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

Windows Server 2019/2016へのDHCPサーバー導入ガイド:インストールから構成まで完全解説

本記事では、Windows Server 2019をベースにしたDHCPサーバーのインストールと構成方法を詳しく解説します。GUIコンソールを使った一般的なDHCPサーバーオプションの設定方法に加え、PowerShellコマンドラインからのDHCP構成方法についても取り上げます。Windows ServerへのDHCPロールのインストールと構成のポイント、DHCPスコープの作成、スコープオプションの設定、静的IPアドレスの予約方法まで、順を追ってご紹介します。

DHCPとは何か

DHCP(Dynamic Host Configuration Protocol)は、ネットワーク上のデバイス(PC、ノートパソコン、スキャナー、プリンターなど)に対して、IPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバーなどのネットワーク設定を自動的に割り当てるために使用されるプロトコルです。また、DHCPサーバーを利用することで、IPアドレス空間を効率的に活用でき、ネットワーク内のIPアドレスの重複(競合)を防ぎ、クライアントデバイスのネットワークパラメーターを一元的に管理できるようになります。

Windows Server 2019/2016へのDHCPサーバーロールのインストール

この例では、IPアドレス192.168.13.4を持つWindows Server 2019ホストにDHCPサーバーをインストールします。Windows Server Core版とフルGUI版のどちらでも利用可能です。小規模なインフラ環境では、Active Directoryドメインコントローラーの役割を持つサーバーにDHCPサーバーをインストールすることも許容されます。

必ずDHCPサーバーのホストには静的IPアドレスを割り当ててください。動的IPアドレスが設定されたサーバーにPowerShellコンソールからDHCPロールをインストールすると、次のような警告が表示されます。

Configure at least one static IP address on your computer before installing DHCP.
WARNING: The following recommended condition is not met for DHCP: No static IP addresses were found on this computer. If the IP address changes, clients might not be able to contact this server. Please configure a static IP address before installing DHCP Server.

サーバーマネージャーを使用したインストール手順:

サーバーマネージャーコンソールからDHCPサーバーロールをインストールできます。「役割と機能の追加」→「サーバーの役割」を選択します。

DHCPロールのインストール後は、展開後の構成を行う必要があります。サーバーマネージャーコンソールで通知をクリックし、「DHCPの構成を完了する(Complete DHCP configuration)」を選択してください。

次に、新しいDHCPサーバーをActive Directoryで承認するよう求められます(Authorization画面)。ADでDHCPサーバーを承認するには、アカウントがEnterprise Adminsドメイングループのメンバーである必要があります。

ADでのDHCP承認権限がない場合は、ドメイン承認チェックなしでDHCPサーバーを起動できるように設定できます。

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\DHCPServer\Parameters" -Name DisableRogueDetection -Value 1 -Force

PowerShellを使用したインストール手順:

PowerShellコンソールからも以下のコマンドでDHCPサーバーロールをインストール・構成できます。

Install-WindowsFeature DHCP –IncludeManagementTools

DHCPロールとRSAT-DHCP管理ツールがインストールされているか確認します。

Get-WindowsFeature -Name *DHCP*| Where Installed

Active DirectoryでDHCPサーバーを承認します(サーバーのDNS名と、DHCPクライアントが使用するIPアドレスを指定します)。

Add-DhcpServerInDC -DnsName hq-dc01.woshub.com -IPAddress 192.168.13.4

DHCPサーバー用のローカルセキュリティグループを作成します。

Add-DhcpServerSecurityGroup

サーバーマネージャーに「DHCPロールには追加構成が必要です」という通知が表示されないようにするには、次のコマンドを実行します。

Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ServerManager\Roles\12 -Name ConfigurationState -Value 2

DHCPServerサービスを再起動します。

Restart-Service -Name DHCPServer -Force

DHCPサーバーのデータベースとログは %systemroot%\system32\dhcp に保存されます。

  • dhcp.mdb — DHCPサーバーのデータベースファイル
  • j50.log — トランザクションログファイル(DHCP構成の復元時に使用)
  • j50.chk — チェックポイントファイル
  • tmp.edb — DHCPサーバーの一時作業ファイル

Windows Server 2019でのDHCPスコープの構成

DHCPロールのインストール後、サーバーがクライアントに割り当てるIPアドレス範囲やその他のパラメーターを記述するDHCPスコープを作成する必要があります。

DHCPサーバーの管理には dhcpmgmt.msc コンソールを使用します(ローカルまたはRSATがインストールされたリモートコンピューターから管理できます)。DHCPコンソールを開き、サーバーを展開して「IPv4」を右クリックし、「新しいスコープ」を選択します。

DHCPスコープの名前を設定します。

このDHCPスコープが配布するIPアドレスの範囲とサブネットマスクを指定します。この例では、192.168.100.0/24 ネットワーク用のDHCPスコープを使用します。このネットワーク内で、DHCPサーバーは 192.168.100.50 ~ 192.168.100.250 の範囲から動的IPアドレスを割り当てます。次のウィンドウでは、この範囲に対して除外範囲を追加できます(「除外と遅延の追加」)。

続いて、DHCPクライアントのIPアドレスのリース期間を指定します(デフォルトは8日間で、特別な理由がなければ変更する必要はありません)。

追加のDHCPスコープオプションを構成することを選択します。

クライアントに割り当てるネットワークのデフォルトゲートウェイのIPアドレスを指定します(この例では 192.168.100.1)。

次に、DHCPクライアントに配布するドメイン名とDNSサーバーのIPアドレスを指定します。

最後に、DHCPスコープをアクティブ化して(クライアントへのサービス提供を許可して)完了です。

スコープオプションとサーバーオプション

DHCPサーバーは、IPアドレス以外にもさまざまな設定をクライアントに割り当てることができます。そのためにスコープオプションを使用します。

Windows Server DHCPでは、グローバルなスコープ設定または各スコープごとのスコープオプションを構成できます。

先ほど3つのスコープオプションを構成しました。

  • 003 ルーター(Router)
  • 006 DNSサーバー(DNS Server)
  • 015 DNSドメイン名(DNS Domain Name)

その他のオプション(NTPサーバー、PXE設定など)も追加できます。

DHCPサーバーの「サーバーオプション」セクションでは、すべてのスコープに継承されるグローバルオプションを構成できます。ただし、各スコープの設定でグローバル設定を上書きすることも可能です(スコープオプションはサーバーオプションより優先されます)。

1台のDHCPサーバーで数百のサブネットやVLANを処理できます。そのため、複数のスコープを作成できます。重要なのは、ブロードキャストされるDHCP要求をDHCPサーバーへ転送するDHCPリレーエージェントを、各サブネットに構成しておくことです。Ciscoの用語では、DHCPリレーは ip helper と呼ばれます。Windows Serverホスト上にDHCPリレーを構成することもできます。

DHCPはトランスポートとしてUDPプロトコルを使用します。クライアントからサーバーへのパケットは UDP 67 ポートで送信され、逆方向は UDP 68 を使用します。

DHCPサーバーでのIPアドレス予約の構成

デフォルトでは、DHCPサーバーはクライアントに動的アドレスをリースします。つまり、クライアントのIPアドレスは変わる可能性があります。特定のデバイスに常に同じ静的IPアドレスをDHCPサーバーから受け取らせたい場合は、予約を設定できます(例:ユーザーのPCに接続されたネットワークプリンターなど)。

DHCP予約を作成するには、スコープを選択して「予約」セクションに移動し、メニューから「新しい予約」を選択します。

予約を作成する際は、デバイスに割り当てるIPアドレスと、その一意のMACアドレスを指定する必要があります。WindowsでMACアドレスを取得するには、ipconfig /all コマンドの結果を参照するか、PowerShell(Get-NetAdapter | select Name, Macaddress)を使用します。必要に応じて、デバイスの名前と説明も指定できます。

また、DHCPコンソールの「アドレスリース」セクションでデバイスを見つけて、現在の動的アドレスを予約に変換することもできます。デバイスをクリックし、「予約への追加」を選択します。

PowerShellによるDHCPサーバーの構成と管理方法

Windows Server 2019/2016のDHCPサーバーの構成・管理に関するすべての操作は、PowerShellコンソールから実行できます。ここでは基本的なDHCP管理コマンドを紹介します。DHCPServerモジュールを使用します。まず、モジュールをPowerShellセッションにインポートします。

Import-Module DHCPServer

DHCPモジュールのコマンドレットの一覧は次のように表示できます。

Get-Command -Module DHCPServer

Active Directoryで承認済みのDHCPサーバーの一覧を表示します。

Get-DhcpServerInDC

指定したサーバーのDHCPスコープの一覧を取得します。

Get-DhcpServerv4Scope –ComputerName be-dhcp1

より多くのフィールド(Delay、Description、Nameなど)を表示したい場合:

Get-DhcpServerv4Scope –ComputerName be-dhcp1| FL *

IPv6スコープの情報を表示する場合:

Get-DHCPServerv6Scope

特定のDHCPスコープの設定を取得します。

Get-DhcpServerv4Scope –ComputerName be-dhcp1 –ScopeID 192.168.12.0

IPアドレス範囲192.168.113.50~192.168.113.250の新しい非アクティブなDHCPスコープを作成します。

Add-DhcpServerv4Scope -Name "NY Branch1 192.168.113.0" -StartRange 192.168.113.50 -EndRange 192.168.113.250 -SubnetMask 255.255.255.0 -State InActive

DHCPスコープオプションとして、DNSサーバー、ドメイン、デフォルトゲートウェイアドレスを設定します。

Set-DhcpServerv4OptionValue -ScopeID 192.168.113.0 -DnsDomain woshub.com -DnsServer 192.168.13.4 -Router 192.168.113.1

DHCPスコープに除外範囲を追加します。

Add-DhcpServerv4ExclusionRange -ScopeID 192.168.113.0 -StartRange 192.168.113.90 -EndRange 192.168.113.100

DHCPスコープをアクティブ化します。

Set-DhcpServerv4Scope -ScopeID 192.168.113.0 -State Active

利便性のため、新しいスコープ作成時には次のようなPowerShellコマンド(ハッシュテーブル形式)も使用できます。

$HashArgs = @{
'Name' = 'NY Office Scope';
'Description' = 'Workstations';
'StartRange' = '192.168.120.10';
'EndRange' = '192.168.120.200';
'SubnetMask' = '255.255.255.0';
'State' = 'Active';
'LeaseDuration' = '7.00:00:00';
}
Add-DhcpServerv4Scope @HashArgs

その他のDHCPサーバーオプション(WPADなど)は次のように追加できます。

Add-DhcpServerv4OptionDefinition -ComputerName be-dhcp1 -Name WPAD -OptionId 252 -Type String

構成済みのDHCPサーバーオプションの一覧を表示します。

Get-DHCPServerv4OptionValue -ComputerName be-dhcp1 | Format-List

構成済みのスコープオプションの一覧を表示します。

Get-DHCPServerv4OptionValue -ComputerName be-dhcp1 -ScopeId 192.168.12.0 | Format-List

DHCPスコープ192.168.12.0の現在リース中のIPアドレス一覧を表示します。

Get-DHCPServerv4Lease -ScopeId 192.168.12.0 -ComputerName be-dhcp1

動的IPアドレス192.168.12.88が割り当てられているクライアントのDHCP予約を作成します(リース中のIPアドレスを予約アドレスに変換)。

Get-DhcpServerv4Lease -ComputerName be-dhcp1 -IPAddress 192.168.12.88| Add-DhcpServerv4Reservation -ComputerName be-dhcp1

CSVファイルに記載されたコンピューターのIPアドレスを一括予約することもできます。そのためには、次の形式のテキストファイルを作成します。

ScopeId,IPAddress,Name,ClientId,Description
192.168.12.0,192.168.12.88,PC-be-s1,2a-a2-1c-39-42-1f,Reservation PC-be-s1
192.168.12.0,192.168.12.89,PC-be-s2,2a-a2-1c-59-22-2f,Reservation PC-be-s2

ファイルを c:\dhcp\DHCPReservations.csv として保存し、CSVファイルからデータをインポートしてクライアントのDHCP予約を作成する次のコマンドを実行します。

Import-Csv –Path c:\dhcp\DHCPReservations.csv | Add-DhcpServerv4Reservation -ComputerName be-dhcp1

DHCPサーバー上のスコープを非アクティブ化します。

Set-DhcpServerv4Scope -ComputerName be-dhcp1 -ScopeId 192.168.12.0 -State InActive

DHCPサーバーからスコープを削除します。

Remove-DHCPServerv4Scope -ComputerName be-dhcp1 -ScopeId 192.168.12.0 -Force

DHCPサーバーの統計情報(スコープ数と予約数、使用済みアドレスの割合など)を取得できます。

Get-DhcpServerv4Statistics -ComputerName be-dhcp1

特定のスコープについても同じ情報を Get-DhcpServerv4ScopeStatistics コマンドレットで取得できます。

DHCPサーバーの構成は、次のコマンドでXMLファイルにエクスポートできます。

Export-DHCPServer -ComputerName be-dhcp1 -File C:\dhcp\dhcp-export.xml

ヒント:このコマンドをタスクスケジューラで使用すると、DHCPサーバー構成のバックアップを自動化できます。

さらに、これらのDHCPサーバー設定は、別のDHCPサーバーにインポート(移行)できます。

Import-DHCPServer -ComputerName be-dhcp2 -File C:\dhcp\dhcp-export.xml -BackupPath C:\dhcpbackup\
  1. Windows Server 2016のインストール方法|ステップバイステップ完全ガイド

    本記事では、Windows Server 2016 Standardのインストール手順を詳しく解説します。Windows Server 2016には、Essentials・Standard・Datacenterの3つのエディションが用意されています。 Windows Server 2016の3つのエディションの違い Windows Server 2016 Essentials:ユーザー25名・デバイス50台までの小規模ビジネスに最適なエディションです。仮想化機能には対応していません。 Windows Server 2016 Standard:高度な機能と仮想化(最大2台の仮想マシン)を必要と

  2. RDSHライセンス不要!Windows Server 2016/2019にAdobe Flash Playerをインストールする手順

    Windows Server 2016 や Windows Server 2019 に Adobe Flash Player をインストールする方法をお探しの方は、ぜひこのチュートリアルをご活用ください。ご存知のとおり、通常は「リモートデスクトップセッションホスト(RDSH)」ロールを追加しないと、Server 2016 に Flash Player をインストールすることはできません。しかし、そのために RDSH ライセンスを新たに購入したくない場合でも、以下の手順に従えば追加費用なしで Flash Player を有効化できます。本記事では、Windows Server 2016 / 20