mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-20 04:53:16 +08:00
增加知识文档
This commit is contained in:
parent
f3152acb88
commit
db1d89d83b
11 changed files with 1461 additions and 0 deletions
156
docs/ip-knowledge-base/zte/01_协议排障逻辑树/BGP/VPN跨域标签异常排查树.md
Normal file
156
docs/ip-knowledge-base/zte/01_协议排障逻辑树/BGP/VPN跨域标签异常排查树.md
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
# BGP VPN跨域标签异常排查树
|
||||
|
||||
## 现象:VRF路由下一跳为NULL或出接口为NULL
|
||||
|
||||
### 第零层排查:业务层连通性测试(起点!)
|
||||
|
||||
#### 子步骤0.1:Ping测业务地址
|
||||
- **命令**:`ping vrf <vrf-name> <dest-ip>`
|
||||
- **示例**:`ping vrf test 4.1.1.1`
|
||||
- **目的**:确认业务是否真正中断,区分是路由问题还是转发问题
|
||||
- **预期结果**:
|
||||
- 通 → 业务正常,无需进一步排查
|
||||
- 不通 → 进入下一步trace定位断点
|
||||
|
||||
#### 子步骤0.2:Trace定位路径
|
||||
- **命令**:`trace vrf <vrf-name> <dest-ip>`
|
||||
- **目的**:确定报文在哪一跳丢失,判断是本地问题还是远端问题
|
||||
- **典型场景**:
|
||||
- 第一跳就失败 → 本地VRF路由或直连问题
|
||||
- 中间某跳失败 → 该节点标签或IGP问题
|
||||
- 能到最后一跳但不通 → 对端CE设备或业务侧问题
|
||||
|
||||
---
|
||||
|
||||
### If `show ip forwarding route vrf <vrf-name>`显示Interface为NULL
|
||||
- **Then第一层排查:MPLS标签分配**
|
||||
- `show mpls forwarding-table <next-hop-ip>` → 查看Outgoing Label
|
||||
- 若为"no label"或"pop",说明LDP未分配标签
|
||||
|
||||
#### 子步骤1.1:检查LDP会话状态
|
||||
- `show mpls ldp neighbor brief instance <instance-id>` → 确认LDP邻居为Established
|
||||
- `show mpls ldp neighbor detail instance <id>` → 查看标签分发能力
|
||||
|
||||
#### 子步骤1.2:检查LDP策略配置(关键!)
|
||||
- `show running-config ldp` → 查找access-fec、fec-filter等过滤配置
|
||||
- `show mpls ldp binding instance <id>` → 查看实际分配的标签绑定
|
||||
- **常见陷阱**:`access-fec ip-prefix host-route-only`会强制LDP只给32位主机路由分配标签
|
||||
- **排障动作**:评估必要性,若非强制需求则去除该限制
|
||||
- **示例输出**:
|
||||
```
|
||||
!<ldp>
|
||||
mpls ldp instance 1
|
||||
access-fec ip-prefix host-route-only
|
||||
discovery hello holdtime 180
|
||||
discovery targeted-hello holdtime 180
|
||||
interface smartgroup1
|
||||
router-id loopback1
|
||||
target-session 10.26.63.152
|
||||
$
|
||||
!</ldp>
|
||||
```
|
||||
|
||||
#### 子步骤1.3:检查下一跳地址的掩码长度
|
||||
- `show ip forwarding route <next-hop-ip>` → 查看掩码是否为/32
|
||||
- **原理**:LDP默认只为32位主机路由分配标签(倒数第二跳弹出机制前提)
|
||||
- 若为/30或/31互联地址,LDP可能不分配标签
|
||||
|
||||
---
|
||||
|
||||
### If 标签分配正常但业务仍不通
|
||||
- **Then第二层排查:BGP下一跳属性**
|
||||
- `show bgp vpnv4 unicast vrf <vrf-name> route` → 查看完整的BGP VPNv4路由表
|
||||
- `show bgp vpnv4 unicast labels` → 查看标签信息
|
||||
- **关键字段**:Next Hop(下一跳)、Label(标签)、Path(AS_PATH)
|
||||
|
||||
#### 子步骤2.1:检查ASBR配置
|
||||
- 登录对端ASBR,查看BGP配置
|
||||
- **关键配置缺失**:ASBR向IBGP宣告EBGP路由时未配置`neighbor <ibgp-peer> next-hop-self`
|
||||
- **排障动作**:在ASBR上配置`neighbor <ibgp-peer> next-hop-self`
|
||||
- **验证命令**:`show bgp vpnv4 unicast vrf <vrf-name> neighbor <peer-ip> advertised-routes`
|
||||
|
||||
#### 子步骤2.2:验证修复效果
|
||||
- 配置next-hop-self后,PE上BGP路由的下一跳应变为ASBR的Loopback地址(32位)
|
||||
- LDP为主机路由分配标签 → `show mpls forwarding-table`应显示明确的Outgoing Label
|
||||
- `show ip forwarding route vrf <vrf-name>`应显示实际出接口
|
||||
|
||||
---
|
||||
|
||||
### If BGP路由正常但IGP不可达
|
||||
- **Then第三层排查:IGP邻接关系**
|
||||
- `show isis adjacency` → 检查ISIS邻接状态
|
||||
- `show isis hostname` → 查看系统ID映射
|
||||
- `show ip ospf neighbor` → 检查OSPF邻居状态
|
||||
|
||||
#### 子步骤3.1:检查IGP拓扑同步
|
||||
- `show isis database` → 查看LSDB完整性
|
||||
- `show ip ospf database` → 检查OSPF链路状态数据库
|
||||
- **常见问题**:IGP未学习到BGP下一跳的路由
|
||||
|
||||
---
|
||||
|
||||
**完整排查流程图**:
|
||||
```
|
||||
业务不通
|
||||
↓
|
||||
ping vrf <vrf-name> <dest-ip> → 通 → 结束
|
||||
↓ 不通
|
||||
trace vrf <vrf-name> <dest-ip> → 定位断点
|
||||
↓
|
||||
show ip forwarding route vrf <vrf-name>
|
||||
↓ Interface为NULL
|
||||
show mpls forwarding-table <next-hop-ip>
|
||||
↓ 无标签
|
||||
show mpls ldp neighbor brief instance <id> → Down → 修复LDP会话
|
||||
↓ Established ↓ 有标签
|
||||
show mpls ldp binding instance <id> show bgp vpnv4 unicast vrf <name> route
|
||||
↓ access-fec限制 ↓ NextHop非32位
|
||||
移除限制或接受现状 ASBR配置next-hop-self
|
||||
↓ ↓
|
||||
重新学习标签 验证转发恢复
|
||||
↓
|
||||
show isis adjacency
|
||||
↓ 无邻接
|
||||
修复IGP邻接关系
|
||||
```
|
||||
|
||||
**关键命令速查**:
|
||||
```bash
|
||||
# 业务层测试
|
||||
ping vrf <vrf-name> <dest-ip>
|
||||
trace vrf <vrf-name> <dest-ip>
|
||||
|
||||
# VRF路由转发信息
|
||||
show ip forwarding route vrf <vrf-name>
|
||||
show ip forwarding route vrf <vrf-name> <dest-ip>
|
||||
show ip route vpn
|
||||
|
||||
# MPLS标签转发表
|
||||
show mpls forwarding-table
|
||||
show mpls forwarding-table <next-hop-ip>
|
||||
show mpls forwarding-table vpnv4-lsp
|
||||
|
||||
# LDP会话与策略(必须指定instance!)
|
||||
show mpls ldp neighbor brief instance <id>
|
||||
show mpls ldp neighbor detail instance <id>
|
||||
show mpls ldp binding instance <id>
|
||||
show mpls ldp parameters instance <id>
|
||||
show running-config ldp
|
||||
|
||||
# VPNv4路由属性
|
||||
show bgp vpnv4 unicast vrf <vrf-name> route
|
||||
show bgp vpnv4 unicast labels
|
||||
|
||||
# IGP邻接
|
||||
show isis adjacency
|
||||
show isis hostname
|
||||
show ip ospf neighbor
|
||||
```
|
||||
|
||||
**关联案例**:参见 `04_历史故障案例库/BGP/标签与LDP类/BGP_跨域下一跳NULL_LDP策略与下一跳修复_20260720.md`
|
||||
|
||||
**理论锚点**:
|
||||
- LDP标签分配策略(默认只为/32主机路由分配标签)
|
||||
- 跨域VPN Option-B转发模型(ASBR的next-hop-self作用)
|
||||
- FEC过滤机制(access-fec等配置的影响)
|
||||
- 标签转发与IP转发的协同工作原理
|
||||
26
docs/ip-knowledge-base/zte/01_协议排障逻辑树/README.md
Normal file
26
docs/ip-knowledge-base/zte/01_协议排障逻辑树/README.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# 01_协议排障逻辑树
|
||||
|
||||
## 定位
|
||||
将教科书原理重构为"If...Then..."的排障决策树,解决"怎么想"的问题。
|
||||
|
||||
## 内容要求
|
||||
- 只写状态跳转条件、选路规则的计算过程
|
||||
- 严禁大段复制RFC协议报文格式
|
||||
- 按协议分类组织排查树
|
||||
|
||||
## 目录结构
|
||||
```
|
||||
01_协议排障逻辑树/
|
||||
├── BGP/
|
||||
│ ├── 邻居建立失败排查树.md
|
||||
│ ├── 路由优选异常排查树.md
|
||||
│ └── VPN跨域标签异常排查树.md
|
||||
├── OSPF/
|
||||
│ ├── 邻居卡住排查树.md
|
||||
│ └── 路由计算错误排查树.md
|
||||
└── IS-IS/
|
||||
└── L1/L2路由泄露排查树.md
|
||||
```
|
||||
|
||||
## RAG作用
|
||||
当用户问"为什么BGP优选了这条路由"时,AI优先索引这里的"决策逻辑"而非通用理论。
|
||||
Loading…
Add table
Add a link
Reference in a new issue