交换机通过级联端口学到了不是直连设备的lldp信息,有没有大神遇到过这种情况,帮分析下原因和解决方法,谢谢。
(0)
正常 LLDP 规则:直连级联端口只会收到对端这一台设备的 LLDP 报文;
异常现象:交换机上联 / 级联端口,出现了下游第 2 台、第 3 台设备的 LLDP 邻居条目,相当于跨了一台设备学到远端设备 LLDP。
二、由高到低 6 个真实故障原因
原因 1:中间某台交换机没有禁用 LLDP 转发(最常见)
LLDP 报文目的 MAC:01-80-C2-00-00-0E,属于二层桥组播 MAC,默认交换机不会转发该组播(标准规定交换机透传时丢弃 LLDP 帧,避免跨设备扩散)。
如果中间交换机做了错误配置:
关闭了 LLDP、但是全局配置了 stp disable 关闭生成树;
配置了 lldp forwarding enable(华三 / 华为均有这条命令,开启后交换机转发收到的 LLDP 组播报文);
老旧交换机版本 BUG,没有对 0180.C200.000E 做隔离。
结果:B 交换机收到 A 的 LLDP,又原样转发给上游交换机 C,最终 C 的级联端口同时出现「直连 B + 远端 A」两条 LLDP 邻居。
原因 2:中间存在 HUB、傻瓜非管理交换机
傻瓜交换机 / HUB 是物理层广播设备,收到任何广播 / 组播全部泛洪转发。
接入层傻瓜交换机下联多台交换机 / AP,所有设备的 LLDP 报文都会被广播往上传递,导致上层汇聚端口学习到大量非直连 LLDP。
原因 3:链路单向不通(单通链路)引发迂回转发
两端级联端口物理 UP、但是二层单通(一端收不到对方报文):
端口速率 / 双工强制不一致、光模块故障,造成单向连通;
直连双方无法正常交互 LLDP;
LLDP 报文顺着二层环路 / 备用链路绕一圈传递上来,汇聚端口捕获下游更远设备的 LLDP 报文。
原因 4:Trunk 本征 VLAN 混乱 + 端口隔离失效
全网所有交换机 Trunk 接口的 Native VLAN 都为 VLAN1;
部分接入交换机开启了端口隔离,但隔离组未隔离 VLAN1;
LLDP 默认在 Native VLAN1 发送,LLDP 报文跨交换机透传扩散至上层。
原因 5:LLDP 老化残留(临时现象)
更换上联设备、插拔光纤后,旧设备 LLDP 表项 TTL 默认 120 秒老化,在这 2 分钟内端口同时存在新旧两台设备的 LLDP 信息。等待 2 分钟自动消失,不属于故障。
原因 6:透明防火墙、AC、负载均衡等旁挂设备转发 LLDP
透明模式防火墙、无线 AC、IPS 等安全设备默认不拦截二层组播,会透传 LLDP 报文,造成上游交换机学到穿过安全设备的远端交换机 LLDP。
三、分步排查定位(H3C 环境命令)
步骤 1:抓包确认报文来源
在异常级联端口抓包,查看异常 LLDP 报文的源 MAC:
plaintext
debug packet interface GigabitEthernet 1/0/24 inbound filter lldp
terminal monitor
异常 LLDP 的源 MAC = 下游第 2 台交换机 MAC → 确认是中间交换机转发了 LLDP。
步骤 2:全网排查是否开启了 LLDP 转发
逐台中间交换机查询:
plaintext
display current configuration | include lldp forwarding
只要出现 lldp forwarding enable,就是故障点,该交换机在转发 LLDP 报文。
步骤 3:检查链路是否单通
plaintext
display interface GigabitEthernet 1/0/24
# 查看Input/Output error、CRC错误,排查双工协商异常
display dldp interface GigabitEthernet 1/0/24
DLDP 状态不为two-way,代表链路单向不通。
步骤 4:确认全网 Native VLAN 规划
规范要求:全网 Trunk 本征 VLAN 禁止统一使用 VLAN1,每一段互联链路使用独立 Native VLAN,阻断 LLDP 跨设备扩散。
四、标准化解决方法(根治方案)
方案 1:全网关闭 LLDP 跨设备转发(核心修复)
所有交换机全局配置,禁止转发 LLDP 报文(大部分交换机默认就是关闭状态):
plaintext
system-view
undo lldp forwarding enable
作用:交换机收到其他设备发来的 LLDP 报文后直接丢弃,不会继续向上转发,从根源杜绝跨设备学习 LLDP。
方案 2:规范 Trunk 本征 VLAN,阻断 VLAN1 扩散
互联 Trunk 链路修改 Native VLAN 为业务隔离 VLAN(禁止全网统一 VLAN1 做本征 VLAN);
plaintext
interface GigabitEthernet 1/0/24
port link-type trunk
port trunk native vlan 4090
port trunk permit vlan all
接入交换机下联用户口,把 VLAN1 隔离,防止终端 LLDP 扩散。
方案 3:存在傻瓜 HUB 场景整改
把接入层傻瓜交换机替换成管理交换机;如果必须保留 HUB,在上层交换机对接 HUB 的接口配置:
plaintext
interface GigabitEthernet 1/0/1
lldp disable
关闭该接口 LLDP 接收,避免收到多台设备 LLDP。
方案 4:防止单通链路引发迂回 LLDP
级联接口全部开启 DLDP 单向链路检测:
plaintext
interface GigabitEthernet 1/0/24
dldp enable
dldp mode enhance
检测到单向链路自动关闭端口,杜绝环路迂回转发 LLDP。
方案 5:安全透明设备拦截 LLDP
在透明防火墙、AC 上配置 ACL,丢弃目的 MAC 0180.C200.000E 的 LLDP 组播报文,禁止透传。
五、标准加固最佳实践(避免再次出现)
全网统一:undo lldp forwarding enable(默认状态,不要开启转发);
互联 Trunk 分段使用不同 Native VLAN,杜绝 VLAN1 全域透传;
接入下联终端端口可关闭 LLDP:interface range GigabitEthernet 1/0/1 to 1/0/24 \ undo lldp enable;
所有级联上行接口开启 DLDP 增强模式,防单通环路。
六、补充原理总结
LLDP 设计初衷只在直连两台设备交互,交换机正常行为是收到别人的 LLDP 就丢弃,不转发;
出现非直连 LLDP,本质就是某一台中间设备错误转发了 LLDP 组播报文;
临时多条 LLDP 邻居只需等待 TTL(120s)老化即可消失,无需处理。
(0)
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论