H3C交换机端口不通排查实例
以 H3C S5570S 和 Comware V7 为例,从物理连接、IP-MAC-端口绑定、MAC 学习、VLAN、上联和网关逐步排查办公电脑端口不通。
本文以 H3C S5570S 系列和 Comware V7 为主要示例,只适用于本人拥有或已经明确授权管理的交换机。文中的地址、端口和 MAC 地址都是示例,使用时要换成现场实际信息。
一、现场场景
主办公区一台固定电脑接在 GigabitEthernet1/0/1,之前一直正常,今天突然无法访问 IPv4 和 IPv6 网关。同一 VLAN 的其他电脑没有报障,交换机上联使用 Bridge-Aggregation1,办公网是 VLAN 10。
遇到这种问题,我不会一上来删除端口配置,也不会先重启交换机。端口不通可能出在线缆、终端、安全绑定、VLAN、上联或网关,先检查更容易变化的项目,再补查原来已经正常的配置。
本次使用下面的示例:
| 项目 | 示例值 |
|---|---|
| 接入交换机 | HQ-Access-01 |
| 上级交换机 | HQ-Core-01 |
| 终端端口 | GigabitEthernet1/0/1 |
| 上联聚合接口 | Bridge-Aggregation1 |
| 办公网 VLAN | 10 |
| 终端 IPv4 | 192.168.10.11 |
| IPv4 网关 | 192.168.10.1 |
| 终端 IPv6 | 2001:db8:10::11 |
| IPv6 网关 | 2001:db8:10::1 |
| 终端 MAC | 00e0-fc12-3456 |
示例地址不能直接用于生产网络。排查前要从终端、DHCP 平台或网管系统取得真实 IP、MAC、接入端口和所属 VLAN。
二、排查目标
- 确认电脑、网线和交换机端口是否已经建立物理连接;
- 确认端口没有被关闭,速率、双工和错误计数没有异常;
- 确认 IP-MAC-端口绑定等安全策略仍与原电脑一致;
- 确认交换机能在正确端口和 VLAN 学到终端 MAC;
- 必要时再核对 Access VLAN 和上联 Trunk;
- 确认网关能学到终端的 IPv4 ARP 和 IPv6 邻居;
- 找到故障位置后只修改对应配置,并完成双栈验证。
三、先在电脑和现场做检查
先看电脑网卡是否启用、网线是否松动,再换一根确认正常的网线测试。本文端口配置了 IP-MAC-端口绑定,不能直接换另一台电脑接入测试,否则新电脑与原绑定不一致,本来就无法通过安全检查。
Windows 电脑上先执行:
# 查看网卡、IPv4、IPv6、网关和 DHCP 状态。
ipconfig /all
# 测试本机 TCP/IP。
ping 127.0.0.1
ping ::1
# 测试办公网 IPv4 和 IPv6 网关。
ping 192.168.10.1
ping 2001:db8:10::1
# 查看电脑当前记录的 IPv4 ARP 和 IPv6 邻居。
arp -a
netsh interface ipv6 show neighbors
如果电脑显示“网络电缆被拔出”,先处理网线、网卡和交换机物理端口。电脑已经取得地址但网关不通,再继续检查 VLAN、上联和安全策略。
还要问清楚故障范围:
- 只有一台电脑不通,优先检查终端、网线、接入口和绑定;
- 同一 VLAN 多台电脑同时不通,优先检查上联 Trunk、聚合和网关;
- IPv4 正常、IPv6 不通,重点检查终端 IPv6 地址、IPv6 网关、邻居表和 IPv6 安全策略;
- 内网正常、只有互联网不通,应继续检查网关、路由、防火墙和 DNS,不能只盯着交换机端口。
四、Comware V7 排查实例
1. 查看端口物理状态
先看端口简要状态和 Down 原因:
# 查看全部端口,确认 GE1/0/1 当前是 UP、DOWN 还是 ADM。
<HQ-Access-01> display interface brief
# 只查看 Down 端口及设备给出的原因。
<HQ-Access-01> display interface brief down
# 查看 1 号端口的详细状态、速率、双工、错误计数和最近一次抖动时间。
<HQ-Access-01> display interface GigabitEthernet 1/0/1
# 查看端口当前生效配置,确认是否存在 shutdown、限速或其他特殊设置。
<HQ-Access-01> display current-configuration interface GigabitEthernet 1/0/1
常见状态可以这样理解:
UP:网线和两端设备已经建立物理连接,但不代表 VLAN 和业务一定正常;DOWN:通常是没接线、网线损坏、对端网卡关闭或两端协商失败;ADM:端口被shutdown关闭,要先确认关闭原因,不能看到后直接开启;- 端口反复 Up/Down:重点检查水晶头、网线、网卡、模块和光纤。
如果故障出现在光口上联,例如 GigabitEthernet1/0/49,再检查光模块告警和收发光功率:
# 查看模块类型和基本信息。
<HQ-Access-01> display transceiver interface GigabitEthernet 1/0/49
# 查看丢光、收光过低等模块告警。
<HQ-Access-01> display transceiver alarm interface GigabitEthernet 1/0/49
# 查看模块支持的温度、电压、发送和接收光功率。
<HQ-Access-01> display transceiver diagnosis interface GigabitEthernet 1/0/49
普通电口没有光模块,不需要执行这三条命令。光功率是否正常要结合模块规格和设备显示的告警判断,不能只凭一个固定数值下结论。
2. 检查 IP-MAC-端口绑定和安全策略
前面的 Access 端口文章给固定终端配置过 IP-MAC-端口绑定。虽然本次没有更换电脑,也要先核对终端当前地址、网卡 MAC 和交换机绑定是否仍然一致,排除网卡维修、系统调整或绑定被误改等情况。
# 查看端口完整配置,确认是否启用了 IPv4/IPv6 Source Guard。
<HQ-Access-01> display current-configuration interface GigabitEthernet 1/0/1
# 查看这个端口的 IPv4 和 IPv6 静态绑定。
<HQ-Access-01> display ip source binding static interface GigabitEthernet 1/0/1
<HQ-Access-01> display ipv6 source binding static interface GigabitEthernet 1/0/1
# 查看端口安全状态、模式和已经学习的安全 MAC。
<HQ-Access-01> display port-security interface GigabitEthernet 1/0/1
# 查看端口入方向和出方向是否应用了报文过滤 ACL。
<HQ-Access-01> display packet-filter interface GigabitEthernet 1/0/1 inbound
<HQ-Access-01> display packet-filter interface GigabitEthernet 1/0/1 outbound
绑定中的 IP、MAC、VLAN 和实际端口必须全部对应当前终端。不能为了快速恢复网络就删除整套安全策略,应先记录实际信息,再修改确实错误的表项。
如果端口没有应用 ACL,不代表网络中没有 ACL。还要继续检查上级交换机的 VLAN 接口、路由接口和防火墙策略,并同时考虑 IPv4 与 IPv6。
3. 检查 MAC 地址学习
让电脑持续 ping 网关,同时在交换机上查看 MAC:
# 查看 1 号端口动态学习到的 MAC。
<HQ-Access-01> display mac-address dynamic interface GigabitEthernet 1/0/1
# 按终端 MAC 查询,确认 VLAN 和端口都正确。
<HQ-Access-01> display mac-address 00e0-fc12-3456 vlan 10
# 查看整个 VLAN 10 的 MAC,便于和正常终端对比。
<HQ-Access-01> display mac-address vlan 10
可以按下面的结果继续判断:
- 学不到任何 MAC:终端可能没有发包,也可能是网线、网卡、端口或安全策略有问题;
- MAC 学在 GE1/0/1、VLAN 10:接入口到终端这一段基本正常,继续查上联和网关;
- MAC 学在其他端口:先确认电脑是否接错位置,也要留意 MAC 地址漂移;
- MAC 出现在错误 VLAN:检查 Access VLAN、语音 VLAN、MAC VLAN 或其他动态分配配置。
不要为了“刷新”而直接清空整台交换机的 MAC 表。动态 MAC 会老化,也可以通过终端持续发包重新学习。
4. 必要时核对 Access VLAN
同一台电脑和端口之前正常,Access VLAN 一般不会自行改变,因此不用排在最前面。如果近期做过批量配置、配置恢复或端口调整,或者 MAC 出现在错误 VLAN,再重点核对:
# 查看端口是否为 Access,以及是否加入 VLAN 10。
<HQ-Access-01> display current-configuration interface GigabitEthernet 1/0/1
# 查看 VLAN 10 是否存在,以及 GE1/0/1 是否在未打标签端口列表中。
<HQ-Access-01> display vlan 10
本文的办公电脑端口应看到下面三项关键配置:
interface GigabitEthernet1/0/1
port link-type access
port access vlan 10
5. 检查聚合和 Trunk
如果同一 VLAN 多台电脑同时不通,或者接入口已经学到 MAC 但网关仍不通,就检查上联:
# 查看聚合接口和成员端口状态。
<HQ-Access-01> display link-aggregation summary
<HQ-Access-01> display link-aggregation verbose bridge-aggregation 1
# 查看聚合接口的 Trunk 配置。
<HQ-Access-01> display current-configuration interface Bridge-Aggregation1
# 查看所有 Trunk 的 PVID 和允许通过的 VLAN。
<HQ-Access-01> display port trunk
重点确认:
- 两个成员端口是否为
Selected; Bridge-Aggregation1是否为 Trunk;- Trunk 是否允许 VLAN 10;
- 接入交换机和上级交换机两端配置是否一致;
- VLAN 10 的 MAC 是否能在接入交换机上联和上级交换机下联方向继续学习。
只检查接入交换机不够,上级交换机 HQ-Core-01 也要执行相同的聚合、Trunk、VLAN 和 MAC 检查。
6. 检查 ARP 和 IPv6 邻居
这台接入交换机只在 Vlan-interface100 配置管理地址,没有 VLAN 10 的三层接口,因此它不一定会学习办公电脑的 ARP 和 IPv6 邻居。办公网的表项通常要到网关 HQ-Core-01 上查看:
# 在办公网网关上查看终端 IPv4 与 MAC 的对应关系。
<HQ-Core-01> display arp 192.168.10.11
# 在办公网网关上查看终端 IPv6 邻居。
<HQ-Core-01> display ipv6 neighbors 2001:db8:10::11
# 再按终端 MAC 查询,确认表项指向正确的 VLAN 和下联。
<HQ-Core-01> display mac-address 00e0-fc12-3456 vlan 10
接入交换机能学到 MAC,但网关没有 ARP 或 IPv6 邻居,通常说明数据没有到达网关、终端地址配置不对,或者中间安全策略丢弃了报文。
如果网关已经学到正确表项,电脑仍然不通,就继续检查网关接口、返回路径、防火墙和终端自身防火墙。不要把所有三层问题都归到接入端口。
7. 与正常端口对比
现场有正常电脑时,我会把故障端口和正常端口放在一起比较:
# 对比故障端口与正常端口的配置。
<HQ-Access-01> display current-configuration interface GigabitEthernet 1/0/1
<HQ-Access-01> display current-configuration interface GigabitEthernet 1/0/2
# 对比两个端口的详细状态和错误计数。
<HQ-Access-01> display interface GigabitEthernet 1/0/1
<HQ-Access-01> display interface GigabitEthernet 1/0/2
# 对比两个端口学习到的 MAC。
<HQ-Access-01> display mac-address dynamic interface GigabitEthernet 1/0/1
<HQ-Access-01> display mac-address dynamic interface GigabitEthernet 1/0/2
对比时只找与故障有关的差异,不要把正常端口的全部配置直接复制到故障端口。端口描述、绑定地址和终端用途本来就可能不同。
五、找到问题后的处理示例
1. 端口被误关闭
确认端口应当投入使用,而且没有环路或安全隔离要求后再开启:
<HQ-Access-01> system-view
[HQ-Access-01] interface GigabitEthernet 1/0/1
[HQ-Access-01-GigabitEthernet1/0/1] undo shutdown
[HQ-Access-01-GigabitEthernet1/0/1] return
2. Access VLAN 配错
确认 GE1/0/1 确实连接办公电脑后,把它加入 VLAN 10:
<HQ-Access-01> system-view
[HQ-Access-01] interface GigabitEthernet 1/0/1
[HQ-Access-01-GigabitEthernet1/0/1] port link-type access
[HQ-Access-01-GigabitEthernet1/0/1] port access vlan 10
[HQ-Access-01-GigabitEthernet1/0/1] return
3. 上联遗漏 VLAN 10
两端都确认 VLAN 10 应当通过后,再在对应聚合 Trunk 上补充:
# 接入交换机补充 VLAN 10。
<HQ-Access-01> system-view
[HQ-Access-01] interface Bridge-Aggregation1
[HQ-Access-01-Bridge-Aggregation1] port trunk permit vlan 10
[HQ-Access-01-Bridge-Aggregation1] return
# 上级交换机也要检查并补充同一 VLAN。
<HQ-Core-01> system-view
[HQ-Core-01] interface Bridge-Aggregation1
[HQ-Core-01-Bridge-Aggregation1] port trunk permit vlan 10
[HQ-Core-01-Bridge-Aggregation1] return
如果问题是 IP-MAC-端口绑定或 ACL,不建议照文章给一条通用删除命令。应根据实际终端信息修改对应表项,并保留原配置和变更记录。
六、Comware V5 配置差异
本文参考的 H3C S5500 Comware V5 Release 2208,端口、VLAN、MAC、ARP、IPv6 邻居和光模块的主要排查命令与 V7 基本一致:
# 查看端口状态、配置和 VLAN。
<HQ-Access-01> display interface brief
<HQ-Access-01> display interface GigabitEthernet 1/0/1
<HQ-Access-01> display current-configuration interface GigabitEthernet 1/0/1
<HQ-Access-01> display vlan 10
# 查看 MAC、IPv4 ARP 和 IPv6 邻居。
<HQ-Access-01> display mac-address interface GigabitEthernet 1/0/1
<HQ-Core-01> display arp 192.168.10.11
<HQ-Core-01> display ipv6 neighbors 2001:db8:10::11
# 光口故障时查看模块告警和诊断参数。
<HQ-Access-01> display transceiver alarm interface GigabitEthernet 1/0/49
<HQ-Access-01> display transceiver diagnosis interface GigabitEthernet 1/0/49
# 查看接口入方向应用的 ACL。
<HQ-Access-01> display packet-filter interface GigabitEthernet 1/0/1 inbound
Release 2208 支持 IPv4 和 IPv6 IP Source Guard,排查绑定时应分别查看对应表项。不同 S5500 子型号的功能范围可能不同,不能把其他 V5 型号的结果直接套用到现场设备。
七、验证方法
处理完成后先确认交换机状态:
# 确认端口为 UP、Access VLAN 为 10。
<HQ-Access-01> display interface GigabitEthernet 1/0/1 brief
<HQ-Access-01> display current-configuration interface GigabitEthernet 1/0/1
<HQ-Access-01> display vlan 10
# 确认终端 MAC 学在 GE1/0/1 和 VLAN 10。
<HQ-Access-01> display mac-address 00e0-fc12-3456 vlan 10
# 确认聚合成员正常,Trunk 允许 VLAN 10。
<HQ-Access-01> display link-aggregation verbose bridge-aggregation 1
<HQ-Access-01> display port trunk
# 在网关确认 IPv4 ARP 和 IPv6 邻居。
<HQ-Core-01> display arp 192.168.10.11
<HQ-Core-01> display ipv6 neighbors 2001:db8:10::11
再从电脑完成端到端测试:
# 确认地址、网关和 DNS 已经恢复正确。
ipconfig /all
# 分别测试 IPv4 和 IPv6 网关。
ping 192.168.10.1
ping 2001:db8:10::1
# 网关正常后,再测试公司内网服务器。
ping 192.168.100.30
网关正常后,还要打开公司实际使用的内网系统,单独验证 DNS 时应查询公司的内网域名。端口变成 UP 只是第一步,终端地址正确、MAC 学习正确、双栈网关可达、实际业务恢复,才能说明故障处理完成。
八、常见误区
1. 看到端口 Down 就执行 undo shutdown
DOWN 和 ADM 不是一回事。没有接线的端口执行 undo shutdown 也不会变成 UP;原本因安全或环路被关闭的端口,更不能直接开启。
2. 端口 UP 就认为交换机没问题
UP 只说明物理连接建立。VLAN 配错、Trunk 未放行、绑定不匹配时,端口仍然可以显示 UP。
3. 接入交换机没有 ARP 就判断故障
二层接入交换机没有业务 VLAN 的三层接口时,不负责学习该 VLAN 终端的 ARP。应到真正的网关上查看 ARP 和 IPv6 邻居。
4. 为了测试直接删除 ACL 和绑定
这样可能让未授权终端接入网络,也会破坏现场证据。先记录命中策略和实际终端信息,再按审批修改对应规则。
5. 只测试 IPv4
双栈终端可能出现 IPv4 正常、IPv6 异常。地址、网关、邻居和安全策略都要分别验证。
九、回退方法
排障前先保存故障端口和上联接口的原配置。修改后业务仍未恢复,或影响其他终端时,应按记录恢复原值。
例如端口原来属于 VLAN 20,本次临时改成 VLAN 10,回退时执行:
<HQ-Access-01> system-view
[HQ-Access-01] interface GigabitEthernet 1/0/1
[HQ-Access-01-GigabitEthernet1/0/1] port access vlan 20
[HQ-Access-01-GigabitEthernet1/0/1] return
如果在 Trunk 上新增了 VLAN 10,而现场确认不应放行,需要在接入交换机和上级交换机两端撤销:
<HQ-Access-01> system-view
[HQ-Access-01] interface Bridge-Aggregation1
[HQ-Access-01-Bridge-Aggregation1] undo port trunk permit vlan 10
[HQ-Access-01-Bridge-Aggregation1] return
<HQ-Core-01> system-view
[HQ-Core-01] interface Bridge-Aggregation1
[HQ-Core-01-Bridge-Aggregation1] undo port trunk permit vlan 10
[HQ-Core-01-Bridge-Aggregation1] return
回退后重新检查受影响 VLAN 和终端,不要只验证最初报障的一台电脑。
十、小结
这个案例中,同一台电脑和端口之前正常,所以我先检查物理连接、IP-MAC-端口绑定和 MAC 学习,再补查 Access VLAN、聚合与 Trunk、网关邻居。
单台终端故障多从电脑、网线、接入口和绑定入手;同一 VLAN 多台终端同时故障,多检查上联、Trunk 和网关。找到原因后只修改对应配置,最后同时验证 IPv4、IPv6 和实际业务。
本文整理的是一套标准检查流程,适合在端口不通时逐项缩小范围。真实网络通常会更复杂,还可能涉及无线接入、认证系统、防火墙、DHCP、环路保护和其他安全策略。现场排查时不能机械照抄顺序,要根据故障范围、最近的变更和设备日志调整检查重点。
十一、完整排查命令汇总
下面汇总本文的 Comware V7 排查命令。接口、VLAN、地址和 MAC 必须换成现场实际值。
# 一、检查物理端口。
<HQ-Access-01> display interface brief
<HQ-Access-01> display interface brief down
<HQ-Access-01> display interface GigabitEthernet 1/0/1
<HQ-Access-01> display current-configuration interface GigabitEthernet 1/0/1
# 二、检查 IPv4/IPv6 绑定和接口安全策略。
<HQ-Access-01> display ip source binding static interface GigabitEthernet 1/0/1
<HQ-Access-01> display ipv6 source binding static interface GigabitEthernet 1/0/1
<HQ-Access-01> display port-security interface GigabitEthernet 1/0/1
<HQ-Access-01> display packet-filter interface GigabitEthernet 1/0/1 inbound
<HQ-Access-01> display packet-filter interface GigabitEthernet 1/0/1 outbound
# 三、检查 MAC 学习。
<HQ-Access-01> display mac-address dynamic interface GigabitEthernet 1/0/1
<HQ-Access-01> display mac-address 00e0-fc12-3456 vlan 10
<HQ-Access-01> display mac-address vlan 10
# 四、必要时核对 Access VLAN。
<HQ-Access-01> display current-configuration interface GigabitEthernet 1/0/1
<HQ-Access-01> display vlan 10
# 五、检查聚合和 Trunk。
<HQ-Access-01> display link-aggregation summary
<HQ-Access-01> display link-aggregation verbose bridge-aggregation 1
<HQ-Access-01> display current-configuration interface Bridge-Aggregation1
<HQ-Access-01> display port trunk
# 六、在真正的办公网网关上检查三层表项。
<HQ-Core-01> display arp 192.168.10.11
<HQ-Core-01> display ipv6 neighbors 2001:db8:10::11
<HQ-Core-01> display mac-address 00e0-fc12-3456 vlan 10
# 七、光口故障时再检查模块。
<HQ-Access-01> display transceiver interface GigabitEthernet 1/0/49
<HQ-Access-01> display transceiver alarm interface GigabitEthernet 1/0/49
<HQ-Access-01> display transceiver diagnosis interface GigabitEthernet 1/0/49