はじめに
小規模なオフィスや拠点のネットワークを構築する際、わざわざ Windows Server や Linux で専用の DHCP サーバーを立てるのはコストも管理手間もかかりますよ。 実は、Cisco ルータ では、DHCP サーバー機能を提供することができます。
本記事では、Cisco 891FJ などの ISR シリーズを想定し、ルータを DHCP サーバーとして稼働させるための設定および「ルータ自身が DHCP で IP を受け取る設定(クライアント機能)」について解説します。
- DHCP サーバー設定: ネットワークプールを作成し、PC やスマホに自動で IP を配る方法
- 除外設定: ゲートウェイやサーバーなど、配ってはいけない IP を除外する手順
- 固定 IP 割り当て: 特定の MAC アドレスを持つ端末に、常に同じ IP を渡す設定
- DHCP クライアント設定: ルータの WAN ポートなどで、プロバイダから IP を自動取得する方法
DHCP サーバー設定の基本構成(動的払い出し)
ルータを DHCP サーバーとして動作させ、LAN 内の PC やスマートフォンに動的に IP アドレスを払い出す基本的な設定です。

設定は必ず特権モードからグローバルコンフィグレーションモードに入って行います。
Router# configure terminal
Router(config)#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 アドレスの「プール」を作成し、クライアントに配布するネットワーク情報を定義します。 特に network コマンドでは、配布する IP アドレスの範囲をネットワークアドレスとサブネットマスクで指定する必要があります。
! プールの作成とモード移行(プール名は任意)
Router(config)# ip dhcp pool LAN-POOL
Router(dhcp-config)#
! 配布するネットワークアドレスとサブネットマスクを定義(必須)
! ここで指定した範囲(192.168.1.1~254)から、除外設定以外のIPが配られます
network 192.168.1.0 255.255.255.0サブネットマスクの計算に迷ったら?
「255.255.255.0 ってどういう意味?」「/24 とは何が違うの?」といったIPアドレスの基礎については、以下の記事で詳しく解説しています。設定値に不安がある方は、あわせてご確認ください。

続いて、ゲートウェイや DNS などのオプション情報を設定します。
! デフォルトゲートウェイ(ルータのIP)を定義
default-router 192.168.1.1
! DNSサーバーを定義(複数指定可能)
dns-server 1.1.1.1 8.8.8.8
! 【任意】リースタイム(貸出期間)の設定(日 時間 分)
! デフォルトは1日。以下は7日に設定する例。
lease 7 0 0これで、基本的な DHCP サーバーの設定は完了です。
特定の端末に固定 IP を配る設定(Static Mapping)
DHCP は通常、空いている IP をランダムに割り当てますが、特定のデバイスには「常に同じ IP アドレス」を渡したいケースがあります。
どのような時に使うか
- ネットワークプリンタ: IP が変わると印刷できなくなるため。
- ファイルサーバー(NAS): 共有フォルダへのアクセスを安定させるため。
- 管理用 PC: ファイアウォールやアクセス制御リスト(ACL)で特定の IP のみを許可したいため。

端末側で手動設定(固定 IP 設定)を行っても良いのですが、端末の台数が増えると管理が大変です。ルータ側で一元管理することで、「端末の設定変更なしで IP を固定化できる」メリットがあります。
手順: MAC アドレスに基づく固定 IP の紐付け
固定割り当てを行うには、通常のプールとは別に、端末1台につき1つの専用プールを作成します。
まず、対象機器の MAC アドレスを調べます。 Cisco 機器では、MAC アドレスは aa:bb:cc... ではなく、4桁ごとのドット区切り(例: aaaa.bbbb.cccc) で記述する必要があります。
- Windows 表記:
00-11-22-33-44-55 - Cisco 設定値:
0011.2233.4455
プリンタや Linux 機器、IoT デバイスなど、一般的な機器はこの設定で動作します。
! 固定割り当て専用のプールを作成(名前は任意、機器名などがおすすめ)
Router(config)# ip dhcp pool PRINTER-01
Router(dhcp-config)#
! 割り当てたい固定IPとサブネットマスクを指定
host 192.168.1.50 255.255.255.0
! 紐付けるMACアドレスを指定(Cisco形式)
hardware-address 0011.2233.4455固定割り当て用のプールでも、ゲートウェイや DNS の情報は必要です。 ただし、これらは先ほど作った「全体のプール(LAN-POOL)」から継承されるため、改めて記述する必要はありません。IP アドレスと MAC アドレスの紐付けだけで OK です。
【応用】Cisco ルータを DHCP クライアントにする設定
通常、ルータのインターフェースには固定 IP アドレスを設定しますが、プロバイダから提供される ONU(回線終端装置)や上位ルータから IP アドレスを自動取得したい場合があります。 この場合、ルータの WAN ポートを DHCP クライアント として動作させます。
WAN ポートで IP アドレスを自動取得する場合
Cisco ルータの初期設定(特に C891FJ などの固定構成ルータ)では、WAN ポート(例: GigabitEthernet 0 または FastEthernet 8)は shutdown されており、IP 設定も入っていません。 ここに ip address dhcp コマンドを設定することで、PC と同じように DHCP リクエストを送信し、IP アドレス、サブネットマスク、ゲートウェイ情報を自動で取得します。
インターフェース設定(ip address dhcp)
設定は非常にシンプルで、対象のインターフェースに入って 1 行コマンドを入れるだけです。
! インターフェース設定モードへ移行(例: GigabitEthernet 0)
Router(config)# interface GigabitEthernet 0
! DHCPによるIP取得を有効化
Router(config-if)# ip address dhcp
! インターフェースを有効化(忘れずに!)
Router(config-if)# no shutdownIP が取得できたか確認する
設定後、数秒待ってから以下のコマンドで確認します。
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 up- IP-Address: IP アドレスが表示されていれば成功です(
unassignedの場合は取得できていません) - Method:
DHCPとなっていれば、自動取得で動作しています。



うまくいかない場合: プロバイダによっては、DHCP リクエスト時に「クライアント ID」の送信を求められることがあります。その場合は、インターフェース設定で ip address dhcp client-id GigabitEthernet0 のように、自身の MAC アドレスなどを ID として送信するオプションを追加してみてください。
設定確認とトラブルシューティング
設定が終わったら、実際にクライアントに IP アドレスが払い出されているか確認しましょう。また、IP アドレスの競合(重複)が発生した場合の対処法も解説します。
払い出し状況の確認(show ip dhcp binding)
現在、どの IP アドレスがどの MAC アドレスの端末に貸し出されているかを確認するコマンドです。
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 2023 06:05 PM Automatic
192.168.1.50 0011.2233.4455 Infinite Manual- IP address: 払い出された IP アドレス
- Client-ID / Hardware address: 受け取った端末の MAC アドレス(または Client-ID)
- Lease expiration: リース期限



リース期限が日付なら動的割り当て(Automatic)、Infinite(無期限)なら固定割り当て(Manual)で動作しています。
競合の確認(show ip dhcp conflict)とクリア方法
もし「IP アドレスの競合が検出されました」というエラーログが出たり、特定の PC が繋がらない場合は、このコマンドを確認します。
Cisco ルータは IP を配る前に、「この IP、誰か使ってないかな?」と Ping を打って確認します。もし応答があった場合、その IP は「競合(Conflict)」として記録され、それ以降 DHCP で配布されなくなります。
Router# show ip dhcp conflict
IP address Detection method Detection time
192.168.1.20 Ping Mar 07 2023 06:10 PM上記の場合、192.168.1.20 を誰かが勝手に固定 IP で使っている可能性が高いです。
対処法: 競合情報のクリア
該当の端末(勝手に固定している PC など)の設定を直した後、ルータに残った「競合記録」を消さないと、永遠にその IP は再利用されません。 以下のコマンドで履歴をクリアしてください。
! 特定のIPだけクリアする場合
Router# clear ip dhcp conflict 192.168.1.20
! 全ての競合情報をクリアする場合(推奨)
Router# clear ip dhcp conflict *まとめ
本記事では、Cisco ルータ(ISR シリーズなど)を DHCP サーバーとして活用するための設定手順を解説しました。
- 基本の流れ: まず
excluded-addressで除外設定をし、次にpoolで配布範囲を決める。 - 固定割り当て: プリンタなどは
hardware-address(またはclient-identifier)で個別に固定化する。 - トラブル対応:
show ip dhcp conflictで競合をチェックし、問題解決後は必ずクリアする。
以上、最後までお読みいただきありがとうございました。


