概要

CiscoルータをDHCPサーバにして、DHCPクライアントにIPアドレスを配布できます。Ciscoルータ(Cisco IOS)をDHCPサーバとして動作させるための設定と確認コマンドについて解説します。

Cisco IOS DHCPサーバ設定コマンド

DHCPサーバ設定の流れ

CiscoルータをDHCPサーバとして動作させるための基本的な流れは次の通りです。

  1. DHCPサーバの有効化
  2. DHCPプールの設定
  3. 除外アドレスの設定

DHCPサーバの有効化

CiscoルータをDHCPサーバとして設定するには、グローバルコンフィグレーションモードで次のコマンドを入力します。

DHCPサーバの有効化

(config)#service dhcp

なお、このコマンドはデフォルトで有効なので、あらためてコマンドを入力する必要は特にありません。

DHCPプールの設定

DHCPプールを作成してDHCPクライアントに配布するTCP/IP設定を定義します。DHCPプールの設定は、グローバルコンフィグレーションモードで次のように行います。

DHCPプールの設定

(config)#ip dhcp pool <pool-name>
(dhcp-config)#network <network>  [ <mask> | / <prefix-length> ]
(dhcp-config)#default-router <address>
(dhcp-config)#domain-name <domain>
(dhcp-config)#dns-server <address>
(dhcp-config)#lease { <days> [<hours>] [<minutes>] | infinite}

<pool-name> : DHCPプールの名前
<network> : DHCPクライアントに配布するネットワークアドレス
default-router <address> : デフォルトゲートウェイのIPアドレス
<domain> : ドメイン名
dns-server <address> : DNSサーバのIPアドレス
lease { <days> [<hours>] [<minutes>] | infinite} : 配布するTCP/IP設定のリース期間

<network>で指定したネットワークアドレスのIPアドレスをDHCPクライアントに配布します。<network>の範囲内の空いているIPアドレスから順に配布します。特定の範囲だけを配布するには除外アドレスの設定も一緒に行ってください。また、<default-router>でデフォルトゲートウェイのIPアドレスです。<domain-name>と<dns-server>で配布するドメイン名やDNSサーバのIPアドレスを設定します。leaseでリース期間です。デフォルトは1日です。infiniteにすると期限なしです。

除外アドレスの設定

DHCPクライアントに配布したくないIPアドレスは、除外アドレスとして以下のように設定します。

除外アドレスの設定

(config)#ip dhcp excluded-address <low-ip-address> [<high-ip-address>]

この設定により、<low-ip-address> ~ <high-ip-address> の範囲のIPアドレスはDHCPクライアントに配布しません。必要なだけip dhcp excluded-addressコマンドで除外アドレスの設定を行ってください。

DNSサーバ/ドメイン名の設定の継承

複数のネットワーク上のDHCPクライアントに対してDHCPで設定を配布するためには、DHCPプールを複数設定します。各プール内でDNSサーバやドメイン名も設定するのですが、これらはプールごとに異なるわけではなく共通であることが多いです。DNSサーバやドメイン名といった共通の設定をプールごとに行うのではなく、1つのプールにまとめることもできます。

集約したネットワークアドレス<network>のプールを作成して、DNSサーバやドメイン名の設定を行います。すると、集約の範囲内の<network>のプールにDNSサーバ/ドメイン名の設定が継承されます。たとえば、192.168.0.0/16の範囲のDHCPプールを作成して、DNSサーバ/ドメイン名を指定します。そして、192.168.1.0/24および192.168.2.0/24のDHCPプールを作成します。これらの個別の<network>のプールにはDNSサーバ/ドメイン名が継承されてクライアントに配布できます。

図 Cisco IOS DHCPサーバ  DNSサーバ/ドメイン名の設定の継承
図 Cisco IOS DHCPサーバ DNSサーバ/ドメイン名の設定の継承

ただ、継承されたDNSサーバやドメイン名の設定を確認できるshowコマンドはないと思います。クライアントでDNSサーバやドメイン名を取得できていることで確認してください。

Cisco IOS DHCPサーバ確認コマンド

CiscoルータをDHCPサーバとして設定したあと、その動作を確認するための主なコマンドは次の通りです。

コマンド概要
DHCPサーバ 
#show ip dhcp poolDHCPプールのアドレス範囲を表示します。
#show ip dhcp bindingsDHCPクライアントに割り当てているIPアドレスを表示します。
DHCPクライアント 
#show ip interface [brief]インタフェースに割り当てられているIPアドレスを確認します。
#show dhcp lease
#show dhcp server
DHCPで割り当てられている情報を確認します。
表 Cisco IOS DHCPサーバ確認コマンド

show ip dhcp pool

show ip dhcp poolコマンドで設定されているDHCPプールのアドレス範囲を表示します。

show ip dhcp pool

R1#show ip dhcp pool

Pool 192.168.3.0 :
 Utilization mark (high/low)    : 100 / 0
 Subnet size (first/next)       : 0 / 0
 Total addresses                : 254
 Leased addresses               : 1
 Pending event                  : none
 1 subnet is currently in the pool :
 Current index        IP address range                    Leased addresses
 192.168.3.2          192.168.3.1      - 192.168.3.254     1

Pool HOST1 :
 Utilization mark (high/low)    : 100 / 0
 Subnet size (first/next)       : 0 / 0
 Total addresses                : 1
 Leased addresses               : 1
 Pending event                  : none
 0 subnet is currently in the pool :
 Current index        IP address range                    Leased addresses
 192.168.3.101        192.168.3.101    - 192.168.3.101     1

Pool R2 :
 Utilization mark (high/low)    : 100 / 0
 Subnet size (first/next)       : 0 / 0
 Total addresses                : 1
 Leased addresses               : 1
 Pending event                  : none
 0 subnet is currently in the pool :
 Current index        IP address range                    Leased addresses
 192.168.12.2         192.168.12.2     - 192.168.12.2      1

Pool DNS_DOMAIN :
 Utilization mark (high/low)    : 100 / 0
 Subnet size (first/next)       : 0 / 0
 Total addresses                : 65534
 Leased addresses               : 0
 Pending event                  : none
 1 subnet is currently in the pool :
 Current index        IP address range                    Leased addresses
 192.168.0.1          192.168.0.1      - 192.168.255.254   0

show ip dhcp bindings

DHCPサーバとしてDHCPクライアントに割り当てているIPアドレスを確認するためにshow ip dhcp bindingsコマンドを利用します。

show ip dhcp bindings

R1#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.3.1         0063.6973.636f.2d63.    Mar 02 2002 12:01 AM    Automatic
                    6330.352e.3564.6230.
                    2e30.3030.302d.4574.
                    302f.30
192.168.3.101       0100.0000.0011.11       Infinite                Manual
192.168.12.2        0100.0000.0022.22       Infinite                Manual

show ip interface [brief]

CiscoルータをDHCPクライアントにしている場合、show ip interfaceコマンドでDHCPにより割り当てられているIPアドレスを確認できます。

show ip interface [brief]

HOST1#show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0/0                192.168.3.101   YES DHCP   up                    up
Ethernet0/1                unassigned      YES NVRAM  administratively down down
Ethernet0/2                unassigned      YES NVRAM  administratively down down
Ethernet0/3                unassigned      YES NVRAM  administratively down down
HOST1#show ip interface Ethernet 0/0
Ethernet0/0 is up, line protocol is up
  Internet address is 192.168.3.101/24
  Broadcast address is 255.255.255.255
  Address determined by DHCP
  MTU is 1500 bytes
  Helper address is not set
-- omitted --

show dhcp lease/show dhcp server

DHCPクライアントでshow dhcp lease/show dhcp serverコマンドによってDHCPサーバから配布されている設定情報を確認します。

show dhcp lease/show dhcp server

HOST1#show dhcp lease
Temp IP addr: 192.168.3.101  for peer on Interface: Ethernet0/0
Temp  sub net mask: 255.255.255.0
   DHCP Lease server: 192.168.13.1, state: 3 Bound
   DHCP transaction id: CC
   Lease: 86400 secs,  Renewal: 43200 secs,  Rebind: 75600 secs
Temp default-gateway addr: 192.168.3.3
   Next timer fires after: 11:54:09
   Retry count: 0   Client-ID: 0000.0000.1111
   Client-ID hex dump: 000000001111
   Hostname: HOST1
HOST1#show dhcp server
   DHCP server: ANY (255.255.255.255)
    Leases:   1
    Offers:   1      Requests: 1     Acks : 1     Naks: 0
    Declines: 0      Releases: 0     Query: 0     Bad: 0
    DNS0:   1.1.1.1,   DNS1:  0.0.0.0
    Subnet: 255.255.255.0   DNS Domain: n-study.com

まとめ

ポイント

  • Ciscoルータ(Cisco IOS)をDHCPサーバとして動作させるための基本的な設定の流れは以下の通りです。
    • DHCPサーバの有効化
      (config)#service dhcp
    • DHCPプールの設定
      (config)#ip dhcp pool
    • 除外アドレスの設定
      (config)#ip dhcp excluded-address
  • 集約したネットワークアドレスのプールに設定したDNSサーバやドメイン名の情報は、集約範囲内のネットワークアドレスのプールに継承させることができます。

TCP/IP