Cisco機器のDHCP設定(no ip dhcp conflict logging について)

Cisco機器のDHCP設定(no ip dhcp conflict logging について)

Cisco機器をDHCPサーバーとして動作させる際に設定する「no ip dhcp conflict logging」について説明します。

DHCPの基礎については、下記を参照してください。

Cisco機器のDHCPサーバーの設定については、下記を参照してください。

目次

DHCPデータベースエージェント

Cisco機器をDHCPサーバーとする際、IPアドレスの割り当て情報等の情報は、FTPサーバーやTFTPサーバーに保存することが推奨されています。このサーバーをデータベースエージェントと呼びます。

DHCPデータベースエージェント設定方法

コマンドの構文は下記のとおりです。

ip dhcp database url [ timeout seconds | write-delay seconds ]

例えば、TFTPサーバー(192.168.1.253)をDHCPデータベースエージェントとして設定し、dhcpdatabaseというファイルを作成する場合は、下記のコマンドを実行します。

ip dhcp database tftp://192.168.1.253/dhcpdatabase

設定内容を確認するコマンドは下記です。※タイムアウト値や転送遅延のデフォルト値は300秒です。

show ip dhcp database tftp://192.168.1.253/dhcpdb
Router1#show ip dhcp database tftp://192.168.1.253/dhcpdb
URL      : tftp://192.168.1.253/dhcpdb
Read     : Never
Written  : Never
Status   : Last write failed because of a protocol error.
Delay    : 300 seconds
Timeout  : 300 seconds
Failures : 1
Successes: 0

DHCPデータベースエージェントを指定しない場合、割り当て情報が喪失したときに不具合が出る可能性があるため、「no ip dhcp conflict logging」を設定することが推奨されています。

no ip dhcp conflict logging が設定されていない状況での不具合

「no ip dhcp conflict logging」が設定されていない状況で発生する不具合について説明します。

ネットワーク構成

下記のネットワーク構成で動作検証を行います。

ネットワーク構成

Router1には下記の設定を行い、192.1681.1〜4の4つのIPアドレスを割り当て範囲としています。

Router1の設定
service dhcp
ip dhcp conflict logging

interface GigabitEthernet0/0
 ip address 192.168.1.254 255.255.255.0
 no shut
 
ip dhcp excluded-address 192.168.1.5 192.168.1.254 
 
ip dhcp pool LAN-1
 network 192.168.1.0 255.255.255.0
 default-router 192.168.1.254
 dns-server 8.8.8.8

service dhcp
ip dhcp conflict logging
→ この設定はデフォルトで有効ですが、明示的に設定を入れています。

ip dhcp excluded-address 192.168.1.5 192.168.1.254
→ 192.168.1.5以降を除外することにより、192.168.1.1〜4を割り当て範囲としています。

DHCPによるIPアドレス割り当てがNGとなる状況

STEP
クライアントへのIPアドレス割り当て

端末(Desktop)を起動されると、DHCPによるIPアドレス割り当てが行われます。

クライアントへのIPアドレス割り当て
Router1

Router1のDHCP関連のステータスを確認します。

show ip dhcp binding
show ip dhcp pool
show ip dhcp conflict
Router1#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.1         0152.5400.0c10.69       Apr 25 2022 06:15 PM    Automatic
192.168.1.2         0152.5400.1571.1e       Apr 25 2022 06:15 PM    Automatic
192.168.1.3         0152.5400.1b38.9d       Apr 25 2022 06:15 PM    Automatic
192.168.1.4         0152.5400.1367.b7       Apr 25 2022 06:15 PM    Automatic

Router1#show ip dhcp pool

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

Router1#show ip dhcp conflict
IP address        Detection method   Detection time          VRF
STEP
Desktop3をシャットダウン

Desktop3がシャットダウンされ、ネットワークから切り離されました。

Desktop3をシャットダウン
STEP
Router1のDHCP割り当て情報を削除

Router1の再起動等が発生し、DHCP割り当て情報が消去されたことを想定します。ここでは、明示的にDHCPバインディング情報を消去しています。

Router1
clear ip dhcp binding *

DHCPバインディング情報が消去されたことを確認します。

show ip dhcp binding
Router1#show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address          Client-ID/	 	    Lease expiration        Type
		    Hardware address/
		    User name
STEP
Desktop4を再起動

Desktop4を再起動し、再度DHCPによるIPアドレス割り当てを要求します。

Desktop4を再起動

Router1のDHCP割り当て情報が削除されているため、192.168.1.1から割り当てを開始します。しかし、Desktop1で既に利用されているため、 コンフリクト情報に登録したうえで、次のアドレスの割り当てを試みます。192.168.1.2もDesktop2で利用されているため、Desktop4には、192.168.1.3が割り当てられました。

Router1

Router1のDHCP関連のステータスを確認します。

show ip dhcp binding
show ip dhcp pool
show ip dhcp conflict
Router1#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.3         0152.5400.1367.b7       Apr 25 2022 06:18 PM    Automatic

Router1#show ip dhcp pool

Pool LAN-1 :
 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.1.4          192.168.1.1      - 192.168.1.254     1

Router1#show ip dhcp conflict
IP address        Detection method   Detection time          VRF
192.168.1.1       Ping               Apr 24 2022 06:18 PM
192.168.1.2       Ping               Apr 24 2022 06:18 PM

・バインディング情報として、192.168.1.3のみが登録されています。
・コンフリクト情報として、192.168.1.1と192.168.1.2が登録されています。

STEP
Desktop1を再起動

Desktop1を再起動し、再度DHCPによるIPアドレス割り当てを要求します。Desktop1には、192.168.1.4が割り当てられました。

Desktop1を再起動
Router1

Router1のDHCP関連のステータスを確認します。

show ip dhcp binding
show ip dhcp pool
show ip dhcp conflict
Router1#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.3         0152.5400.1367.b7       Apr 25 2022 06:18 PM    Automatic
192.168.1.4         0152.5400.0c10.69       Apr 25 2022 06:19 PM    Automatic

Router1#show ip dhcp pool

Pool LAN-1 :
 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
 192.168.1.5          192.168.1.1      - 192.168.1.254     2

Router1#show ip dhcp conflict
IP address        Detection method   Detection time          VRF
192.168.1.1       Ping               Apr 24 2022 06:18 PM
192.168.1.2       Ping               Apr 24 2022 06:18 PM

・バインディング情報として、192.168.1.3と192.168.1.4が登録されています。
・コンフリクト情報として、192.168.1.1と192.168.1.2が登録されています。
→ この状況になると、192.168.1.1は実際には利用されていませんが、コンフリクト情報に登録されているため、割り当てが不可となります。

STEP
Dekstop3を起動 → IPアドレス割り当てNG

シャットダウンしていたDesktop3を起動します。DHCPによるIPアドレス割り当てを要求しますが、割り当て範囲内の全てのIPアドレスが、バインディング情報とコンフリクト情報に登録されているため、割り当て不可となります。

Dekstop3を起動 → IPアドレス割り当てNG
Router1

Router1のDHCP関連のステータスを確認します。

show ip dhcp binding
show ip dhcp pool
show ip dhcp conflict
Router1#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.3         0152.5400.1367.b7       Apr 25 2022 06:18 PM    Automatic
192.168.1.4         0152.5400.0c10.69       Apr 25 2022 06:19 PM    Automatic

Router1#show ip dhcp pool

Pool LAN-1 :
 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
 0.0.0.0              192.168.1.1      - 192.168.1.254     2

Router1#show ip dhcp conflict
IP address        Detection method   Detection time          VRF
192.168.1.1       Ping               Apr 24 2022 06:18 PM
192.168.1.2       Ping               Apr 24 2022 06:18 PM

割り当てできるIPが無いため、「show ip dhcp pool」の「Current index」が、”0.0.0.0″になります。

このように、実際には利用されていないIPアドレスがあるにも関わらず、割り当てができなくなる状況が発生します。説明では、分かりやすいように4個のIPアドレスとしていますが、50個/100個と割り当て範囲が増えても同様の状況が発生する可能性があります。

対応方法

コンフリクト情報の削除

コンフリクト情報を削除することで、再度IPアドレスの割り当てが可能となります。

Router1
clear ip dhcp conflict *

コンフリクト情報が削除されたことを確認します。

show ip dhcp conflict
Router1#show ip dhcp conflict
IP address        Detection method   Detection time          VRF

コンフリクト情報を登録しない設定

コンフリクト情報を登録しないようにするには、下記を設定します。

Router1
no ip dhcp conflict logging

DHCPデータベースエージェントを指定しない場合、割り当て情報が喪失したときに上述の不具合が出る可能性があるため、「no ip dhcp conflict logging」を設定することが推奨されています。

※参考※ コンフリクト情報に登録する際の動作

DHCPサーバーとして動作しているCisco機器が、IPアドレスの競合を検知してコンフリクト情報に登録する際は、Ping(ICMP)による応答確認を行なっています。

コンフリクト登録時のパケットキャプチャとログ

上述のSTEP4で、192.168.1.1と192.168.1.2をコンフリクト情報に登録し、192.168.1.3をDesktop4に割り当てた際のパケットキャプチャは下記となります。Ping(ICMP)

コンフリクト登録時のパケットキャプチャ

Router1では下記のログが出力されます。

Router1
*18:18:37.212: %DHCPD-4-PING_CONFLICT: DHCP address conflict:  server pinged 192.168.1.1.
*18:18:38.739: %DHCPD-4-PING_CONFLICT: DHCP address conflict:  server pinged 192.168.1.2.

以上で、Cisco機器のDHCP設定(no ip dhcp conflict logging について)の説明は完了です!

  • URLをコピーしました!
  • URLをコピーしました!
目次