简介
本文档介绍如何对Cisco Catalyst 9500系列的LAN唤醒(WoL)功能进行故障排除和验证。
先决条件
要求
Cisco 建议您了解以下主题:
- Cisco Catalyst 9500系列交换机配置和架构。
- LAN交换概念,包括VLAN、SVI和端口通道。
- IPv4网络中的定向广播和网络广播概念。
- 使用Cisco monitor捕获功能和平台数据包转发CLI进行数据包捕获和分析。
- 基本熟悉故障排除工具,例如Wireshark和WoL的终端配置。
使用的组件
本文档中的信息基于以下软件和硬件版本:
- Cisco Catalyst 9500系列,型号C9500-48Y4C-A。
- Cisco Catalyst 9300系列,型号C9300-48T。
- WoL源和目标终端,包括VM和物理主机。
- Cisco IOS XE 17.12.4版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
LAN唤醒(WoL)是一种网络标准,它允许通过网络消息(通常称为“魔术数据包”)打开或唤醒计算机。
在思科LAN环境中,WoL通常依赖于VLAN和路由接口上正确转发UDP广播或定向广播数据包。
本文档中介绍的方法和工作流程对于排除Catalyst 9500系列交换机上的LAN唤醒问题非常有效。
从17.3.1开始,“IP定向广播”默认处于禁用状态,该行为在以下缺陷下记录:Cisco bug IDCSCvy85946.
此场景类似于源服务器和目标终端VLAN之间未按预期传送WoL数据包。
本文档提供用于验证、捕获和排除Catalyst 9500平台上的WoL数据包流的详细工作流程,包括所有相关的CLI命令、配置和详细的输出说明。
图1.网络拓扑图
故障排除
1.症状和初步分析
从服务器发送的WoL数据包(魔术数据包)未按预期唤醒终端设备。
故障排除过程包括验证数据包是否正在通过网络发送、接收和正确转发。
初始检查和命令有助于确认症状并收集基线数据,在SVI 10和20下添加了ip network-broadcast和ip directed-broadcast命令来解决问题:
步骤 1:验证接口和VLAN配置
c9500#show run int vlan 10
interface Vlan10
ip address 192.168.10.1 255.255.255.0
ip network-broadcast
ip directed-broadcasts
end
c9500#show run int vlan 20
interface Vlan20
ip address 192.168.20.1 255.255.255.0
ip network-broadcast
ip directed-broadcasts
end
注意:ip network-broadcast命令使入口接口能够接收并接受网络前缀定向的广播数据包。
ip directed-broadcast命令在接口上启用定向广播到物理广播转换
步骤 2:验证源的WoL数据包传输
c9500#sh ip arp 192.168.10.100
示例输出:
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.10.100 136 aaaa.aaaa.aaaa ARPA Vlan10
Switch1#show mac address-table address aaaa.aaaa.aaaa
示例输出:
Vlan Mac Address Type Ports
10 aaaa.aaaa.aaaa DYNAMIC Gi1/0/44
2.监控和捕获WoL数据包
要确认WoL数据包是否正确发送并通过网络,请使用监控器捕获功能并分析缓冲区内容。
步骤 1:在Switch1上配置并检查监控器捕获参数
Switch1#show mon cap cap parameter
示例输出:
monitor capture cap interface GigabitEthernet1/0/44 BOTH
monitor capture cap buffer size 100
monitor capture cap limit pps 1000
monitor capture cap match any
步骤 2:配置并检查9500交换机上的监控捕获参数:
c9500#show mon cap cap parameter
示例输出:
monitor capture cap control-plane BOTH
monitor capture cap buffer size 100
monitor capture cap limit pps 1000
monitor capture cap match any
注意:我们使用控制平面捕获,因为此流量需要传送到CPU进行进一步处理。
点击:入口协议控制数据包被DP截取,并发送到CP(CPU)进行处理
注入:CP(CPU)生成的协议数据包被发送到DP以在IO接口上传出
步骤 2:检查WoL数据包的缓冲区
Switch1#sh mon cap cap buffer brief | i 192.168.20.255
示例输出(多个实例显示可靠性):
3975 3.002758 192.168.10.100 -> 192.168.20.255 WOL 148 MagicPacket for bb:bb:bb:bb:bb:bb (bb:bb:bb:bb:bb:bb)
17103 16.246445 192.168.10.100 -> 192.168.20.255 ECHO 148 Request
...
15864 14.870272 192.168.10.100 -> 192.168.20.255 WOL 148 MagicPacket for bb:bb:bb:bb:bb:bb (bb:bb:bb:bb:bb:bb)
步骤 3:捕获并导出以进行详细分析
device#monitor capture cap export location flash:cap.cap
3.使用平台CLI分析数据包转发路径
使用平台硬件转发命令验证硬件如何处理和转发WoL数据包。
步骤 1:检查最后一个数据包的转发摘要
device#show platform hardware fed switch 1 forward last summary
输出摘录示例:
Input Packet Details:
###[ Ethernet ]###
dst = bb:bb:bb:bb:bb:bb
src=aa:aa:aa:aa:aa:aa
type = 0x8100
###[ 802.1Q ]###
vlan = 10
###[ IP ]###
src=192.168.10.100
dst = 192.168.20.255
proto = udp
###[ UDP ]###
sport = 56826
dport = discard
len = 110
chksum = 0x7813
###[ Raw ]###
load = 'FF FF FF FF FF FF 4C D7 17 86 13 A5 ...'
Egress:
Possible Replication:
Port : TenGigabitEthernet1/1/1
Output Packet Details:
Port : TenGigabitEthernet1/1/1
###[ Ethernet ]###
dst = bb:bb:bb:bb:bb:bb
src=aa:aa:aa:aa:aa:aa
type = 0x8100
...
此输出确认交换机硬件正在处理和转发WoL数据包。
步骤 2:验证分布层/核心层交换机上的数据包遍历
device#show platform hardware fed switch 2 forward last summary
输出示例(在分布交换机上):
Input Packet Details:
###[ Ethernet ]###
dst = bb:bb:bb:bb:bb:bb
src=aa:aa:aa:aa:aa:aa
type = 0x8100
###[ 802.1Q ]###
vlan = 10
###[ IP ]###
src=192.168.10.100
dst = 192.168.20.255
proto = udp
...
Output Packet Details:
Port : HundredGigE2/0/51
###[ Ethernet ]###
dst = bb:bb:bb:bb:bb:bb
src=aa:aa:aa:aa:aa:aa
type = 0x8100
...
这确认将WoL数据包转发到下一跳/核心交换机。
4.检验终端VLAN上的WoL数据包接收
检查终端VLAN是否收到该魔术数据包,且交换机未将其丢弃。使用数据包捕获和平台硬件命令。
步骤 1:监控到达目标VLAN的魔术数据包
device#sh mon cap cap buffer brief | i 192.168.20.255
示例输出:
15864 14.870272 192.168.10.100 -> 192.168.20.255 WOL 148 MagicPacket for bb:bb:bb:bb:bb:bb (bb:bb:bb:bb:bb:bb)
捕获中出现WoL数据包的一致表示通过网络成功传输。
5.终端和服务器注意事项
WoL功能还取决于正确的终端配置。在故障排除期间,发现数据包传输和接收可靠性可能受到服务器设置、终端就绪性或虚拟机监控程序限制(如果虚拟化)的影响。 建议在终端使用Wireshark等工具捕获数据包,以验证传输是否成功。
Wireshark捕获输出示例(汇总):
Ethernet II, Src: VMware_aa:aa:aa (aa:aa:aa:aa:aa:aa), Dst: Cisco_cc:cc:cc (bb:bb:bb:bb:bb:bb)
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.10.100, Dst: 192.168.20.255
User Datagram Protocol, Src Port: 63082, Dst Port: 9
UDP payload (102 bytes)
Discard Protocol
Data: ffffffffffff4cd7178667ed...
这确认在目的子网收到了幻数据包。
6.共同问题和补充意见
- 如果ASIC计数器中有丢弃或异常,则会出现不一致的WoL数据包传输。
- 由于控制平面策略(CoPP)或不正确的接口配置(例如,缺少
no ip redirects
),某些数据包被丢弃。
- 确保
ip directed-broadcast
启用对于WoL跨路由接口正常运行至关重要。
- 使用网络地址和广播地址进行测试有助于确定数据包的丢弃位置。
相关信息