Windows 10でDHCPサーバーを動かす

Windows 10でDHCPサーバーを動かす

Open DHCP Serverは、現在もアップデートが続くWindowsで動作するDHCPサーバーだ。動作状態をウェブブラウザーに表示できる

 一般家庭でインターネット接続に用いるWi-Fiルーターには、DHCPサーバーが組み込まれていることが多い。しかし、製品によっては、同時最大リース数が少なくて、多数のPCやデジタル家電を接続する場合に困ってしまうことがある。

 一般にDHCPを使う場合、IPアドレスを固定したい機器となんでもいい機器の2種類がある。たとえば、スマートフォンなどは、ネットワーク内のPCなどから直接アクセスするような用途がなければ、特に固定したIPアドレスは不要だ。Windows PC同士なら、名前解決が使えることが多いので、やはり固定したIPアドレスが必要になる可能性は少ない。

 しかし、場合によっては、固定したIPアドレスにしておきたい機器がある。特にちょっと前の家電系の機器では、起動時にDHCPによるアドレス割り当てに失敗することがあり、固定にしておいたほうがトラブルが少ないこともある。こうした場合、DHCPサーバー側で「予約」「固定リース」などと呼ばれる機能を使い、IPアドレスとMacアドレスの対応を登録しておくと、他の機器に間違って割り当てることもないし、IPアドレスを一ヵ所で管理できる。

 こんな場合に、DHCPで割り当て可能なアドレス範囲が固定されていると、比較的簡単に上限を超えてしまうことがある。筆者宅もそうした関係から、無線LANルーターのDHCP機能を使わず、別にDHCPサーバーを動かしている。今回は、Windows 10が動作しているクライアントPCでDHCPサーバーを動かす方法を解説する。

Windows 10で動くDHCPサーバーを探す

 DHCPはプロトコルが公開されており、Linuxなどでオープンソースの実装もあることから、Windows版のソフトウェアもいくつかあるようだ。しかし、今ではあまり需要がないようで、古いままのものや検索してもリンク先がなくなっているものなどがある。その中で、Open DHCP Serverは、まだアップデートもなされているようで、最新版の更新も昨年11月だった。

●Open DHCP Server 日本語情報トップページ https://ja.osdn.net/projects/sfnet_dhcpserver/

 Open DHCP Serverは、Windowsのサービスとしてインストールされるのでマシンが動作している間は、DHCPサービスが動き続けることになる。ただし、設定はテキストファイル(INIファイル)でするため、設定変更の後、サービスを再起動させて設定を読み込ませる必要がある。一方で、有効なリースなどはHTTPで表示させることができるため状態の管理は楽そうだ。

 インストールは、ダウンロードしたファイルを実行するだけなので特に問題はないだろう。インストール後の作業としては以下のものがある。

Windows 10でDHCPサーバーを動かす

・設定ファイルの編集・ファイアウォールの設定・サービスの起動

 設定ファイルの編集だが、標準のインストール先(C:\OpenDHCPServer)にOpenDHCPServer.iniファイルがある。拡張子を表示させていない場合には、種類が「構成設定ファイル」になっているものを探す。ドキュメントは、同じフォルダー内にPDFファイルがあるが、初期状態のファイルの中に注釈付きで構成が書かれているので、それを書き換えるだけで済む。

 書き換えが必要だったのは、以下の項目だ。ここでは、ネットワークアドレスを192.168.0.0としDHCPサーバーが192.168.0.1で動作していると仮定して説明を行う。

[LISTEN_ON]192.168.0.1[HTTP_INTERFACE]HTTPServer=192.168.0.1:6789[RANGE_SET]DHCPRange=192.168.0.1-192.168.0.254 SubnetMask=255.255.255.0 DomainServer=8.8.8.8Router=192.168.0.1

 1回でもDHCPサーバーの設定をしたことがあれば、理解は難しくないだろう。[LISTEN_ON]セクションは、DHCPサーバーが動作しているホストのアドレスを指定する。[RANGE_SET]セクションは、DHCPサーバーが他のマシンにIPアドレスを割り当てる「リース」のアドレス範囲(DHCPRange)、クライアントに通知するネットマスク「SubnetMask」、DNSサーバー「DomainServer」、ルーター(ゲートウェイ)アドレス「Router」を指定する。

 [HTTP_INTERFACE]セクションの「HTTPServer=192.168.0.1:6789」は、DHCPサーバーの状態を表示するためのHTTPサーバーのIPアドレスとポート番号だ。この設定だと「http://192.168.0.1:6789」でOpen DHCP Serverの状態を表示するページを見ることができる。

 もし、特定のMACアドレスに対して固定したIPアドレスが必要な場合、MACアドレスを角カッコでくくってセクション名として、IPアドレスを

[00:00:00:00:00:00]IP=192.168.0.20

のように指定していく。

ファイアウォールの設定

 DHCPでは、UDPを使い、サーバー側はポート67でパケットを受け付ける。Windowsのファイアウォールは、標準ではDHCPサーバーに向かうパケットを通過させないので、このポート番号宛のUDPパケットを通過できるようにする。コントロールパネルで「Windows Defender ファイアウォール」を開き、開いたページ左側の「詳細設定」をクリックする。

 ウィンドウ左側の「受信の規則」を右クリックして「新しい規則」を選択する。「新規の受信の規則ウィザード」が開くので、 最初のページで「ポート」を選択、次のページでは、「UDP」「特定のポート」を選択してテキスト欄に「67」を入れる。

DHCPサーバーを動かすためには、67番ポート宛のUDPパケットが通過できるようにファイアウォールを設定する必要がある

 そのあとは、「次へ」を押していき、「名前」には適当なもの、たとえば「Open DHCP Server」などを入れて「完了」ボタンを押す。