はじめに
小規模なオフィスや拠点のネットワークでは、Windows Server や Linux で専用の DHCP サーバーを立てると、コストと管理工数の両面で負担が大きくなりがちです。Cisco ルーターには DHCP サーバー機能が標準で備わっているため、ルーター 1 台で IP アドレスの自動配布を完結できます。
本記事では、Cisco の ISR シリーズ(C891F / C891FJ などの固定構成機から、ISR 4000・Catalyst 8000 系などのモジュラー機まで)を想定し、ルーターを DHCP サーバーとして稼働させる設定と、ルーター自身が DHCP で IP を受け取るクライアント設定を解説します。
- DHCP サーバー設定: ネットワークプールを作成し、PC やスマートフォンへ自動で IP を配布する方法
- 除外設定: ゲートウェイやサーバーなど、配布してはいけない IP を除外する手順
- 固定 IP 割り当て: 特定の MAC アドレスを持つ端末に、常に同じ IP を渡す設定
- Windows 端末で固定 IP がマッチしないときの原因(client-identifier)と対処
- DHCP クライアント設定: ルーターの WAN ポートで上位機器から IP を自動取得する方法
結論を先に示すと、設定の流れは「除外アドレスの定義 → プール作成と配布情報の定義 → 必要に応じて固定割り当て」の 3 段階です。固定割り当てでは、Windows 端末は hardware-address ではなく client-identifier で指定する点が最もつまずきやすく、本記事ではここを重点的に解説します。

DHCP サーバー設定の基本構成(動的払い出し)
このセクションでは、ルーターを DHCP サーバーとして動作させ、LAN 内の PC やスマートフォンへ動的に IP アドレスを払い出す基本設定を扱います。手順は「除外アドレスの定義 → プール作成 → 配布情報の定義」の順に進めます。
設定は特権モードからグローバルコンフィグレーションモードに入って行います。
Router# configure terminal
Router(config)#除外アドレスの設定(excluded-address)
DHCP 設定でまず行いたいのが除外設定です。ルーター自身の IP アドレスや、プリンター・サーバーなど固定 IP を設定している機器のアドレスを DHCP で他の端末に配布してしまうと、IP アドレスの競合(重複)が発生し、通信ができなくなります。
これを防ぐため、配布しない IP アドレスの範囲を先に定義します。
! ルーター自身のIP(192.168.1.1)を除外
Router(config)# ip dhcp excluded-address 192.168.1.1
! 【任意】サーバーやプリンター用に範囲で除外する場合(例: 192.168.1.200~254)
Router(config)# ip dhcp excluded-address 192.168.1.200 192.168.1.254除外設定は、IP 競合を防ぐうえで最初に押さえておきたい設定です。 後述の固定割り当てで使う IP も、動的プールと範囲が重なる場合は除外しておくと安全です。
DHCP プールの作成と配布情報の定義
次に IP アドレスのプールを作成し、クライアントへ配布するネットワーク情報を定義します。networkコマンドでは、配布する IP アドレスの範囲をネットワークアドレスとサブネットマスクで指定します。
! プールの作成とモード移行(プール名は任意)
Router(config)# ip dhcp pool LAN-POOL
Router(dhcp-config)#
! 配布するネットワークアドレスとサブネットマスクを定義(必須)
! ここで指定した範囲(192.168.1.1~254)から、除外設定以外のIPが配られます
Router(dhcp-config)# network 192.168.1.0 255.255.255.0サブネットマスクの考え方(255.255.255.0 と /24 の関係など)に不安がある場合は、詳細を関連記事『IP アドレスとサブネットマスクの仕組みと計算方法|CIDR 表記の基礎』で確認できます。
続いて、ゲートウェイや DNS などのオプション情報を設定します。
! デフォルトゲートウェイ(ルーターのIP)を定義
Router(dhcp-config)# default-router 192.168.1.1
! DNSサーバーを定義(複数指定可能)
Router(dhcp-config)# dns-server 1.1.1.1 8.8.8.8
! 【任意】リースタイム(貸出期間)の設定(日 時間 分)
! デフォルトは1日。以下は7日に設定する例。
Router(dhcp-config)# lease 7 0 0ここまでで、基本的な DHCP サーバーの設定は完了です。リースタイムを指定しない場合、デフォルトの貸出期間は 1 日になります。
特定の端末に固定 IP を割り当てる設定(Static Mapping)
DHCP は通常、空いている IP をプールから動的に割り当てますが、特定のデバイスには常に同じ IP アドレスを渡したいケースがあります。このセクションでは、固定割り当ての設定方法と、Windows 端末でつまずきやすいポイントを解説します。
どのような場面で使うか
- ネットワークプリンター: IP が変わると印刷できなくなるため
- ファイルサーバー(NAS): 共有フォルダーへのアクセスを安定させるため
- 管理用 PC: ファイアウォールや ACL(アクセス制御リスト)で特定の IP のみを許可したいため
端末側で手動の固定 IP 設定を行う方法もありますが、台数が増えると管理が煩雑になります。ルーター側で一元管理すると、端末の設定を変えずに IP を固定化できる利点があります。
MAC アドレスのフォーマット変換
まず、対象機器の MAC アドレスを調べます。Cisco 機器では、MAC アドレスを aa:bb:cc... ではなく、4 桁ごとのドット区切りで記述します。
- Windows 表記:
00-11-22-33-44-55 - Cisco 設定値:
0011.2233.4455
hardware-address と client-identifier の使い分け(重要)
固定割り当てには hardware-address と client-identifier の 2 通りの指定方法があり、どちらを使うかは端末側の挙動で決まります。 ここを誤ると「設定したのに固定 IP が割り当たらない」という事象につながります。
ポイントは、Cisco IOS の DHCP サーバーは、クライアントが client identifier(DHCP option 61)を送ってきた場合、その client-id を優先して識別する点です。Windows をはじめとする多くの OS は client-id を送出するため、hardware-address だけで固定割り当てを作ってもマッチしません。 この場合は client-identifier を使います。
参考: Configuring the Cisco IOS DHCP Server(Cisco 公式)
“clients that do not send a client identifier option”
(client identifier オプションを送信しないクライアント向けに hardware-address を使う、という趣旨)
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dhcp/configuration/15-mt/dhcp-15-mt-book/config-dhcp-server.html
Windows の client-id は、MAC アドレスの先頭に「01」(Ethernet を表すハードウェア種別)を付与した値になります。たとえば MAC が 0011.2233.4455 なら、client-id は 0100.1122.3344.55 です。
| 端末タイプ | 推奨する指定方法 | 設定値の例 |
|---|---|---|
| Windows PC・多くのモダン OS | client-identifier | 0100.1122.3344.55(01 + MAC) |
| 一部のプリンター・IoT・client-id を送らない機器 | hardware-address | 0011.2233.4455(MAC そのまま) |
実際にどちらを送ってくるか不明な場合は、debug ip dhcp server packet で受信した識別子を確認すると判別できます。
設定手順(端末 1 台につき 1 プール)
固定割り当ては、動的プールとは別に、端末 1 台につき 1 つの専用プールを作成します。
Windows 端末などに固定 IP を割り当てる場合(client-identifier):
! 固定割り当て専用のプールを作成(名前は機器名などがわかりやすい)
Router(config)# ip dhcp pool PC-ADMIN
Router(dhcp-config)#
! 割り当てたい固定IPとサブネットマスクを指定
Router(dhcp-config)# host 192.168.1.51 255.255.255.0
! client-id(01 + MAC)を指定
Router(dhcp-config)# client-identifier 0100.1122.3344.55client-id を送らない機器(一部のプリンター・Linux など)に固定 IP を割り当てる場合(hardware-address):
! 固定割り当て専用のプールを作成
Router(config)# ip dhcp pool PRINTER-01
Router(dhcp-config)#
! 割り当てたい固定IPとサブネットマスクを指定
Router(dhcp-config)# host 192.168.1.50 255.255.255.0
! MACアドレスをそのまま指定(Cisco形式)
Router(dhcp-config)# hardware-address 0011.2233.4455ゲートウェイや DNS の情報は、全体プール(LAN-POOL)から継承されるため、固定割り当て用のプールに改めて記述する必要はありません。IP と識別子の紐付けだけで設定は完了します。
【応用】Cisco ルーターを DHCP クライアントにする設定
通常、ルーターのインターフェースには固定 IP を設定しますが、プロバイダーの ONU(回線終端装置)や上位ルーターから IP を自動取得したい場合があります。このときは WAN ポートを DHCP クライアントとして動作させます。
WAN ポートで IP アドレスを自動取得する(ip address dhcp)
対象のインターフェースで ip address dhcp を設定すると、PC と同じように DHCP リクエストを送信し、IP アドレス・サブネットマスク・ゲートウェイ情報を自動取得します。
WAN 側インターフェースの名称は機種により異なります。C891F / C891FJ などの固定構成機では GigabitEthernet0 や GigabitEthernet8、ISR 4000 シリーズや Catalyst 8200/8300 などのモジュラー機では GigabitEthernet0/0/0 のように slot/subslot/port 形式になります。設定前に、対象機種のデータシートまたは show ip interface brief の出力で実際のインターフェース名を確認することをおすすめします。
! インターフェース設定モードへ移行(例: GigabitEthernet 0。機種により名称は異なる)
Router(config)# interface GigabitEthernet 0
! DHCPによるIP取得を有効化
Router(config-if)# ip address dhcp
! インターフェースの有効化(初期状態でshutdownの機種では必要)
Router(config-if)# no shutdown

IP が取得できたか確認する
設定後、数秒待ってから次のコマンドで確認します。
Router# show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0 192.168.10.5 YES DHCP up up
Vlan1 192.168.1.1 YES manual up upIP-Address: IP アドレスが表示されていれば取得成功です(unassignedの場合は取得できていません)。Method:DHCPであれば、自動取得で動作しています。
取得できない場合の対処として、プロバイダーによっては DHCP リクエスト時にクライアント ID の送信を求められることがあります。その場合は ip address dhcp client-id GigabitEthernet0 のように、自身の MAC アドレスなどを ID として送信するオプションを追加します(インターフェース名は対象機種に合わせてください)。
設定確認とトラブルシューティング
設定後は、実際にクライアントへ IP が払い出されているかを確認します。あわせて、IP 競合が発生した場合の対処も解説します。
払い出し状況の確認(show ip dhcp binding)
どの IP アドレスが、どの端末(MAC または client-id)に貸し出されているかを確認します。
Router# show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
192.168.1.10 0100.1122.3344.55 Mar 07 2026 06:05 PM Automatic
192.168.1.50 0011.2233.4455 Infinite ManualIP address: 払い出された IP アドレスClient-ID / Hardware address: 端末の client-id または MAC アドレスLease expiration: リース期限
リース期限が日付であれば動的割り当て(Automatic)、Infinite(無期限)であれば固定割り当て(Manual)で動作しています。Automatic 側に 01 始まりの client-id が表示されている点も、固定割り当てで client-identifier を使う理由の裏付けになります。
IP アドレス競合の確認とクリア(show ip dhcp conflict)
「IP アドレスの競合が検出された」というログが出たり、特定の PC が接続できない場合は、競合情報を確認します。
Cisco ルーターは IP を配布する前に、対象アドレスへ ping を送って使用中でないかを確認します。デフォルトでは割り当て前に 2 回 ping を打ち、応答があったアドレスは競合(Conflict)として記録し、以降の配布対象から除外します。
Router# show ip dhcp conflict
IP address Detection method Detection time
192.168.1.20 Ping Mar 07 2026 06:10 PM上記の場合、192.168.1.20 を別の端末が手動の固定 IP で使用している可能性が高い状態です。
該当端末の設定を修正したあと、ルーターに残った競合記録をクリアしないと、その IP は再利用されません。次のコマンドで履歴をクリアします。
! 特定のIPだけクリアする場合
Router# clear ip dhcp conflict 192.168.1.20
! すべての競合情報をクリアする場合
Router# clear ip dhcp conflict *参照: Configuring the Cisco IOS DHCP Server(Cisco 公式 / DHCP Configuration Guide)
対応機種と注意点(制約事項)
本記事の手順は、Cisco IOS / IOS XE の DHCP サーバー機能に共通するものです。設定の前提に近い Cisco 800 シリーズ(C891F / C891FJ など)はすでに販売終了・EOL がアナウンスされており、新規構築では Catalyst 8200/8300 や Catalyst 1000 / C1100 系などの現行機種が選択肢になります。いずれの機種でも DHCP サーバーの設定手順はほぼ同じです。EOL の正確な最終サポート日は、Cisco 公式の EOL 速報で確認することをおすすめします。
参考: Cisco 800 Series Routers — End-of-Life and End-of-Sale Notices(Cisco 公式)
https://www.cisco.com/c/en/us/products/routers/800-series-routers/eos-eol-notice-listing.html
機能面の制約として、ルーター内蔵の DHCP サーバーは小〜中規模の拠点向けの位置づけです。DHCP フェイルオーバー(サーバー冗長化)には対応しておらず、配布できるオプションも限定的なため、大規模環境や高可用性が求められる場面では、Windows Server や専用 DHCP アプライアンス、あるいは ip helper-address による DHCP リレー構成を検討することをおすすめします。
まとめ
Cisco ルーターの DHCP サーバー機能を使うと、専用サーバーを用意せずに IP アドレスの自動配布を実現できます。設定の要点は「除外設定 → プール作成 → 配布情報の定義」の流れと、固定割り当てにおける識別子の選び方です。特に Windows 端末では client-identifier を使う点が、固定 IP を正しく割り当てるための要点です。
- 除外設定(excluded-address)を先に行い、IP 競合を防止
- プール作成後に network で配布範囲、default-router と dns-server を定義
- 固定 IP は Windows 端末なら client-identifier(01 + MAC)で指定
- client-id を送らない機器は hardware-address で指定
- WAN 側は ip address dhcp で上位から自動取得(インターフェース名は機種依存)
- show ip dhcp binding で払い出し、show ip dhcp conflict で競合を確認
- 競合解消後は clear ip dhcp conflict で履歴を消去
以上、最後までお読みいただきありがとうございました。

