Cisco機器をDHCPサーバーとして動作させる際に設定する「no ip dhcp conflict logging」について説明します。
DHCPの基礎については、下記を参照してください。
Cisco機器のDHCPサーバーの設定については、下記を参照してください。
DHCPデータベースエージェント
Cisco機器をDHCPサーバーとする際、IPアドレスの割り当て情報等の情報は、FTPサーバーやTFTPサーバーに保存することが推奨されています。このサーバーをデータベースエージェントと呼びます。
コマンドの構文は下記のとおりです。
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アドレスを割り当て範囲としています。
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となる状況
端末(Desktop)を起動されると、DHCPによるIPアドレス割り当てが行われます。
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
Desktop3がシャットダウンされ、ネットワークから切り離されました。
Router1の再起動等が発生し、DHCP割り当て情報が消去されたことを想定します。ここでは、明示的にDHCPバインディング情報を消去しています。
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
Desktop4を再起動し、再度DHCPによるIPアドレス割り当てを要求します。
Router1のDHCP割り当て情報が削除されているため、192.168.1.1から割り当てを開始します。しかし、Desktop1で既に利用されているため、 コンフリクト情報に登録したうえで、次のアドレスの割り当てを試みます。192.168.1.2もDesktop2で利用されているため、Desktop4には、192.168.1.3が割り当てられました。
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が登録されています。
Desktop1を再起動し、再度DHCPによるIPアドレス割り当てを要求します。Desktop1には、192.168.1.4が割り当てられました。
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は実際には利用されていませんが、コンフリクト情報に登録されているため、割り当てが不可となります。
シャットダウンしていたDesktop3を起動します。DHCPによるIPアドレス割り当てを要求しますが、割り当て範囲内の全てのIPアドレスが、バインディング情報とコンフリクト情報に登録されているため、割り当て不可となります。
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アドレスの割り当てが可能となります。
clear ip dhcp conflict *
コンフリクト情報が削除されたことを確認します。
show ip dhcp conflict
Router1#show ip dhcp conflict
IP address Detection method Detection time VRF
コンフリクト情報を登録しない設定
コンフリクト情報を登録しないようにするには、下記を設定します。
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では下記のログが出力されます。
*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 について)の説明は完了です!