在H3C Cloud Lab里折腾SRv6 TE Policy:一个网络工程师的踩坑实录与配置复盘
在H3C Cloud Lab里折腾SRv6 TE Policy一个网络工程师的踩坑实录与配置复盘第一次在H3C Cloud Lab里配置SRv6 TE Policy时我本以为按照文档步骤操作就能轻松实现流量工程结果却遭遇了各种意想不到的问题。这篇文章不是一份标准化的配置指南而是一个真实的技术探索过程记录——从最初的拓扑规划到最终的问题诊断我想分享那些官方手册里不会写的坑和排查思路。如果你也正在学习SRv6技术或许这些经验能帮你少走些弯路。1. 实验环境搭建与前期规划在开始敲命令之前合理的拓扑设计是成功的一半。我选择了五台VSR设备组成核心-边缘架构模拟典型的企业骨干网场景。这个规模既能体现SRv6 TE Policy的价值又不会让实验过于复杂。关键规划点包括所有设备配置OSPFv3作为IGP协议区域0统一采用0.0.0.0每个节点分配/128的环回口地址2001::X/128作为Router-ID和SRv6封装源物理接口使用/124的IPv6地址段遵循X.Y.Z::N的编址规则如2013::/124表示1-3号设备间的链路提示在模拟器环境中建议先保存基础配置快照这样当SRv6部分出现问题时可以快速回退到已知正常状态。配置OSPFv3时遇到第一个小插曲——不同设备对接口模式的默认处理方式不同。例如在VSR-88_2上需要显式配置[VSR-88_2]interface GigabitEthernet0/0/0 [VSR-88_2-GigabitEthernet0/0/0] port link-mode route而其他设备可能默认就是路由模式。这个细节如果不注意会导致邻居关系无法建立但错误提示并不直观。2. SRv6基础配置与Locator设计SRv6的核心在于SIDSegment ID的分配策略。我采用了AB的Locator命名方案A100::/96 → VSR-88_1A200::/96 → VSR-88_2...A500::/96 → VSR-88_5这种命名方式在查看路由表时特别有用一眼就能识别SID归属。每个Locator的静态部分分配16位为后续可能的扩展留出空间。节点SID配置示例[VSR-88_1]segment-routing ipv6 [VSR-88_1-segment-routing-ipv6] locator h3c ipv6-prefix A100:: 96 static 16 [VSR-88_1-segment-routing-ipv6-locator-h3c] opcode 1 end这里有个容易混淆的点opcode后面的数字只是本地标识符实际的SID由Locator前缀Function Value构成。比如上述配置生成的完整End SID是A100::1。3. TE Policy配置中的陷阱当基础SRv6 BEBest Effort工作正常后开始配置TE Policy。我的目标是让VSR1到VSR5的流量走特定路径VSR1→VSR3→VSR2→VSR4→VSR5。关键配置步骤创建Segment List定义路径建立Policy绑定color和end-point设置候选路径优先级[VSR-88_1-srv6-te] segment-list 1 [VSR-88_1-srv6-te-sl-1] index 10 ipv6 A300::1 # VSR3的End SID [VSR-88_1-srv6-te-sl-1] index 20 ipv6 A200::1 # VSR2的End SID [VSR-88_1-srv6-te-sl-1] index 30 ipv6 A400::1 # VSR4的End SID [VSR-88_1-srv6-te-sl-1] index 40 ipv6 A500::1 # VSR5的End SID查看Policy状态显示为UP路由表也显示路径有效但实际ping测试却完全不通。这是整个实验中最令人困惑的部分——所有配置看起来都正确为什么流量就是过不去4. 故障排查与问题定位通过系统日志和抓包分析发现问题出在几个关键环节抓包发现出方向设备确实生成了ICMP请求路径中的中间设备没有收到任何报文没有明显的错误计数器增加最终定位到两个核心问题H3C设备默认不会将私网路由迭代到End.DT4 SID需要额外命令[VSR-88_1-bgp-default-ipv4-h3c] segment-routing ipv6 traffic-engineeringVRF实例的RD值必须两端一致否则路由会被视为无效现象可能原因解决方案Policy UP但无流量路由未迭代检查BGP VPNv4配置部分节点不通SID分配冲突验证Locator唯一性偶发性丢包模拟器限制降低测试频率注意Cloud Lab作为模拟环境某些行为与真实设备存在差异。例如在物理设备上可能更早暴露MTU不匹配等问题。5. 实验收获与实用建议虽然最终没能实现端到端通信但这个失败的实验反而让我更深入理解了SRv6的数据平面运作机制。几点有价值的发现Color值的实际作用不仅用于策略选择还会影响BGP路由的优选过程SID可见性原则路径中每个节点都必须能解析所有SID包括End.DT4这类功能SID模拟器局限性某些高级特性如BSID在模拟环境中可能无法完全验证对于准备尝试SRv6 TE的工程师我的实操建议是先确保基础IPv6连通性和IGP正常工作分阶段验证BE→Policy→流量引导善用display segment-routing ipv6 local-sid命令检查SID分配在关键节点配置抓包时同时捕获IPv6头部和SRH扩展头这次实验最大的启示是网络技术的真正理解往往来自于对故障的排查过程而非完美的配置示例。那些看似失败的尝试反而是最宝贵的学习机会。