社内LANアプリ開発で固定IP設定に詰まったが、Windows側の設定で解決した話
はじめに
社内LANアプリのサーバーをPC上に構築することにしました。
他のPCから安定して接続できるようにするため、IPアドレスは固定する必要があります。
最初はルーターのDHCP予約機能を使い、このPCに常に同じIPアドレスが割り当てられるよう設定しました。
ところが、期待どおりに動作しません。
再起動後に確認すると、予約したIPアドレスになりません。
ルーターの設定を見直しても改善しませんでした。
結論としては、同じPCなのにMACアドレスが変化しており、DHCP予約が期待どおり機能していませんでした。
最終的にはDHCP予約をやめ、Windows側で固定IPアドレスを設定することで解決しました。
この記事では、その解決までの流れをまとめます。
目次
- 検証環境
- IPアドレスとMACアドレスの違い
- DHCPとは
- なぜ固定IPが必要なのか
- DHCP予約とは
- Windowsの設定を疑った
- MACアドレスを確認してみた
- MACアドレスが変わるとどうなるのか
- DHCP予約をやめた
- DHCP配布範囲を見直した
- Windows側で固定IPを設定した
- まとめ
検証環境
- OS: Windows 11
- 回線: SoftBank Air
- 機種: Airターミナル4
- 接続方式: Wi-Fi
- 用途: 社内LANアプリのサーバー構築
IPアドレスとMACアドレスの違い
IPアドレスとMACアドレスはどちらもネットワークで使われる番号ですが、役割が違います。
分かりやすく言うと、
IPアドレス
= 今住んでいる住所
MACアドレス
= 本籍
のような関係です。
例えば、
本籍
東京都○○区
現住所
大阪府△△市
という人がいたとします。
郵便を送るときに必要なのは本籍ではなく現住所です。
ネットワークも同じです。
データを送るときは、
192.168.3.100
のようなIPアドレスを使います。
つまりIPアドレスは、
今どこにいるのか
を示す番号です。
一方、MACアドレスは、
その機器が何者なのか
を識別するための番号です。
ルーターは、
MACアドレス
F6-6D-3F-72-CE-2D
↓
IPアドレス
192.168.3.100
のように対応付けて管理しています。
つまり、
本籍がF6-6D-3F-72-CE-2Dの人には
192.168.3.100という住所を使わせる
というイメージです。
ところが今回の環境では、
昨日のMACアドレス
F6-6D-3F-72-CE-2D
が、
今日のMACアドレス
F4-6D-3F-72-CE-2D
に変わっていました。
本籍が変わったような状態なので、ルーターから見ると別の機器として認識される可能性があります。
DHCP予約はMACアドレスを基準にIPアドレスを割り当てるため、MACアドレスが変化すると期待どおりに動作しなくなることがあります。
今回のトラブルでは、このMACアドレスの変化がDHCP予約に影響していた可能性があると考えました。
DHCPとは
DHCPは、ルーターがネットワーク機器へIPアドレスを自動的に割り当てる仕組みです。
例えばPCがネットワークへ接続すると、
PC
↓
ネットワークへ接続したい
ルーター
↓
192.168.3.10 を使ってください
というやり取りが自動で行われます。
そのため、普段はIPアドレスを意識しなくてもネットワークを利用できます。
なぜ固定IPが必要なのか
普段使いのPCなら、IPアドレスが変わっても困ることはほとんどありません。
例えば、
昨日
192.168.3.10
今日
192.168.3.25
になったとしても、Webサイトの閲覧やメールは普通に利用できます。
しかしサーバーは違います。
他のPCは、
192.168.3.100
という、サーバー固有のIPアドレスに接続する前提で設定されています。
サーバーのIPアドレスが別の番号に変わってしまうと、接続先が分からなくなってしまいます。
そのため、サーバーには常に同じIPアドレスを割り当てる必要があります。
DHCP予約とは
DHCP予約は、
このPCには
毎回同じIPアドレスを割り当てる
というルーターの機能です。
例えば、
サーバーPC
↓
192.168.3.100
と登録しておけば、再起動後も同じIPアドレスが割り当てられます。
サーバーやNASなど、常に同じアドレスで利用したい機器でよく使われる方法です。
私も最初はこの方法で解決できると思っていました。
Windowsの設定を疑った
しかし、上記の対応ではIPアドレスが固定されることはありませんでした。
調べていると、Windowsには「ランダムなハードウェアアドレス」という機能があることを知りました。
この機能が有効だと、機器を識別するためのMACアドレスが変わることがあります。
そこで設定をオフにしました。
それでもIPアドレスが変動する状況は変わりませんでした。
MACアドレスを確認してみた
そこで実際にMACアドレスを確認しました。
ipconfig /all
すると、同じPCなのにMACアドレスが変わっていました。
F6-6D-3F-72-CE-2D
↓
F4-6D-3F-72-CE-2D
MACアドレスが変わるとどうなるのか
MACアドレスが変わると、
ルーターが同じPCを別の機器として認識する可能性があります。
そのため、DHCP予約が期待どおりに機能しなかった原因の一つではないかと考えました。
ただし、MACアドレスが変化していた原因そのものは特定できていません。
DHCP予約をやめた
ここで考え方を変えました。
DHCP予約は、
ルーターが
IPアドレスを管理する
仕組みです。
一方で、
Windows自身が
IPアドレスを設定する
こともできます。
DHCP予約が機能しないのであれば、最初からWindows側で固定してしまえばよいと考えました。
DHCP配布範囲を見直した
Windowsへ固定IPを設定する前に、ルーターが自動配布する範囲を見直しました。
変更前
192.168.3.2 ~ 192.168.3.254
この状態では、自分で設定したIPアドレスと重複する可能性があります。
そこで次のように変更しました。
192.168.3.2 ~ 192.168.3.50
これで、
192.168.3.100
のようなアドレスはルーターが自動配布しなくなります。
Windows側で固定IPを設定した
WindowsのIPv4設定から直接IPアドレスを設定しました。
IPアドレス
192.168.3.100
設定後はIPアドレスが変わることはなくなりました。
サーバーへの接続も安定し、ポート開放も正常に動作しています。
まとめ
今回のトラブルでは、ルーターのDHCP予約を使ってIPアドレスを固定しようとしました。
しかし実際にはMACアドレスが変化しており、DHCP予約は期待どおりに動作しませんでした。
原因そのものは特定できませんでしたが、これ以上DHCP予約の調査を続けるよりも、Windows側で固定IPを設定した方が確実だと判断しました。
結果として、
- DHCP予約は使わない
- DHCP配布範囲を縮小する
- Windows側で固定IPを設定する
という方法で問題を解決できました。
今回の経験から、DHCP予約がうまく機能しない場合は、
ルーターで固定しようとするのではなく、Windows側で固定IPを設定した方が早く解決できる場合もあると感じました。
原因を完全には特定することはできませんでしたが、結果として目的だったサーバーの安定運用は実現できました。
トラブル対応では原因究明に目が向きがちですが、ときには別のアプローチへ切り替えて、解決を優先することも重要だと感じました。




