DHCP はIPアドレスを自動構成するためのプロトコルで、DHCP クライアントからの要求に基づき、DHCP サーバーがIPアドレスを DHCP クライアントに割り当てます。DHCP サーバーは、同じIPアドレスを異なる DHCP クライアントに割り当てないようにIPアドレスの管理を行っています。
Cisco ルータには DHCP サーバーおよび DHCP クライアント機能がありますが、本シナリオでは、Cisco ルータを DHCP サーバーに、PC を DHCP クライアントにした内容になっています。
- PC-A、PC-B に固定IPアドレスを設定する。
< PC-A >
C:\> netsh interface ipv4 set address "イーサネット" static 192.168.1.1 255.255.255.0
C:\>
< PC-B >
C:\> netsh interface ipv4 set address "イーサネット" static 192.168.1.2 255.255.255.0
C:\>
設定するアドレスは何でもかまいません。
本シナリオに沿ってやっていくには、勝手に自動で DHCP サーバーからアドレスを取得してもらっては困るので、その対処のために事前に固定アドレスを設定します。
- RT-A をネットワーク構成図に示す通り設定し、以下の情報を基に DHCP サーバーを構成しなさい。
< RT-A >
Router# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# host RT-A
RT-A(config)# int f0/0
RT-A(config-if)# ip add 172.16.1.1 255.255.255.0
RT-A(config-if)# no shut
RT-A(config-if)# ip dhcp pool RT-A-F0/0 ← DHCP アドレスプールの作成
RT-A(dhcp-config)# network 172.16.1.0 255.255.255.0 ← クライアントに割り当てるアドレスの範囲
RT-A(dhcp-config)# default-router 172.16.1.1 ← デフォルトゲートウェイ
RT-A(dhcp-config)# domain-name jukenki.local ← ドメイン名
RT-A(dhcp-config)# dns-server 8.8.8.8 ← DNS サーバーのIPアドレス
RT-A(dhcp-config)# lease 3 ← リース期間
RT-A(dhcp-config)# ^Z
RT-A#
プール名は決められた名前はなく何でも結構です。例えば、RT-A の F0/0 に接続しているネットワークが営業部だったら、Sales_Division という名前でもいいと思います。
DNS サーバーのIPアドレスは 8.8.8.8 で指定されていますが、8.8.8.8 というIPアドレスはこのネットワーク内にはありません。架空のIPアドレス (実際には Google のパブリック DNS サーバーのIPアドレス) を使用しています。
DHCP サーバーから DHCP クライアントへは、通常、一定期間の貸し出しとして、IPアドレスが割り当てられます。それがリース期間です。デスクトップ PC (移動しない PC) が多い場合はリース期間を長くし、モバイル PC (移動する PC) が多い場合はリース期間を短く設定するのが一般的です。lease コマンドは次のコマンドで設定します。
lease [日] [時間] [分]
[設定例]
lease 3 ← 3日
lease 1 12 ← 1日と12時間
lease 0 0 30 ← 30分
[DHCP サーバーの設定手順]
- DHCP アドレスプールの作成
ip dhcp pool [プール名]
DHCP ではプールを作成し、そのプール内でクライアントに割り当てるIPアドレスやデフォルトゲートウェイを設定する
- クライアントに割り当てるアドレスの範囲の指定
network [ネットワークアドレス] [サブネットマスク/プレフィックス長]
----------- 最低限必要なのはここまで、後はオプション -----------
- デフォルトゲートウェイの指定
default-router [デフォルトゲートウェイのIPアドレス]
- DNS サーバーの指定
dns-server [DNSサーバーのIPアドレス]
- リース期間の指定
lease [日] [時間] [分]
上記以外にも dhcp-config では様々なオプション指定が可能です。
RT-A(dhcp-config)# ?
DHCP pool configuration commands:
accounting Send Accounting Start/Stop messages
bootfile Boot file name
class Specify a DHCP class
client-identifier Client identifier
client-name Client name
default-router Default routers
dns-server DNS servers
domain-name Domain name
exit Exit from DHCP pool configuration mode
hardware-address Client hardware address
host Client IP address and mask
import Programatically importing DHCP option parameters
lease Address lease time
netbios-name-server NetBIOS (WINS) name servers
netbios-node-type NetBIOS node type
network Network number and mask
next-server Next server in boot process
no Negate a command or set its defaults
option Raw DHCP options
origin Configure the origin of the pool
relay Function as a DHCP relay
remember Remember released bindings
renew Configure renewal policy
server Configure the server ID option value
subnet Subnet allocation commands
update Dynamic updates
utilization Configure various utilization parameters
vrf Associate this pool with a VRF
RT-A(dhcp-config)#
また、クライアントに割り当てるアドレスの範囲の中で、クライアントに割り当てたくないアドレスがある場合、次のコマンドでそのアドレスを除外します。ただし、このコマンドはグローバルコンフィグレーションモードで実行します。
・除外範囲を指定する場合
ip dhcp excluded-address [開始アドレス] [終了アドレス]
・1つの除外アドレスを指定する場合
ip dhcp excluded-address [IPアドレス]
- 設定した内容を show run で確認しなさい。
< RT-A >
RT-A# sh run | section ip dhcp pool
ip dhcp pool RT-A-F0/0
network 172.16.1.0 255.255.255.0
default-router 172.16.1.1
domain-name jukenki.local
dns-server 8.8.8.8
lease 3
RT-A#
- PC-A を DHCP クライアントに設定し、取得したIPアドレス情報を確認しなさい。
< PC-A >
C:\> netsh interface ipv4 set address "イーサネット" dhcp
C:\> ipconfig /all
Windows IP 構成
ホスト名. . . . . . . . . . . . . . .: PC-A
プライマリ DNS サフィックス . . . . .:
ノード タイプ . . . . . . . . . . . .: ハイブリッド
IP ルーティング有効 . . . . . . . . .: いいえ
WINS プロキシ有効 . . . . . . . . . .: いいえ
DNS サフィックス検索一覧. . . . . . .: jukenki.local
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .: jukenki.local
説明. . . . . . . . . . . . . . . . .: Intel(R) PRO/1000 MT Desktop Adapter
物理アドレス. . . . . . . . . . . . .: 00-9F-31-0A-00-00
DHCP 有効 . . . . . . . . . . . . . .: はい
自動構成有効. . . . . . . . . . . . .: はい
IPv4 アドレス . . . . . . . . . . . .: 172.16.1.2(優先)
サブネット マスク . . . . . . . . . .: 255.255.255.0
リース取得. . . . . . . . . . . . . .: 2014年1月16日 1:49:19
リースの有効期限. . . . . . . . . . .: 2014年1月19日 1:49:18
デフォルト ゲートウェイ . . . . . . .: 172.16.1.1
DHCP サーバー . . . . . . . . . . . .: 172.16.1.1
DNS サーバー. . . . . . . . . . . . .: 8.8.8.8
NetBIOS over TCP/IP . . . . . . . . .: 無効
C:\>
IPv4 アドレス . . . . . . . . . . . .: 172.16.1.2(優先)
DHCP サーバーから割り当てられたIPアドレスは 172.16.1.2 です。
172.16.1.0/24 の中の若番からクライアントに割り当てていきます。
RT-A の F0/0 に設定しているIPアドレス 172.16.1.1 は、アドレスプールの中から自動的に除外されるので、この次のIPアドレスである 172.16.1.2 が PC-A に与えられます。
※ もし取得したアドレスが 172.16.1.2 ではなく 172.16.1.3 ならば、物理 PC が DHCP に設定されており、物理 PC が 172.16.1.2 を取得していると思います。その場合は、次の PC-B も1つずれます。
リース取得. . . . . . . . . . . . . .: 2014年1月16日 1:49:19
リースの有効期限. . . . . . . . . . .: 2014年1月19日 1:49:18
リース開始 (2014年1月16日 1:49:19) とリース終了 (2014年1月19日 1:49:18) です。
リース終了までの間にリース期間の更新処理が行われ、特に問題なければ同じIPアドレスを使い続けることができます。
- PC-B を DHCP クライアントに設定し、取得したIPアドレス情報を確認しなさい。
< PC-B >
C:\> netsh interface ipv4 set address "イーサネット" dhcp
C:\> ipconfig /all
Windows IP 構成
ホスト名. . . . . . . . . . . . . . .: PC-B
プライマリ DNS サフィックス . . . . .:
ノード タイプ . . . . . . . . . . . .: ハイブリッド
IP ルーティング有効 . . . . . . . . .: いいえ
WINS プロキシ有効 . . . . . . . . . .: いいえ
DNS サフィックス検索一覧. . . . . . .: jukenki.local
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .: jukenki.local
説明. . . . . . . . . . . . . . . . .: Intel(R) PRO/1000 MT Desktop Adapter
物理アドレス. . . . . . . . . . . . .: 00-9F-31-0B-00-00
DHCP 有効 . . . . . . . . . . . . . .: はい
自動構成有効. . . . . . . . . . . . .: はい
IPv4 アドレス . . . . . . . . . . . .: 172.16.1.3(優先)
サブネット マスク . . . . . . . . . .: 255.255.255.0
リース取得. . . . . . . . . . . . . .: 2014年1月16日 1:51:27
リースの有効期限. . . . . . . . . . .: 2014年1月19日 1:51:42
デフォルト ゲートウェイ . . . . . . .: 172.16.1.1
DHCP サーバー . . . . . . . . . . . .: 172.16.1.1
DNS サーバー. . . . . . . . . . . . .: 8.8.8.8
NetBIOS over TCP/IP . . . . . . . . .: 無効
C:\>
PC-B にはIPアドレス 172.16.1.3 が割り当てられました。
- RT-A で、show ip dhcp binding コマンドを実行しなさい。
< RT-A >
RT-A# sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
172.16.1.2 0100.9f31.0a00.00 Jan 18 2014 04:36 PM Automatic
172.16.1.3 0100.9f31.0b00.00 Jan 18 2014 04:38 PM Automatic
RT-A#
show ip dhcp binding コマンドで、DHCP クライアントに割り当てられているIPアドレスのリストを表示することができます。上記では「172.16.1.2」と「172.16.1.3」の2つのIPアドレスを DHCP クライアントに割り当てています。Lease expiration はリース終了日時ですが、PC 側のリース終了日時 (Lease Expires) とは一致していません。これは Cisco ルータの時間が UTC で、PC 側の時間が JST だからです。
- RT-A のグローバルコンフィグレーションモードで、clock timezone jst +9 コマンドを実行しなさい。
< RT-A >
RT-A# conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT-A(config)# clock timezone jst +9
RT-A(config)# ^Z
RT-A#
- RT-A で、show ip dhcp binding コマンドを実行しなさい。
< RT-A >
RT-A# sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
172.16.1.2 0100.9f31.0a00.00 Jan 19 2014 01:36 AM Automatic
172.16.1.3 0100.9f31.0b00.00 Jan 19 2014 01:38 AM Automatic
RT-A#
PC とリース終了日時が一致しました。
※ もしこの時間が合っていない場合は、ルータの時間がもともと狂っていたと思います。
- PC-B で ipconfig /release を実行しなさい。
< PC-B >
C:\> ipconfig /release
Windows IP 構成
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .:
デフォルト ゲートウェイ . . . . . . .:
C:\>
ipconfig /release は、DHCP サーバーから取得したIPアドレスを解放するためのコマンドです。
- RT-A で、show ip dhcp binding コマンドを実行しなさい。
< RT-A >
RT-A# sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
172.16.1.2 0100.9f31.0a00.00 Jan 19 2014 01:36 AM Automatic
RT-A#
PC-B でIPアドレスの解放を行ったため、PC-B に割り当てていたIPアドレス 172.16.1.3 が、割り当て済みIPアドレスリストから消えました。
- PC-B で ipconfig /renew を実行しなさい。
< PC-B >
C:\> ipconfig /renew
Windows IP 構成
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .: jukenki.local
IPv4 アドレス . . . . . . . . . . . .: 172.16.1.3
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 172.16.1.1
C:\>
ipconfig /renew は、DHCP サーバーからIPアドレスを再取得 (更新) するためのコマンドです。
- RT-A で、show ip dhcp binding コマンドを実行しなさい。
< RT-A >
RT-A# sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
172.16.1.2 0100.9f31.0a00.00 Jan 19 2014 01:36 AM Automatic
172.16.1.3 0100.9f31.0b00.00 Jan 19 2014 01:41 AM Automatic
RT-A#
- PC-A と PC-B で ipconfig /release を実行しなさい。
< PC-A >
C:\> ipconfig /release
Windows IP 構成
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .:
デフォルト ゲートウェイ . . . . . . .:
C:\>
< PC-B >
C:\> ipconfig /release
Windows IP 構成
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .:
デフォルト ゲートウェイ . . . . . . .:
C:\>
例えば、次の図のように、一部の PC には固定IPアドレスを手動で設定し、残りの PC にのみ自動でIPアドレスを割り当てたいことがよくあります。このような場合は、手動で設定したいIPアドレスを DHCP の割当範囲から除外します。
- RT-A で DHCP に関する以下の設定をしなさい。
< RT-A >
RT-A# conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT-A(config)# ip dhcp excluded-address 172.16.1.1 172.16.1.10
RT-A(config)# ^Z
RT-A#
DHCP クライアントに割り当てるIPアドレスの範囲 (172.16.1.0/24) の中で、DHCP クライアントに割り当てたくないIPアドレス (各 PC に手動で設定するIPアドレス) を、除外アドレスとしてアドレスプールから取り除くことができます。除外するアドレスは次のコマンドで指定します。[開始アドレス]から[終了アドレス]までのIPアドレスが除外されます。
ip dhcp excluded-address [開始アドレス] [終了アドレス]
ルータのインターフェイスに設定されているIPアドレス (172.16.1.1) はアドレスプールから自動的に除外されますが、除外アドレスにこのIPアドレスを含める場合が多いので 172.16.1.1 も追加しています。
- PC-A と PC-B で ipconfig /renew を実行しなさい。
< PC-A >
C:\> ipconfig /renew
Windows IP 構成
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .: jukenki.local
IPv4 アドレス . . . . . . . . . . . .: 172.16.1.11
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 172.16.1.1
C:\>
< PC-B >
C:\> ipconfig /renew
Windows IP 構成
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .: jukenki.local
IPv4 アドレス . . . . . . . . . . . .: 172.16.1.12
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 172.16.1.1
C:\>
除外アドレスは DHCP クライアントには割り当てられないので、次のIPアドレス 172.16.1.11 が PC-A に割り当てられ、172.16.1.12 が PC-B に割り当てられました。
- RT-A で、show ip dhcp binding コマンドを実行しなさい。
< RT-A >
RT-A# sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
172.16.1.11 0100.9f31.0a00.00 Jan 19 2014 01:42 AM Automatic
172.16.1.12 0100.9f31.0b00.00 Jan 19 2014 01:43 AM Automatic
RT-A#
- RT-A で、show ip dhcp pool コマンドを実行しなさい。
< RT-A >
RT-A# sh ip dhcp pool
Pool RT-A-F0/0 :
Utilization mark (high/low) : 100 / 0
Subnet size (first/next) : 0 / 0
Total addresses : 254
Leased addresses : 2
Pending event : none
1 subnet is currently in the pool :
Current index IP address range Leased addresses
172.16.1.13 172.16.1.1 - 172.16.1.254 2
RT-A#
show ip dhcp pool コマンドでは、DHCP クライアントに割り当てるアドレスの範囲や割り当て済みアドレスの数など、DHCP アドレスプールに関する情報を表示させることができます。