この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、Catalyst 9000シリーズスイッチでのDHCPスヌーピングの動作とトラブルシューティングの方法について説明します。
次の項目に関する知識があることが推奨されます。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
Cisco IOS® XE 16.12.X
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
注:他のシスコプラットフォームでこれらの機能を有効にするために使用するコマンドについては、該当するコンフィギュレーションガイドを参照してください。
Dynamic Host Configuration Protocol(DHCP)スヌーピングは、悪意のあるDHCPパケットをブロックするためにDHCPトラフィックをチェックするために使用されるセキュリティ機能です。ネットワーク上の信頼できないユーザポートとDHCPサーバポートの間のファイアウォールとして機能し、ネットワーク内の悪意のあるDHCPサーバによるサービス拒否を防ぎます。
DHCPスヌーピングは、信頼できるインターフェイスと信頼できないインターフェイスの概念と連携して動作します。スイッチは、DHCPトラフィックのパスを通じて、インターフェイスで受信されたDHCPパケットを検証し、信頼できるインターフェイス上で予想されるDHCPサーバパケット(OFFERおよびACK)を追跡します。つまり、信頼できないインターフェイスはDHCPサーバパケットをブロックします。
DHCPパケットが信頼できないインターフェイスでブロックされている。
DHCPスヌーピングを設定するスイッチは、DHCPスヌーピングテーブルまたはDHCPバインディングデータベースを構築します。このテーブルは、正当なDHCPサーバから割り当てられたIPアドレスを追跡するために使用されます。 バインディングデータベースは、ダイナミックARPインスペクションやIPソースガードなどの他のIOSセキュリティ機能でも使用されます。
注:DHCPスヌーピングが正しく動作できるようにするには、DHCPサーバに到達するためにすべてのアップリンクポートを信頼し、エンドユーザポートを信頼しないようにします。
グローバル設定
1. Enable DHCP snooping globally on the switch
switch(config)#ip dhcp snooping
2. Designate ports that forward traffic toward the DHCP server as trusted
switch(config-if)#ip dhcp snooping trust
(Additional verification)
- List uplink ports according to the topology, ensure all the uplink ports toward the DHCP server are trusted
- List the port where the Legitimate DHCP Server is connected (include any Secondary DHCP Server)
- Ensure that no other port is configured as trusted
3. Configure DHCP rate limiting on each untrusted port (Optional)
switch(config-if)#ip dhcp snooping limit rate 10 << ----- 10 packets per second (pps)
4. Enable DHCP snooping in specific VLAN
switch(config)#ip dhcp snooping vlan 10 << ----- Allow the switch to snoop the traffic for that specific VLAN
5. Enable the insertion and removal of option-82 information DHCP packets
switch(config)#ip dhcp snooping information option <-- Enable insertion of option 82
switch(config)#no ip dhcp snooping information option <-- Disable insertion of option 82
### Example ###
Legitimate DHCP Server Interface and Secondary DHCP Server, if available
Server Interface
interface FortyGigabitEthernet1/0/5
switchport mode access
switchport mode access vlan 11
ip dhcp snooping trust
end
Uplink interface
interface FortyGigabitEthernet1/0/10
switchport mode trunk
ip dhcp snooping trust
end
User Interface << ----- All interfaces are UNTRUSTED by default
interface FortyGigabitEthernet1/0/2
switchport access vlan 10
switchport mode access
ip dhcp snooping limit rate 10 << ----- Optional
end
注:option-82パケットを許可するには、ip dhcp snooping information option allow-untrustedを有効にする必要があります。
目的のVLANでDHCPスヌーピングが有効になっているかどうかを確認し、信頼できるインターフェイスと信頼できないインターフェイスが正しくリストされていることを確認します。レートが設定されている場合は、レートもリストされていることを確認します。
switch#show ip dhcp snooping
Switch DHCP snooping is enabled
Switch DHCP gleaning is disabled
DHCP snooping is configured on following VLANs:
10-11
DHCP snooping is operational on following VLANs: <<---- Configured and operational on Vlan 10 & 11
10-11
DHCP snooping is configured on the following L3 Interfaces:
Insertion of option 82 is disabled <<---- Option 82 can not be added to DHCP packet
circuit-id default format: vlan-mod-port
remote-id: 00a3.d144.1a80 (MAC)
Option 82 on untrusted port is not allowed
Verification of hwaddr field is enabled
Verification of giaddr field is enabled
DHCP snooping trust/rate is configured on the following Interfaces:
Interface Trusted Allow option Rate limit (pps)
----------------------- ------- ------------ ----------------
FortyGigabitEthernet1/0/2 no no 10 <<--- Trust is NOT set on this interface
Custom circuit-ids:
FortyGigabitEthernet1/0/10 yes yes unlimited <<--- Trust is set on this interface
Custom circuit-ids:
ユーザがDHCPによってIPを受信すると、次の出力にリストされます。
c9500#show ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
00:A3:D1:44:20:46 10.0.0.3 85556 dhcp-snooping 10 FortyGigabitEthernet1/0/2
Total number of bindings: 1
次の表に、DHCPスヌーピング情報の監視に使用できるさまざまなコマンドを示します。
コマンド | 目的 |
show ip dhcp snoopingバインディング show ip dhcp snooping binding [IPアドレス] [MACアドレス] [インターフェイスイーサネットスロット/ポート] [vlan-id] |
DHCPスヌーピングバインディングデータベース(バインディングテーブルとも呼ばれる)内で動的に設定されたバインディングのみを表示します。 – エントリIPアドレスのバインド – バインディングエントリのMACアドレス – バインディングエントリ入力インターフェイス – エントリVLANのバインディング |
show ip dhcp snooping database(隠しコマンド) |
DHCPスヌーピングバインディングデータベースのステータスと統計情報を表示します。 |
show ip dhcp snooping statistics(dhcpスヌーピング統計情報の表示) |
DHCPスヌーピング統計情報を概要または詳細の形式で表示します。 |
show ip source binding(IPソースバインディングの表示) |
動的および静的に構成されたバインディングを表示します。 |
show interface vlan xyz show buffer input-interface VLAN XYZダンプ |
DHCPパケットは、クライアントVLAN SVIを介して、クライアントVLANに設定されたリレーエージェントに送信されます。入力キューに「drop」または「reach maximum limit」と表示される場合は、クライアントからのDHCPパケットがドロップされていて、設定されているリレーエージェントに到達できなかった可能性があります。 注:入力キューで廃棄が発生していないことを確認してください。 スイッチ#show int vlan 670 |
スイッチが受信する内容を確認します。これらのパケットはCPUコントロールプレーンで処理されるため、インジェクトおよびパント方向のすべてのパケットを確認し、情報が正しいことを確認します。
注意:debugコマンドは、注意して使用してください。多くのdebugコマンドは実稼働中のネットワークに影響を与えるため、ラボ環境で問題が再現される場合のみ使用することを推奨します。
条件付きデバッグ機能を使用すると、定義した一連の条件に基づいて、特定の機能のデバッグとログを選択的に有効にできます。これは、特定のホストまたはトラフィックのデバッグ情報のみを含める場合に便利です。
条件とは、インターフェイス、IPアドレス、MACアドレスなどをアイデンティティとする機能またはアイデンティティを指します。
DHCPスヌーピングのトラブルシューティングを行う際に、パケットとイベントのデバッグ用に条件付きデバッグ機能を有効にする方法
コマンド | 目的 |
デバッグ条件mac <macアドレス> 以下に例を挙げます。 switch#debug condition mac bc16.6509.3314 |
指定したMACアドレスの条件付きデバッグを設定します。 |
デバッグ条件vlan <VLAN ID> 以下に例を挙げます。 switch#debug condition vlan 10 |
指定したVLANの条件付きデバッグを設定します。 |
debug condition interface <インターフェイス> 以下に例を挙げます。 switch#debug condition interface twentyFiveGigE 1/0/8 |
指定したインターフェイスの条件付きデバッグを設定します。 |
DHCPスヌーピングをデバッグするには、次の表に示すコマンドを使用します。
コマンド | 目的 |
debug dhcp [detail | オペア | redundancy] |
dhcpパケットの内容の詳細 oper DHCP内部OPER 冗長性DHCPクライアントの冗長性サポート |
debug ip dhcp server packet detail |
メッセージの受信と送信を詳細にデコードします。 |
debug ip dhcp server events |
アドレス割り当て、リース期限などをレポートします。 |
debug ip dhcpスヌーピングエージェント |
DHCPスヌーピングデータベースの読み取りと書き込みのデバッグ |
debug ip dhcp snoopingイベント |
各コンポーネント間のデバッグイベント。 |
debug ip dhcp snooping packet |
DHCPスヌーピングモジュールでDHCPパケットをデバッグします。 |
次に、debug ip dhcp snoopingコマンドの出力例の一部を示します。
Apr 14 16:16:46.835: DHCP_SNOOPING: process new DHCP packet, message type: DHCPDISCOVER, input interface: Fo1/0/2, MAC da: ffff.ffff.ffff, MAC sa: 00a3.d144.2046, IP da: 255.255.255.255, IP sa: 0.0.0.0, DHCP ciaddr: 0.0.0.0, DHCP yiaddr: 0.0.0.0, DHCP siaddr: 0.0.0.0, DHCP giaddr: 0.0.0.0, DHCP chaddr: 00a3.d144.2046, efp_id: 0, vlan_id: 10, bootpflag:0x32768(Broadcast)
Apr 14 16:16:46.835: DHCP_SNOOPING: bridge packet get invalid mat entry: FFFF.FFFF.FFFF, packet is flooded to ingress VLAN: (10)
Apr 14 16:16:48.837: DHCP_SNOOPING: received new DHCP packet from input interface (FortyGigabitEthernet1/0/10)
Apr 14 16:16:48.837: DHCP_SNOOPING: process new DHCP packet, message type: DHCPOFFER, input interface: Fo1/0/10, MAC da: ffff.ffff.ffff, MAC sa: 701f.539a.fe46, IP da: 255.255.255.255, IP sa: 10.0.0.1, DHCP ciaddr: 0.0.0.0, DHCP yiaddr: 10.0.0.5, DHCP siaddr: 0.0.0.0, DHCP giaddr: 0.0.0.0, DHCP chaddr: 00a3.d144.2046, efp_id: 0, vlan_id: 10, bootpflag:0x32768(Broadcast)
Apr 14 16:16:48.837: platform lookup dest vlan for input_if: FortyGigabitEthernet1/0/10, is NOT tunnel, if_output: NULL, if_output->vlan_id: 99999, pak->vlan_id: 10
Apr 14 16:16:48.837: DHCP_SNOOPING: direct forward dhcp replyto output port: FortyGigabitEthernet1/0/2.
Apr 14 16:16:48.838: DHCP_SNOOPING: received new DHCP packet from input interface (FortyGigabitEthernet1/0/2)
Apr 14 16:16:48.838: Performing rate limit check
Apr 14 16:16:48.838: DHCP_SNOOPING: process new DHCP packet, message type: DHCPREQUEST, input interface: Fo1/0/2, MAC da: ffff.ffff.ffff, MAC sa: 00a3.d144.2046, IP da: 255.255.255.255, IP sa: 0.0.0.0, DHCP ciaddr: 0.0.0.0, DHCP yiaddr: 0.0.0.0, DHCP siaddr: 0.0.0.0, DHCP giaddr: 0.0.0.0, DHCP chaddr: 00a3.d144.2046, efp_id: 0, vlan_id: 10, bootpflag:0x32768(Broadcast)
Apr 14 16:16:48.838: DHCP_SNOOPING: bridge packet get invalid mat entry: FFFF.FFFF.FFFF, packet is flooded to ingress VLAN: (10)
Apr 14 16:16:48.839: DHCP_SNOOPING: received new DHCP packet from input interface (FortyGigabitEthernet1/0/10)
Apr 14 16:16:48.840: DHCP_SNOOPING: process new DHCP packet, message type: DHCPACK, input interface: Fo1/0/10, MAC da: ffff.ffff.ffff, MAC sa: 701f.539a.fe46, IP da: 255.255.255.255, IP sa: 10.0.0.1, DHCP ciaddr: 0.0.0.0, DHCP yiaddr: 10.0.0.5, DHCP siaddr: 0.0.0.0, DHCP giaddr: 0.0.0.0, DHCP chaddr: 00a3.d144.2046, efp_id: 0, vlan_id: 10, bootpflag:0x32768(Broadcast)
Apr 14 16:16:48.840: DHCP_SNOOPING: add binding on port FortyGigabitEthernet1/0/2 ckt_id 0 FortyGigabitEthernet1/0/2
Apr 14 16:16:48.840: DHCP_SNOOPING: added entry to table (index 331)
Apr 14 16:16:48.840: DHCP_SNOOPING: dump binding entry: Mac=00:A3:D1:44:20:46 Ip=10.0.0.5 Lease=86400 Type=dhcp-snooping Vlan=10 If=FortyGigabitEthernet1/0/2
Apr 14 16:16:48.840: No entry found for mac(00a3.d144.2046) vlan(10) FortyGigabitEthernet1/0/2
Apr 14 16:16:48.840: host tracking not found for update add dynamic (10.0.0.5, 0.0.0.0, 00a3.d144.2046) vlan(10)
Apr 14 16:16:48.840: platform lookup dest vlan for input_if: FortyGigabitEthernet1/0/10, is NOT tunnel, if_output: NULL, if_output->vlan_id: 99999, pak->vlan_id: 10
Apr 14 16:16:48.840: DHCP_SNOOPING: direct forward dhcp replyto output port: FortyGigabitEthernet1/0/2.
DHCPスヌーピングイベントをデバッグするには、次の手順を使用します。
注意:debugコマンドは、注意して使用してください。多くのdebugコマンドは実稼働中のネットワークに影響を与えるため、ラボ環境で問題が再現される場合のみ使用することを推奨します。
手順の概要
手順の詳細
コマンドまたはアクション | 目的 | |
手順 1 |
enable 以下に例を挙げます。 スイッチ#enable |
特権EXECモードを有効にします。
|
手順 2 |
debug platform condition mac {mac-address}(プラットフォームの状態macをデバッグする) 以下に例を挙げます。 switch#debug platform condition mac 0001.6509.3314 |
指定したMACアドレスの条件付きデバッグを設定します。 |
手順 3 |
debug platform condition start(プラットフォーム条件の開始) 以下に例を挙げます。 switch#debug platform condition start |
条件付きデバッグを開始します(いずれかの条件に一致する場合は、放射性トレースを開始できます)。 |
手順 4 |
show platform conditionまたはshow debug 以下に例を挙げます。 switch#show platform condition スイッチ#show debug |
現在の条件セットが表示されます。 |
手順 5 |
debug platform condition stop(プラットフォーム条件のデバッグ停止) 以下に例を挙げます。 switch#debug platform condition stop |
条件付きデバッグを停止します(これにより放射性トレースを停止できます)。 |
手順 6 |
show platform software trace message ios R0 reverse(隠しコマンド) | DHCPを含める 以下に例を挙げます。 switch#show platform software trace message ios R0 reverse | DHCPを含める |
最新のトレースファイルからマージされたHPログを表示します。 |
ステップ7 |
clear platform condition all(プラットフォームの状態をすべてクリア) 以下に例を挙げます。 switch# clear platform condition all |
すべての条件をクリアします。 |
以下は、debug platform dhcp-snoop allコマンドの出力例の一部です。
debug platform dhcp-snoop all
DHCP Server UDP port(67)
DHCP Client UDP port(68)
RELEASE
Apr 14 16:44:18.629: pak->vlan_id = 10
Apr 14 16:44:18.629: dhcp packet src_ip(10.0.0.6) dest_ip(10.0.0.1) src_udp(68) dest_udp(67) src_mac(00a3.d144.2046) dest_mac(701f.539a.fe46)
Apr 14 16:44:18.629: ngwc_dhcpsn_process_pak(305): Packet handedover to SISF on vlan 10
Apr 14 16:44:18.629: dhcp pkt processing routine is called for pak with SMAC = 00a3.d144.2046{mac} and SRC_ADDR = 10.0.0.6{ipv4}
DISCOVER
Apr 14 16:44:24.637: dhcp packet src_ip(0.0.0.0) dest_ip(255.255.255.255) src_udp(68) dest_udp(67) src_mac(00a3.d144.2046) dest_mac(ffff.ffff.ffff)
Apr 14 16:44:24.637: ngwc_dhcpsn_process_pak(305): Packet handedover to SISF on vlan 10
Apr 14 16:44:24.637: dhcp pkt processing routine is called for pak with SMAC = 00a3.d144.2046{mac} and SRC_ADDR = 0.0.0.0{ipv4}
Apr 14 16:44:24.637: sending dhcp packet out after processing with SMAC = 00a3.d144.2046{mac} and SRC_ADDR = 0.0.0.0{ipv4}
Apr 14 16:44:24.638: pak->vlan_id = 10
OFFER
Apr 14 16:44:24.638: dhcp packet src_ip(10.0.0.1) dest_ip(255.255.255.255) src_udp(67) dest_udp(68) src_mac(701f.539a.fe46) dest_mac(ffff.ffff.ffff)
Apr 14 16:44:24.638: ngwc_dhcpsn_process_pak(305): Packet handedover to SISF on vlan 10
Apr 14 16:44:24.638: dhcp pkt processing routine is called for pak with SMAC = 701f.539a.fe46{mac} and SRC_ADDR = 10.0.0.1{ipv4}
REQUEST
Apr 14 16:44:24.638: ngwc_dhcpsn_process_pak(284): Packet handedover to SISF on vlan 10
c9500#dhcp pkt processing routine is called for pak with SMAC = 0a3.d144.2046{mac} and SRC_ADDR = 0.0.0.0{ipv4}sending dhcppacket outafter processing with SMAC = 0a3.d144.2046{mac} and SRC_ADDR = 0.0.0.0{ipv4} sending dhcp packet out after processing with SMAC = 0a3.d144.2046{mac} and SRC_ADDR = 0.0.0.0{ipv4} pak->vlan_id = 10.
ACK
Apr 14 16:44:24.640: dhcp paket src_ip(10.10.10.1) dest_ip(255.255.255.255) src_udp(67) dest_udp(68) src_mac(701f.539a.fe46) dest_mac(ffff.ffff.ffff)
Apr 14 16:44:24.640: ngwc_dhcpsn_process_pak(284): Packet handedover to SISF on vlan 10dhcp pkt processing routine is called for pak with SMAC = 701f.539a.fe46{mac} and SRC_ADDR = 10.10.10.1{ipv4}.
次の表に、プラットフォームでDHCPスヌーピングをデバッグするために使用できるさまざまなコマンドを示します。
注意:debugコマンドは、注意して使用してください。多くのdebugコマンドは実稼働中のネットワークに影響を与えるため、ラボ環境で問題が再現された場合にだけ使用することを推奨します。
コマンド |
目的 |
switch#debug platform dhcp-snoop [all | パケット | pd-shim] |
すべてのNGWC DHCPスヌーピング パケットNGWC DHCPスヌーピングパケットデバッグ情報 pd-shim NGWC DHCPスヌーピングIOS Shimデバッグ情報 |
switch#debug platform software infrastructure punt dhcp-snoop |
FPで受信され、コントロールプレーンにパントされるパケット)。 |
switch#debug platform software infrastructure inject(プラットフォームのソフトウェアインフラストラクチャの注入) |
コントロールプレーンからFPに注入されるパケット。 |
FEDの観点から、各CPUキューで受信されるトラフィックを確認します(DHCPスヌーピングは、コントロールプレーンで処理されるトラフィックのタイプです)。
c9500#show platform software fed switch active punt cause summary
Statistics for all causes
Cause Cause Info Rcvd Dropped
------------------------------------------------------------------------------
21 RP<->QFP keepalive 8533 0
79 dhcp snoop 71 0 <<---- If drop counter increases, there can be an issue with this feature
96 Layer2 control protocols 45662 0
109 snoop packets 100 0
------------------------------------------------------------------------------
c9500#show platform software fed sw active inject cause summary
Statistics for all causes
Cause Cause Info Rcvd Dropped
------------------------------------------------------------------------------
1 L2 control/legacy 128354 0 <<---- dropped counter must NOT increase
2 QFP destination lookup 18 0
5 QFP <->RP keepalive 8585 0
12 ARP request or response 68 0
25 Layer2 frame to BD 81 0
------------------------------------------------------------------------------
このコマンドを使用して、CPUにパントされたトラフィックを確認し、DHCPスヌーピングでトラフィックがドロップされているかどうかを確認できます。
c9500#show platform software fed switch active punt cpuq rates Punt Rate CPU Q Statistics Packets per second averaged over 10 seconds, 1 min and 5 mins ====================================================================================== Q | Queue | Rx | Rx | Rx | Drop | Drop | Drop no | Name | 10s | 1min | 5min | 10s | 1min | 5min ====================================================================================== 0 CPU_Q_DOT1X_AUTH 0 0 0 0 0 0 1 CPU_Q_L2_CONTROL 0 0 0 0 0 0 2 CPU_Q_FORUS_TRAFFIC 0 0 0 0 0 0 3 CPU_Q_ICMP_GEN 0 0 0 0 0 0 4 CPU_Q_ROUTING_CONTROL 0 0 0 0 0 0 5 CPU_Q_FORUS_ADDR_RESOLUTION 0 0 0 0 0 0 6 CPU_Q_ICMP_REDIRECT 0 0 0 0 0 0 7 CPU_Q_INTER_FED_TRAFFIC 0 0 0 0 0 0 8 CPU_Q_L2LVX_CONTROL_PKT 0 0 0 0 0 0 9 CPU_Q_EWLC_CONTROL 0 0 0 0 0 0 10 CPU_Q_EWLC_DATA 0 0 0 0 0 0 11 CPU_Q_L2LVX_DATA_PKT 0 0 0 0 0 0 12 CPU_Q_BROADCAST 0 0 0 0 0 0 13 CPU_Q_LEARNING_CACHE_OVFL 0 0 0 0 0 0 14 CPU_Q_SW_FORWARDING 0 0 0 0 0 0 15 CPU_Q_TOPOLOGY_CONTROL 2 2 2 0 0 0 16 CPU_Q_PROTO_SNOOPING 0 0 0 0 0 0 17 CPU_Q_DHCP_SNOOPING 0 0 0 0 0 0 <<---- drop counter must NOT increase 18 CPU_Q_TRANSIT_TRAFFIC 0 0 0 0 0 0 19 CPU_Q_RPF_FAILED 0 0 0 0 0 0 20 CPU_Q_MCAST_END_STATION_SERVICE 0 0 0 0 0 0 21 CPU_Q_LOGGING 0 0 0 0 0 0 22 CPU_Q_PUNT_WEBAUTH 0 0 0 0 0 0 23 CPU_Q_HIGH_RATE_APP 0 0 0 0 0 0 24 CPU_Q_EXCEPTION 0 0 0 0 0 0 25 CPU_Q_SYSTEM_CRITICAL 8 8 8 0 0 0 26 CPU_Q_NFL_SAMPLED_DATA 0 0 0 0 0 0 27 CPU_Q_LOW_LATENCY 0 0 0 0 0 0 28 CPU_Q_EGR_EXCEPTION 0 0 0 0 0 0 29 CPU_Q_FSS 0 0 0 0 0 0 30 CPU_Q_MCAST_DATA 0 0 0 0 0 0 31 CPU_Q_GOLD_PKT 0 0 0 0 0 0 -------------------------------------------------------------------------------------
フォワーディングエンジンドライバ(FED)
FEDは、ASICをプログラムするドライバです。FEDコマンドは、ハードウェアとソフトウェアの状態が一致していることを確認するために使用されます。
DI_Handle値を取得します。
c9500#show platform software fed switch active security-fed dhcp-snoop vlan vlan-id 10
Platform Security DHCP Snooping Vlan Information
Value of Snooping DI handle is:: 0x7F7FAC23E438 <<---- If DHCP Snooping is not enabled the hardware handle can not be present
Port Trust Mode
----------------------------------------------------------------------------------
FortyGigabitEthernet1/0/10 trust <<---- Ensure TRUSTED ports are listed
IFMマッピングをチェックして、ポートのASICとコアを判別します。
c9500#show platform software fed switch active ifm mappings
Interface IF_ID Inst Asic Core Port SubPort Mac Cntx LPN GPN Type Active
FortyGigabitEthernet1/0/10 0xa 3 1 1 1 0 4 4 2 2 NIF Y
DI_Handleを使用して、ハードウェアインデックスを取得します。
c9500#show platform hardware fed switch active fwd-asic abstraction print-resource-handle 0x7F7FAC23E438 0
Handle:0x7f7fac23e438 Res-Type:ASIC_RSC_DI Res-Switch-Num:255 Asic-Num:255 Feature-ID:AL_FID_DHCPSNOOPING Lkp-ftr-id:LKP_FEAT_INVALID ref_count:1
priv_ri/priv_si Handle: (nil)Hardware Indices/Handles: index0:0x5f03 mtu_index/l3u_ri_index0:0x0 index1:0x5f03 mtu_index/l3u_ri_index1:0x0 index2:0x5f03 mtu_index/l3u_ri_index2:0x0 index3:0x5f03 mtu_index/l3u_ri_index3:0x0
<SNIP> <-- Index is 0x5f03
インデックス値0x5f03を16進数から10進数に変換します。
0x5f03 = 24323
このインデックス値を10進数で使用し、このコマンドのASIC値とコア値を使用して、ポートに設定されているフラグを確認します。
c9500#show platform hardware fed switch 1 fwd-asic regi read register-name SifDestinationIndexTable-24323 asic 1 core 1
For asic 1 core 1
Module 0 - SifDestinationIndexTable[0][24323] <-- the decimal hardware index matches 0x5f03 = 24323
copySegment0 : 0x1 <<---- If you find this as 0x0, means that the traffic is not forwarded out of this port. (refer to Cisco bug ID CSCvi39202)copySegment1 : 0x1
dpuSegment0 : 0x0
dpuSegment1 : 0x0
ecUnicast : 0x0
etherChannel0 : 0x0
etherChannel1 : 0x0
hashPtr1 : 0x0
stripSegment : 0x0
特定のVLANでDHCPスヌーピングが有効になっていることを確認します。
c9500#show platform software fed switch 1 vlan 10
VLAN Fed Information
Vlan Id IF Id LE Handle STP Handle L3 IF Handle SVI IF ID MVID
-----------------------------------------------------------------------------------------------------------------------
10 0x0000000000420011 0x00007f7fac235fa8 0x00007f7fac236798 0x0000000000000000 0x0000000000000000 15
c9500#show platform hardware fed switch active fwd-asic abstraction print-resource-handle 0x00007f7fac235fa8 1 <<---- Last number might be 1 or 0, 1 means detailed, 0 means brief output
Handle:0x7f7fac235fa8 Res-Type:ASIC_RSC_VLAN_LE Res-Switch-Num:255 Asic-Num:255 Feature-ID:AL_FID_L2 Lkp-ftr-id:LKP_FEAT_INVALID ref_count:1
priv_ri/priv_si Handle: (nil)Hardware Indices/Handles: index0:0xf mtu_index/l3u_ri_index0:0x0 sm handle [ASIC 0]: 0x7f7fac23b908 index1:0xf mtu_index/l3u_ri_index1:0x0 sm handle [ASIC 1]: 0x7f7fac23cde8 index2:0xf mtu_index/l3u_ri_index2:0x0 index3:0xf mtu_index/l3u_ri_index3:0x0
Cookie length: 56
00 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Detailed Resource Information (ASIC_INSTANCE# 0)
----------------------------------------
LEAD_VLAN_IGMP_MLD_SNOOPING_ENABLED_IPV4 value 1 Pass <<---- Verify the highlighted values, if any are flagged as 0 there is an issue with the hardware programming.
LEAD_VLAN_IGMP_MLD_SNOOPING_ENABLED_IPV6 value 0 Pass
LEAD_VLAN_ARP_OR_ND_SNOOPING_ENABLED_IPV4 value 1 Pass
LEAD_VLAN_ARP_OR_ND_SNOOPING_ENABLED_IPV6 value 1 Pass
LEAD_VLAN_BLOCK_L2_LEARN value 0 Pass
LEAD_VLAN_CONTENT_MATCHING_ENABLED value 0 Pass
LEAD_VLAN_DEST_MOD_INDEX_TVLAN_LE value 0 Pass
LEAD_VLAN_DHCP_SNOOPING_ENABLED_IPV4 value 1 Pass
LEAD_VLAN_DHCP_SNOOPING_ENABLED_IPV6 value 1 Pass
LEAD_VLAN_ENABLE_SECURE_VLAN_LEARNING_IPV4 value 0 Pass
LEAD_VLAN_ENABLE_SECURE_VLAN_LEARNING_IPV6 value 0 Pass
LEAD_VLAN_EPOCH value 0 Pass
LEAD_VLAN_L2_PROCESSING_STP_TCN value 0 Pass
LEAD_VLAN_L2FORWARD_IPV4_MULTICAST_PKT value 0 Pass
LEAD_VLAN_L2FORWARD_IPV6_MULTICAST_PKT value 0 Pass
LEAD_VLAN_L3_IF_LE_INDEX_PRIO value 0 Pass
LEAD_VLAN_L3IF_LE_INDEX value 0 Pass
LEAD_VLAN_LOOKUP_VLAN value 15 Pass
LEAD_VLAN_MCAST_LOOKUP_VLAN value 15 Pass
LEAD_VLAN_RIET_OFFSET value 4095 Pass
LEAD_VLAN_SNOOPING_FLOODING_ENABLED_IGMP_OR_MLD_IPV4 value 1 Pass
LEAD_VLAN_SNOOPING_FLOODING_ENABLED_IGMP_OR_MLD_IPV6 value 1 Pass
LEAD_VLAN_SNOOPING_PROCESSING_STP_TCN_IGMP_OR_MLD_IPV4 value 0 Pass
LEAD_VLAN_SNOOPING_PROCESSING_STP_TCN_IGMP_OR_MLD_IPV6 value 0 Pass
LEAD_VLAN_VLAN_CLIENT_LABEL value 0 Pass
LEAD_VLAN_VLAN_CONFIG value 0 Pass
LEAD_VLAN_VLAN_FLOOD_ENABLED value 0 Pass
LEAD_VLAN_VLAN_ID_VALID value 1 Pass
LEAD_VLAN_VLAN_LOAD_BALANCE_GROUP value 15 Pass
LEAD_VLAN_VLAN_ROLE value 2 Pass
LEAD_VLAN_VLAN_FLOOD_MODE_BITS value 3 Pass
LEAD_VLAN_LVX_VLAN value 0 Pass
LEAD_VLAN_EGRESS_DEJAVU_CANON value 0 Pass
LEAD_VLAN_EGRESS_INGRESS_VLAN_MODE value 0 Pass
LEAD_VLAN_EGRESS_LOOKUP_VLAN value 0 Pass
LEAD_VLAN_EGRESS_LVX_VLAN value 0 Pass
LEAD_VLAN_EGRESS_SGACL_DISABLED value 3 Pass
LEAD_VLAN_EGRESS_VLAN_CLIENT_LABEL value 0 Pass
LEAD_VLAN_EGRESS_VLAN_ID_VALID value 1 Pass
LEAD_VLAN_EGRESS_VLAN_LOAD_BALANCE_GROUP value 15 Pass
LEAD_VLAN_EGRESS_INTRA_POD_BCAST value 0 Pass
LEAD_VLAN_EGRESS_DHCP_SNOOPING_ENABLED_IPV4 value 1 Pass
LEAD_VLAN_EGRESS_DHCP_SNOOPING_ENABLED_IPV6 value 1 Pass
LEAD_VLAN_EGRESS_VXLAN_FLOOD_MODE value 0 Pass
LEAD_VLAN_MAX value 0 Pass
<SNIP>
次の表に、実稼働中のネットワークでDHCPパケットのパスをトレースするために使用できる、一般的なPunject show/debugコマンドを示します。
一般的なパント/インジェクトのshowおよびdebugコマンド |
debug plat soft fed swit acti inject add-filter cause 255 sub_cause 0 src_mac 0 0 0 dst_mac 0 0 0 src_ipv4 192.168.12.1 dst_ipv4 0.0.0.0 if_id 0xf set platform software trace fed [switch<num|active|standby>] inject verbose — >表示されるfilterコマンドを使用して、トレースをこの特定のホストに送ります set platform software trace fed [switch<num|active|standby>] inject debug boot — >リロード用 set platform software trace fed [switch<num|active|standby>] punt noise show platform software fed [switch<num|active|standby>]インジェクション原因の概要 show platform software fed [switch<num|active|standby>]パント原因の概要 show platform software fed [switch<num|active|standby>] inject cpuq 0 show platform software fed [switch<num|active|standby>] punt cpuq 17 (dhcp queue) show platform software fed [switch<num|active|standby>] active inject packet-capture det show platform software infrastructure inject(プラットフォームのソフトウェアインフラストラクチャ挿入) プラットフォームソフトウェアインフラストラクチャパントの表示 show platform software infrastructure lsmpiドライバ debug platform software infra punt dhcp debug platform software infra inject(登録ユーザ専用) |
これらのコマンドは、特定のクライアントに対してDHCPパケットが受信されているかどうかを確認するのに役立ちます。
注:これらのコマンドは、Cisco IOS XE Gibraltar 16.12.Xから使用できます。
switch#show platform dhcpsnooping client stats {mac-address} |
switch#show platform dhcpv6snooping ipv6 client stats {mac-address} |
C9300#show platform dhcpsnooping client stats 0000.1AC2.C148 DHCPSN: DHCP snooping server DHCPD: DHCP protocol daemen L2FWD: Transmit Packet to driver in L2 format FWD: Transmit Packet to driver Packet Trace for client MAC 0000.1AC2.C148: Timestamp Destination MAC Destination Ip VLAN Message Handler:Action -------------------- ---------------- --------------- ---- ------------ -------------- 06-27-2019 20:48:28 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPDISCOVER PUNT:RECEIVED 06-27-2019 20:48:28 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPDISCOVER PUNT:TO_DHCPSN 06-27-2019 20:48:28 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPDISCOVER BRIDGE:RECEIVED 06-27-2019 20:48:28 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPDISCOVER BRIDGE:TO_DHCPD 06-27-2019 20:48:28 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPDISCOVER BRIDGE:TO_INJECT 06-27-2019 20:48:28 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPDISCOVER L2INJECT:TO_FWD 06-27-2019 20:48:28 0000.0000.0000 192.168.1.1 0 DHCPDISCOVER INJECT:RECEIVED 06-27-2019 20:48:28 0000.0000.0000 192.168.1.1 0 DHCPDISCOVER INJECT:TO_L2FWD 06-27-2019 20:48:30 0000.0000.0000 10.1.1.3 0 DHCPOFFER INJECT:RECEIVED 06-27-2019 20:48:30 0000.1AC2.C148 10.1.1.3 0 DHCPOFFER INTERCEPT:RECEIVED 06-27-2019 20:48:30 0000.1AC2.C148 10.1.1.3 88 DHCPOFFER INTERCEPT:TO_DHCPSN 06-27-2019 20:48:30 0000.1AC2.C148 10.1.1.3 88 DHCPOFFER INJECT:CONSUMED 06-27-2019 20:48:30 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPREQUEST PUNT:RECEIVED 06-27-2019 20:48:30 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPREQUEST PUNT:TO_DHCPSN 06-27-2019 20:48:30 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPREQUEST BRIDGE:RECEIVED 06-27-2019 20:48:30 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPREQUEST BRIDGE:TO_DHCPD 06-27-2019 20:48:30 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPREQUEST BRIDGE:TO_INJECT 06-27-2019 20:48:30 FFFF.FFFF.FFFF 255.255.255.255 88 DHCPREQUEST L2INJECT:TO_FWD 06-27-2019 20:48:30 0000.0000.0000 192.168.1.1 0 DHCPREQUEST INJECT:RECEIVED 06-27-2019 20:48:30 0000.0000.0000 192.168.1.1 0 DHCPREQUEST INJECT:TO_L2FWD 06-27-2019 20:48:30 0000.0000.0000 10.1.1.3 0 DHCPACK INJECT:RECEIVED 06-27-2019 20:48:30 0000.1AC2.C148 10.1.1.3 0 DHCPACK INTERCEPT:RECEIVED 06-27-2019 20:48:30 0000.1AC2.C148 10.1.1.3 88 DHCPACK INTERCEPT:TO_DHCPSN
トレースをクリアするには、次のコマンドを使用します。
switch#clear platform dhcpsnooping pkt-trace ipv4 |
switch#clear platform dhcpsnooping pkt-trace ipv6 |
DHCPスヌーピングパケットが到着し、コントロールプレーンを正常に終了するかどうかを確認します。
注:フォワーディングエンジンドライバCPUキャプチャツールの使用方法に関するその他の参考資料については、「参考資料」のセクションを参照してください。
debug platform software fed [switch<num|active|standby>] punt/inject packet-capture start
debug platform software fed [switch<num|active|standby>] punt/inject packet-capture stop
show platform software fed [switch<num|active|standby>] punt/inject packet-capture brief
### PUNT ###
DISCOVER
------ Punt Packet Number: 16, Timestamp: 2021/04/14 19:10:09.924 ------
interface : physical: FortyGigabitEthernet1/0/2[if-id: 0x0000000a], pal: FortyGigabitEthernet1/0/2 [if-id: 0x0000000a]
metadata : cause: 79 [dhcp snoop], sub-cause: 11, q-no: 17, linktype: MCP_LINK_TYPE_IP [1]
ether hdr : dest mac: ffff.ffff.ffff, src mac: 00a3.d144.2046
ether hdr : ethertype: 0x0800 (IPv4)
ipv4 hdr : dest ip: 255.255.255.255, src ip: 0.0.0.0
ipv4 hdr : packet len: 347, ttl: 255, protocol: 17 (UDP)
udp hdr : dest port: 67, src port: 68
OFFER
------ Punt Packet Number: 23, Timestamp: 2021/04/14 19:10:11.926 ------
interface : physical: FortyGigabitEthernet1/0/10[if-id: 0x00000012], pal: FortyGigabitEthernet1/0/10 [if-id: 0x00000012]
metadata : cause: 79 [dhcp snoop], sub-cause: 11, q-no: 17, linktype: MCP_LINK_TYPE_IP [1]
ether hdr : dest mac: ffff.ffff.ffff, src mac: 701f.539a.fe46
ether hdr : vlan: 10, ethertype: 0x8100
ipv4 hdr : dest ip: 255.255.255.255, src ip: 10.0.0.1
ipv4 hdr : packet len: 330, ttl: 255, protocol: 17 (UDP)
udp hdr : dest port: 68, src port: 67
REQUEST
------ Punt Packet Number: 24, Timestamp: 2021/04/14 19:10:11.927 ------
interface : physical: FortyGigabitEthernet1/0/2[if-id: 0x0000000a], pal: FortyGigabitEthernet1/0/2 [if-id: 0x0000000a]
metadata : cause: 79 [dhcp snoop], sub-cause: 11, q-no: 17, linktype: MCP_LINK_TYPE_IP [1]
ether hdr : dest mac: ffff.ffff.ffff, src mac: 00a3.d144.2046
ether hdr : ethertype: 0x0800 (IPv4)
ipv4 hdr : dest ip: 255.255.255.255, src ip: 0.0.0.0
ipv4 hdr : packet len: 365, ttl: 255, protocol: 17 (UDP)
udp hdr : dest port: 67, src port: 68
ACK
------ Punt Packet Number: 25, Timestamp: 2021/04/14 19:10:11.929 ------
interface : physical: FortyGigabitEthernet1/0/10[if-id: 0x00000012], pal: FortyGigabitEthernet1/0/10 [if-id: 0x00000012]
metadata : cause: 79 [dhcp snoop], sub-cause: 11, q-no: 17, linktype: MCP_LINK_TYPE_IP [1]
ether hdr : dest mac: ffff.ffff.ffff, src mac: 701f.539a.fe46
ether hdr : vlan: 10, ethertype: 0x8100
ipv4 hdr : dest ip: 255.255.255.255, src ip: 10.0.0.1
ipv4 hdr : packet len: 330, ttl: 255, protocol: 17 (UDP)
udp hdr : dest port: 68, src port: 67
### INJECT ###
DISCOVER
------ Inject Packet Number: 33, Timestamp: 2021/04/14 19:53:01.273 ------
interface : pal: FortyGigabitEthernet1/0/2 [if-id: 0x0000000a]
metadata : cause: 25 [Layer2 frame to BD], sub-cause: 1, q-no: 0, linktype: MCP_LINK_TYPE_IP [1]
ether hdr : dest mac: ffff.ffff.ffff, src mac: 00a3.d144.2046
ether hdr : ethertype: 0x0800 (IPv4)
ipv4 hdr : dest ip: 255.255.255.255, src ip: 0.0.0.0
ipv4 hdr : packet len: 347, ttl: 255, protocol: 17 (UDP)
udp hdr : dest port: 67, src port: 68
OFFER
------ Inject Packet Number: 51, Timestamp: 2021/04/14 19:53:03.275 ------
interface : pal: FortyGigabitEthernet1/0/2 [if-id: 0x0000000a]
metadata : cause: 1 [L2 control/legacy], sub-cause: 0, q-no: 0, linktype: MCP_LINK_TYPE_LAYER2 [10]
ether hdr : dest mac: ffff.ffff.ffff, src mac: 701f.539a.fe46
ether hdr : ethertype: 0x0800 (IPv4)
ipv4 hdr : dest ip: 255.255.255.255, src ip: 10.0.0.1
ipv4 hdr : packet len: 330, ttl: 255, protocol: 17 (UDP)
udp hdr : dest port: 68, src port: 67
REQUEST
------ Inject Packet Number: 52, Timestamp: 2021/04/14 19:53:03.276 ------
interface : pal: FortyGigabitEthernet1/0/2 [if-id: 0x0000000a]
metadata : cause: 25 [Layer2 frame to BD], sub-cause: 1, q-no: 0, linktype: MCP_LINK_TYPE_IP [1]
ether hdr : dest mac: ffff.ffff.ffff, src mac: 00a3.d144.2046
ether hdr : ethertype: 0x0800 (IPv4)
ipv4 hdr : dest ip: 255.255.255.255, src ip: 0.0.0.0
ipv4 hdr : packet len: 365, ttl: 255, protocol: 17 (UDP)
udp hdr : dest port: 67, src port: 68
ACK
------ Inject Packet Number: 53, Timestamp: 2021/04/14 19:53:03.278 ------
interface : pal: FortyGigabitEthernet1/0/2 [if-id: 0x0000000a]
metadata : cause: 1 [L2 control/legacy], sub-cause: 0, q-no: 0, linktype: MCP_LINK_TYPE_LAYER2 [10]
ether hdr : dest mac: ffff.ffff.ffff, src mac: 701f.539a.fe46
ether hdr : ethertype: 0x0800 (IPv4)
ipv4 hdr : dest ip: 255.255.255.255, src ip: 10.0.0.1
ipv4 hdr : packet len: 330, ttl: 255, protocol: 17 (UDP)
udp hdr : dest port: 68, src port: 67
これらは、プロセスまたはコンポーネントごとのイベントを表示するバイナリトレースです。この例では、トレースはDHCPSNコンポーネントに関する情報を示します。
9500#request platform software trace rotate all
9500#set platform software trace fed [switch<num|active|standby>] dhcpsn verbose
c9500#show logging proc fed internal | inc dhcp <<---- DI_Handle must match with the output which retrieves the DI handle
2021/04/14 19:24:19.159536 {fed_F0-0}{1}: [dhcpsn] [17035]: (info): VLAN event on vlan 10, enabled 1
2021/04/14 19:24:19.159975 {fed_F0-0}{1}: [dhcpsn] [17035]: (debug): Program trust ports for this vlan
2021/04/14 19:24:19.159978 {fed_F0-0}{1}: [dhcpsn] [17035]: (debug): GPN (10) if_id (0x0000000000000012) <<---- if_id must match with the TRUSTED port
2021/04/14 19:24:19.160029 {fed_F0-0}{1}: [dhcpsn] [17035]: (debug): trusted_if_q size=1 for vlan=10
2021/04/14 19:24:19.160041 {fed_F0-0}{1}: [dhcpsn] [17035]: (ERR): update ri has failed vlanid[10]
2021/04/14 19:24:19.160042 {fed_F0-0}{1}: [dhcpsn] [17035]: (debug): vlan mode changed to enable
2021/04/14 19:24:27.507358 {fed_F0-0}{1}: [dhcpsn] [23451]: (debug): get di for vlan_id 10
2021/04/14 19:24:27.507365 {fed_F0-0}{1}: [dhcpsn] [23451]: (debug): Allocated rep_ri for vlan_id 10
2021/04/14 19:24:27.507366 {fed_F0-0}{1}: [inject] [23451]: (verbose): Changing di_handle from 0x7f7fac36b408 to 0x7f7fac23e438 by dhcp snooping
2021/04/14 19:24:27.507394 {fed_F0-0}{1}: [inject] [23451]: (debug): TX: getting REP RI from dhcpsn failed for egress vlan 10
2021/04/14 19:24:29.511774 {fed_F0-0}{1}: [dhcpsn] [23451]: (debug): get di for vlan_id 10
2021/04/14 19:24:29.511780 {fed_F0-0}{1}: [dhcpsn] [23451]: (debug): Allocated rep_ri for vlan_id 10
2021/04/14 19:24:29.511780 {fed_F0-0}{1}: [inject] [23451]: (verbose): Changing di_handle from 0x7f7fac36b408 to 0x7f7fac23e438 by dhcp snooping
2021/04/14 19:24:29.511802 {fed_F0-0}{1}: [inject] [23451]: (debug): TX: getting REP RI from dhcpsn failed for egress vlan 10
c9500#set platform software trace fed [switch<num|active|standby>] asic_app verbose
c9500#show logging proc fed internal | inc dhcp
2021/04/14 20:13:56.742637 {fed_F0-0}{1}: [dhcpsn] [17035]: (info): VLAN event on vlan 10, enabled 0
2021/04/14 20:13:56.742783 {fed_F0-0}{1}: [dhcpsn] [17035]: (debug): vlan mode changed to disable
2021/04/14 20:14:13.948214 {fed_F0-0}{1}: [dhcpsn] [17035]: (info): VLAN event on vlan 10, enabled 1
2021/04/14 20:14:13.948686 {fed_F0-0}{1}: [dhcpsn] [17035]: (debug): Program trust ports for this vlan
2021/04/14 20:14:13.948688 {fed_F0-0}{1}: [dhcpsn] [17035]: (debug): GPN (10) if_id (0x0000000000000012) <<---- if_id must match with the TRUSTED port
2021/04/14 20:14:13.948740 {fed_F0-0}{1}: [dhcpsn] [17035]: (debug): trusted_if_q size=1 for vlan=10
2021/04/14 20:14:13.948753 {fed_F0-0}{1}: [dhcpsn] [17035]: (ERR): update ri has failed vlanid[10]
2021/04/14 20:14:13.948754 {fed_F0-0}{1}: [dhcpsn] [17035]: (debug): vlan mode changed to enable
Suggested Traces
set platform software trace fed [switch<num|active|standby>] pm_tdl verbose
set platform software trace fed [switch<num|active|standby>] pm_vec verbose
set platform software trace fed [switch<num|active|standby>] pm_vlan verbose
INJECT
set platform software trace fed [switch<num|active|standby>] dhcpsn verbose
set platform software trace fed [switch<num|active|standby>] asic_app verbose
set platform software trace fed [switch<num|active|standby>] inject verbose
PUNT
set platform software trace fed [switch<num|active|standby>] dhcpsn verbose
set platform software trace fed [switch<num|active|standby>] asic_app verbse
set platform software trace fed [switch<num|active|standby>] punt ver
DHCPレート制限の違反。
説明:DHCPスヌーピングが、指定されたインターフェイスでDHCPパケットのレート制限違反を検出しました。
%DHCP_SNOOPING-4-DHCP_SNOOPING_ERRDISABLE_WARNING: DHCP Snooping received 300 DHCP packets on interface Fa0/2
%DHCP_SNOOPING-4-DHCP_SNOOPING_RATE_LIMIT_EXCEEDED: The interface Fa0/2 is receiving more than the threshold set
信頼できないポートでのDHCPサーバスプーフィング
説明:DHCPスヌーピング機能によって、信頼できないインターフェイスで許可されていない特定のタイプのDHCPメッセージが検出されました。これは、一部のホストがDHCPサーバとして動作しようとしていることを示しています。
%DHCP_SNOOPING-5-DHCP_SNOOPING_UNTRUSTED_PORT: DHCP_SNOOPING drop message on untrusted port, message type: DHCPOFFER, MAC sa: 5c5a.c7d6.9e1f
レイヤ2 MACアドレスがDHCP要求の内部MACアドレスと一致しない
説明: DHCPスヌーピング機能によってMACアドレスの検証が試行され、確認に失敗しました。イーサネットヘッダーの送信元MACアドレスが、DHCP要求メッセージのchaddrフィールドのアドレスと一致しない。 DHCPサーバでサービス拒否攻撃を実行しようとする悪意のあるホストが存在する可能性があります。
%DHCP_SNOOPING-5-DHCP_SNOOPING_MATCH_MAC_FAIL: DHCP_SNOOPING drop message because the chaddr doesn't match source mac, message type: DHCPINFORM, chaddr: 0000.0000.0000, MAC sa: 001c.4321.abcd
オプション82の挿入の問題
説明:DHCPスヌーピング機能が、信頼できないポートで許可されていないオプション値を持つDHCPパケットを検出しました。これは、一部のホストがDHCPリレーまたはサーバとして動作しようとしていることを示しています。
%DHCP_SNOOPING-5-DHCP_SNOOPING_NONZERO_GIADDR: DHCP_SNOOPING drop message with non-zero giaddr or option82 value on untrusted port
レイヤ2 MACアドレスが誤ったポートで受信された。
説明: DHCPスヌーピング機能が、ネットワーク内の別のホストに対してサービス拒否攻撃を実行しようとしているホストを検出しました。
%DHCP_SNOOPING-5-DHCP_SNOOPING_FAKE_INTERFACE: DHCP_SNNOPING drop message with mismatched source interface, the binding is not updated, message type: DHCPREQUEST, MAC sa: 0001.222.555.aaac
信頼できないインターフェイスで受信されたDHCPメッセージ。
説明:DHCPスヌーピング機能によって、信頼できないインターフェイスで許可されていない特定のタイプのDHCPメッセージが検出されました。これは、一部のホストがDHCPサーバとして動作しようとしていることを示しています。
%DHCP_SNOOPING-5-DHCP_SNOOPING_UNTRUSTED_PORT: DHCP_SNOOPING drop message on untrusted port: GigabitEthernet1/1, message type: DHCPOFFER, MAC sa: 1234.4567.abcd, vlan: 100, server IP: 10.0.0.1
DHCPスヌーピング転送に失敗しました。URLにアクセスできません。
説明: DHCPスヌーピングバインディングの転送に失敗しました。
%DHCP_SNOOPING-4-AGENT_OPERATION_FAILED: DHCP snooping binding transfer failed. Unable to access URL
Cisco Bug ID番号 |
説明 |
アップリンクetherchannelでDHCPスヌーピングの信頼が有効になっていると、DHCPは失敗します。 |
|
リロード後、DHCPスヌーピングデータベースが更新されない。 |
|
DHCPスヌーピングとポートチャネルまたはクロススタックアップリンクを使用してDHCPクライアントトラフィックをドロップする。 |
|
ip DHCPスヌーピングとデバイストラッキングのバインディングを解除します。 |
|
DHCPスヌーピングは、ip DHCPスヌーピング情報オプションallow-untrustedでDHCPオプション82パケットをドロップできる |
|
REPセグメントに変更があると、DHCPスヌーピングの信頼状態が切断されます。 |
|
DHCPサーバは、DHCP更新プロセス中にNAKパケットを送信します。 |
|
リロード時にDHCPスヌーピングデータベースからDHCPスヌーピングテーブルが更新されない |
DHCPスヌーピング統計情報CLI。
DHCPスヌーピングの統計情報を確認するためにSDAで使用できる新しいCLI。
注:Cisco SDアクセスファブリックエッジのDHCPプロセス/パケットフローとデコードについての詳細は、「関連情報」セクションのガイドを参照してください。
switch#show platform fabric border dhcp snooping ipv4 statistics |
スイッチ#show platform fabric border dhcp snooping ipv6 statistics |
SDA-9300-BORDER#show platform fabric border dhcp snooping ipv4 statistics Timestamp Source IP Destination IP Source Remote Locator Lisp Instance ID VLAN PROCESSED ERRORED Handler:Action ------------------- ---------- -------------- --------------------- ---------------- ----- --------- ------- ------------------- 08-05-2019 00:24:16 10.30.30.1 10.40.40.1 192.168.0.1 8189 88 10 0 PLATF_DHCP:RECEIVED 08-05-2019 00:24:16 10.30.30.1 10.40.40.1 192.168.0.1 8189 88 11 0 PLATF_DHCP:TO_GLEAN SDA-9300-BORDER#show platform fabric border dhcp snooping ipv6 statistics Timestamp Source IP Destination IP Source Remote Locator Lisp Instance ID VLAN PROCESSED ERRORED Handler:Action ------------------- ---------------------- ---------------------- --------------------- ---------------- ---- --------- ------- ------------------- 08-05-2019 00:41:46 11:11:11:11:11:11:11:1 22:22:22:22:22:22:22:1 192.168.0.3 8089 120 12 0 PLATF_DHCP:RECEIVED 08-05-2019 00:41:47 11:11:11:11:11:11:11:1 22:22:22:22:22:22:22:1 192.168.0.3 8089 120 12 0 PLATF_DHCP:TO_GLEAN
『IP Addressing Services Configuration Guide, Cisco IOS XE Amsterdam 17.3.x』(Catalyst 9200スイッチ)
『IP Addressing Services Configuration Guide, Cisco IOS XE Amsterdam 17.3.x』(Catalyst 9300スイッチ)
『IP Addressing Services Configuration Guide, Cisco IOS XE Amsterdam 17.3.x』(Catalyst 9400スイッチ)
『IP Addressing Services Configuration Guide, Cisco IOS XE Amsterdam 17.3.x』(Catalyst 9500スイッチ)
『IP Addressing Services Configuration Guide, Cisco IOS XE Amsterdam 17.3.x』(Catalyst 9600スイッチ)
Cisco SDアクセスファブリックエッジのDHCPプロセス/パケットフローとデコード
Catalyst 9000スイッチでのFED CPUパケットキャプチャの設定
テクニカル サポートとドキュメント - Cisco Systems
改定 | 発行日 | コメント |
---|---|---|
3.0 |
12-Jun-2024 |
スタイルの要件と書式を更新。 |
2.0 |
09-May-2023 |
概要、機械翻訳、スタイルの要件、言語、ブランドの要件、スペルチェックと書式設定が更新されました。 |
1.0 |
06-Aug-2021 |
初版 |