Cisco IOS IPサービス – DHCP host poolの設定

スポンサーリンク

DHCP host poolとは、client毎に一意なIPアドレスを割り当てる設定です。clientの識別にはDHCP client-idを用い、デフォルト設定のidはホスト名やMACアドレスから自動生成されます。

Client identifier

設定方法

DHCP discoverなどのメッセージには、clientを識別するために、client identifierというフィールドが設けられています。client identifierは以下のコマンドで明示的な指定が可能です。

Router(config-if)# ip address dhcp [ client-id <interface> ]

デフォルト設定

client identifierを明示的に指定しない場合は、IOSはMACアドレスとinterface名によってclient identifierを自動生成します。client ideltifierは以下のように”show dhcp lease”コマンドで確認する事ができます。この場合は、cisco-1234.5678.9abc-Et0/0がclient identifierです。

R1(config)#interface Ethernet 0/0
R1(config-if)#mac-address 1234.5678.9abc
R1(config-if)#ip address dhcp
R1(config-if)#^Z
R1#
*Mar  1 00:02:02.303: %SYS-5-CONFIG_I: Configured from console by console
R1#
R1#show dhcp lease
Temp IP addr: 0.0.0.0  for peer on Interface: Ethernet0/0
Temp  sub net mask: 0.0.0.0
   DHCP Lease server: 0.0.0.0, state: 9 Purging
   DHCP transaction id: 2181
   Lease: 0 secs,  Renewal: 0 secs,  Rebind: 0 secs
   Next timer fires after: 00:00:31
   Retry count: 0   Client-ID: cisco-1234.5678.9abc-Et0/0
   Client-ID hex dump: 636973636F2D313233342E353637382E
                       396162632D4574302F30
   Hostname: R1
R1#

MACアドレスに基づく設定

以下のようにclient-idを用いた明示的な設定をすると、MACアドレスに基づいたclient identifierを設定する事が可能です。

R1(config)#interface Ethernet 0/1
R1(config-if)#mac-address 0000.1234.5678
R1(config-if)#ip address dhcp client-id Ethernet0/1
R1(config-if)#^Z
R1#
*Mar  1 00:03:06.217: %SYS-5-CONFIG_I: Configured from console by console
R1#
R1#show dhcp lease
Temp IP addr: 0.0.0.0  for peer on Interface: Ethernet0/1
Temp  sub net mask: 0.0.0.0
   DHCP Lease server: 0.0.0.0, state: 9 Purging
   DHCP transaction id: 2182
   Lease: 0 secs,  Renewal: 0 secs,  Rebind: 0 secs
   Next timer fires after: 00:00:31
   Retry count: 0   Client-ID: 1234.5678.9abc
   Client-ID hex dump: 000012345678
   Hostname: R1
R1#

DHCP Host Pool

設定方法

以下のようにhostとclient-idを指定すると、client identifierに基づいたアドレス割当が可能です。

Router(config)# ip dhcp pool <pool>
Router(dhcp-config)#host  <addr> <mask>
Router(dhcp-config)#client-identifier <client-identifier>

動作確認

構成概要

以下の環境で動作確認を行います。e0/0はデフォルトのclient-idを割り当て、e0/1はMACアドレスベースのclient-idを割り当てます。

       192.168.12.0/24
        e0/0      e0/0
  +------+dhcp    .2+------+
  |      +----------+      | 
  |  R1  |          |  R2  | 
  |      +----------+      | 
  +------+dhcp    .2+------+
        e0/1      e0/1
       192.168.21.0/24
 [R1]
interface Ethernet0/0
 mac-address 1234.5678.9abc
 ip address dhcp
!
interface Ethernet0/1
 mac-address 0000.1234.5678
 ip address dhcp client-id Ethernet0/1

 [R2]
ip dhcp pool VLAN_12
   host 192.168.12.1 255.255.255.0
   client-identifier 0063.6973.636f.2d31.3233.342e.3536.3738.2e39.6162.632d.4574.302f.30
!
ip dhcp pool VLAN_21
   host 192.168.21.1 255.255.255.0
   client-identifier 0112.3456.789a.bc
!
interface Ethernet0/0
 ip address 192.168.12.2 255.255.255.0
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.21.2 255.255.255.0
 half-duplex

設定説明

e0/0からデフォルトのclient identifierでHDCP discoverを送信するよう設定します。なお、mac-addressは必須設定ではございませんが、ハードウェア毎に設定が変わる事を嫌い、staticにmac-addressを設定しました。

 [R1]
interface Ethernet0/0
 mac-address 1234.5678.9abc
 ip address dhcp

client identifierの16進数表記を確認します。

 [R1]
R1#show dhcp lease
Temp IP addr: 0.0.0.0  for peer on Interface: Ethernet0/0
Temp  sub net mask: 0.0.0.0
   DHCP Lease server: 0.0.0.0, state: 9 Purging
   DHCP transaction id: 2181
   Lease: 0 secs,  Renewal: 0 secs,  Rebind: 0 secs
   Next timer fires after: 00:00:31
   Retry count: 0   Client-ID: cisco-1234.5678.9abc-Et0/0
   Client-ID hex dump: 636973636F2D313233342E353637382E
                       396162632D4574302F30
   Hostname: R1
R1#

上記で確認したclient identifierの先頭に”00″を付けたし、4桁毎に”.”で区切った値をDHCP server側に設定します

 [R2]
ip dhcp pool VLAN_12
   host 192.168.12.1 255.255.255.0
   client-identifier 0063.6973.636f.2d31.3233.342e.3536.3738.2e39.6162.632d.4574.302f.30

e0/1からMACアドレスに基づくclient identifierでHDCP discoverを送信するよう設定します。

 [R1]
interface Ethernet0/1
 mac-address 0000.1234.5678
 ip address dhcp client-id Ethernet0/1

MACアドレスに基づくclinet identifierの場合は、MACアドレスの先頭にethernetを意味する”01″を付けたし、4桁毎に”.”で区切った値をDHCP server側に設定します

 [R2]
ip dhcp pool VLAN_21
   host 192.168.21.1 255.255.255.0
   client-identifier 0100.0012.3456.78

動作確認

想定通りのIPアドレスが割り当てられている事を確認します。

R1#show ip int bri
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0/0                192.168.12.1    YES DHCP   up                    up  
Ethernet0/1                192.168.21.1    YES DHCP   up                    up  
Ethernet0/2                unassigned      YES NVRAM  administratively down down
Ethernet0/3                unassigned      YES NVRAM  administratively down down
R1#

DHCP Server側からも確認が可能です。以下のコマンドでDHCP Clientに割り当てたIPアドレスとclient identifierを確認できます。

R2#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.12.1        0063.6973.636f.2d31.    Infinite                Manual
                    3233.342e.3536.3738.
                    2e39.6162.632d.4574.
                    302f.30
192.168.21.1        0100.0012.3456.78       Infinite                Manual
R2#
タイトルとURLをコピーしました