mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-20 11:03:51 +08:00
增加知识文档
This commit is contained in:
parent
f3152acb88
commit
db1d89d83b
11 changed files with 1461 additions and 0 deletions
224
docs/ip-knowledge-base/zte/03_配置规范与基线/BGP_跨域配置规范.md
Normal file
224
docs/ip-knowledge-base/zte/03_配置规范与基线/BGP_跨域配置规范.md
Normal file
|
|
@ -0,0 +1,224 @@
|
|||
# BGP跨域配置规范(Option-B场景)
|
||||
|
||||
## 适用场景
|
||||
- 不同AS之间的MPLS VPN互联(如AS100与AS200的VPN用户互通)
|
||||
- 需要端到端的MPLS标签转发,避免在ASBR上解封装再封装
|
||||
|
||||
---
|
||||
## Option-B架构说明
|
||||
|
||||
### 网络拓扑
|
||||
```
|
||||
CE1 --- PE1 --- ASBR1 ==== ASBR2 --- PE2 --- CE2
|
||||
(AS100) (AS100) (AS200) (AS200)
|
||||
| |
|
||||
EBGP会话 EBGP会话
|
||||
(带标签) (带标签)
|
||||
```
|
||||
|
||||
**关键特征**:
|
||||
- ASBR1和ASBR2之间建立EBGP会话,交换VPNv4路由(带标签)
|
||||
- ASBR向IBGP邻居(PE)宣告从EBGP学到的路由
|
||||
- **核心要求**:ASBR必须配置`next-hop-self`,否则PE收到的BGP下一跳是对端ASBR的互联地址(非32位),导致LDP无法分配标签
|
||||
|
||||
---
|
||||
## 标准配置模板
|
||||
|
||||
### ASBR配置(以ASBR1为例,AS100侧)
|
||||
```bash
|
||||
! BGP基础配置
|
||||
router bgp 100
|
||||
neighbor 20.0.0.2 remote-as 200 ! EBGP邻居(ASBR2的互联地址)
|
||||
neighbor 20.0.0.2 ebgp-multihop 2 ! 若非直连需配多跳
|
||||
neighbor 20.0.0.2 update-source loopback0
|
||||
|
||||
! VPNv4地址族(关键!)
|
||||
address-family vpnv4
|
||||
neighbor 20.0.0.2 activate ! 激活EBGP邻居
|
||||
neighbor 20.0.0.2 send-label ! 发送标签(Cisco语法,5800-4X类似)
|
||||
|
||||
! 向IBGP邻居宣告时修改下一跳(最关键的一步!)
|
||||
neighbor 10.0.0.1 remote-as 100 ! IBGP邻居(PE路由器)
|
||||
neighbor 10.0.0.1 next-hop-self ! ⭐ 强制将下一跳改为本机Loopback
|
||||
|
||||
exit-address-family
|
||||
|
||||
! IPv4单播地址族(可选,用于底层IGP路由)
|
||||
address-family ipv4 unicast
|
||||
network 10.0.0.1 mask 255.255.255.255 ! 宣告Loopback
|
||||
exit-address-family
|
||||
```
|
||||
|
||||
### PE配置(以PE1为例,AS100侧)
|
||||
```bash
|
||||
router bgp 100
|
||||
! IBGP全互联或使用路由反射器
|
||||
neighbor 10.0.0.2 remote-as 100 ! ASBR1的Loopback
|
||||
neighbor 10.0.0.2 update-source loopback0
|
||||
|
||||
address-family vpnv4
|
||||
neighbor 10.0.0.2 activate
|
||||
! 不需要配next-hop-self,因为ASBR已经做了
|
||||
exit-address-family
|
||||
|
||||
! VRF配置(关联CE侧)
|
||||
vrf definition VPN-A
|
||||
rd 100:1
|
||||
route-target export 100:1
|
||||
route-target import 100:1
|
||||
exit-vrf-definition
|
||||
|
||||
interface gei-1/1
|
||||
vrf forwarding VPN-A
|
||||
ip address 192.168.1.1 255.255.255.0
|
||||
end
|
||||
```
|
||||
|
||||
---
|
||||
## 关键配置检查清单
|
||||
|
||||
### ASBR必查项
|
||||
- [ ] `address-family vpnv4`下配置了EBGP邻居并`activate`
|
||||
- [ ] 配置了`send-label`或等价命令(启用标签分发)
|
||||
- [ ] 向IBGP邻居宣告时配置了`next-hop-self`
|
||||
- [ ] ASBR的Loopback地址通过IGP宣告(确保IBGP可达)
|
||||
|
||||
### PE必查项
|
||||
- [ ] IBGP邻居关系使用Loopback地址建立
|
||||
- [ ] VRF的RD和Route Target配置正确
|
||||
- [ ] 从ASBR学到的VPNv4路由的下一跳是ASBR的Loopback(32位)
|
||||
|
||||
---
|
||||
## 验证步骤
|
||||
|
||||
### 第1步:检查ASBR上的BGP路由
|
||||
```bash
|
||||
# 在ASBR1上执行
|
||||
show bgp vpnv4 un addr <dest-prefix>
|
||||
|
||||
# 期望输出关键字段:
|
||||
# From 20.0.0.2 (20.0.0.2): 下一跳=20.0.0.2(EBGP对端)
|
||||
# From 10.0.0.1 (10.0.0.1): 下一跳=10.0.0.1(已改为本机Loopback)
|
||||
```
|
||||
|
||||
### 第2步:检查PE上的BGP路由和标签
|
||||
```bash
|
||||
# 在PE1上执行
|
||||
show bgp vpnv4 un addr <dest-prefix>
|
||||
|
||||
# 期望输出:
|
||||
# Next hop: 10.0.0.2(ASBR1的Loopback,32位主机路由)
|
||||
# Label: 16001(明确的MPLS标签)
|
||||
|
||||
show ip forwarding route vrf VPN-A <dest-prefix>
|
||||
|
||||
# 期望输出:
|
||||
# Interface: gei-1/2(实际出接口,不是NULL)
|
||||
# Gw: 10.0.0.2(下一跳可达)
|
||||
```
|
||||
|
||||
### 第3步:端到端连通性测试
|
||||
```bash
|
||||
# 从CE1 ping CE2的地址
|
||||
ping vrf VPN-A <CE2-IP> source <CE1-IP>
|
||||
|
||||
# 若不通,用tracerace定位断点
|
||||
traceroute vrf VPN-A <CE2-IP>
|
||||
```
|
||||
|
||||
---
|
||||
## 常见故障与根因
|
||||
|
||||
### 故障1:PE上VRF路由下一跳为NULL
|
||||
**现象**:`show ip forwarding route vrf`显示Interface=NULL
|
||||
|
||||
**可能根因**:
|
||||
1. **ASBR未配next-hop-self** → PE收到的下一跳是对端ASBR的互联地址(/30),LDP不分配标签
|
||||
2. **LDP配置了access-fec过滤** → 即使下一跳是32位,也可能被过滤掉
|
||||
|
||||
**排障流程**:
|
||||
```bash
|
||||
# 步骤1:查看BGP下一跳
|
||||
show bgp vpnv4 un addr <prefix> | include Next
|
||||
|
||||
# 步骤2:若下一跳是/30地址(如20.0.0.2/30),则ASBR肯定没配next-hop-self
|
||||
# 步骤3:若下一跳是32位但仍无标签,检查LDP策略
|
||||
show running-config mpls ldp | include access-fec
|
||||
```
|
||||
|
||||
**关联案例**:参见 `04_历史故障案例库/BGP/标签与LDP类/BGP_跨域下一跳NULL_LDP策略与下一跳修复_20260720.md`
|
||||
|
||||
---
|
||||
### 故障2:ASBR上EBGP邻居无法建立
|
||||
**现象**:`show ip bgp summary`中EBGP邻居状态为Idle或Active
|
||||
|
||||
**可能根因**:
|
||||
1. TCP端口179被ACL阻断
|
||||
2. EBGP多跳未配置(若非直连)
|
||||
3. MD5认证不匹配
|
||||
4. Update-source配置错误
|
||||
|
||||
**排障命令**:
|
||||
```bash
|
||||
show ip bgp neighbors <ip> # 查看邻居详细状态
|
||||
show access-lists | include 179 # 检查ACL是否阻断BGP
|
||||
show running-config | include router bgp # 验证ebgp-multihop和update-source
|
||||
```
|
||||
|
||||
---
|
||||
### 故障3:标签分配正常但业务仍不通
|
||||
**现象**:MPLS转发表有标签,但ping不通
|
||||
|
||||
**可能根因**:
|
||||
1. **VRF路由泄露问题**:Route Target配置错误,导致PE没有导入对端路由
|
||||
2. **CEF转发异常**:硬件转发表未正确编程
|
||||
3. **MTU不匹配**:MPLS报文超过链路MTU被丢弃
|
||||
|
||||
**排障命令**:
|
||||
```bash
|
||||
# 检查VRF路由表
|
||||
show ip route vrf VPN-A
|
||||
|
||||
# 检查MPLS转发统计
|
||||
show mpls forwarding-table statistics
|
||||
|
||||
# 检查接口MTU
|
||||
show interface <interface> | include MTU
|
||||
```
|
||||
|
||||
---
|
||||
## 配置优化建议
|
||||
|
||||
### 1. 使用路由反射器简化IBGP全互联
|
||||
对于大型网络,PE之间不必全互联建IBGP:
|
||||
```bash
|
||||
# 指定RR(路由反射器)
|
||||
router bgp 100
|
||||
neighbor 10.0.0.100 remote-as 100 # RR的Loopback
|
||||
neighbor 10.0.0.100 route-reflector-client # 仅在RR上配
|
||||
|
||||
# PE侧无需特殊配置,RR会自动反射路由
|
||||
```
|
||||
|
||||
### 2. 启用BGP PIC(快速重收敛)
|
||||
```bash
|
||||
router bgp 100
|
||||
bgp fast-external-failover # 链路Down立即撤销路由
|
||||
neighbor <ip> fall-over bfd # 与BFD联动检测
|
||||
```
|
||||
|
||||
### 3. 限制接收的前缀数量(防攻击)
|
||||
```bash
|
||||
router bgp 100
|
||||
neighbor <ip> maximum-prefix 10000 90 # 最多1万条,90%时告警
|
||||
```
|
||||
|
||||
---
|
||||
**维护建议**:
|
||||
- 每次新增跨域业务前,必须在实验室模拟Option-B场景验证配置
|
||||
- 定期审查ASBR的next-hop-self配置(现场变更可能误删)
|
||||
- 对于重要客户VPN,部署BFD实现亚秒级故障检测
|
||||
|
||||
**关联文档**:
|
||||
- `01_协议排障逻辑树/BGP/VPN跨域标签异常排查树.md`
|
||||
- `02_产品平台特性/协议实现差异.md`(BGP next-hop-self行为差异)
|
||||
93
docs/ip-knowledge-base/zte/03_配置规范与基线/LDP_配置基线.md
Normal file
93
docs/ip-knowledge-base/zte/03_配置规范与基线/LDP_配置基线.md
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
# LDP配置基线
|
||||
|
||||
## 标准配置模板
|
||||
|
||||
### 基础LDP配置
|
||||
```bash
|
||||
mpls ldp instance 1
|
||||
discovery hello holdtime 180
|
||||
discovery targeted-hello holdtime 180
|
||||
graceful-restart
|
||||
graceful-restart timer max-recovery 600
|
||||
graceful-restart timer neighbor-liveness 300
|
||||
access-fec ip-prefix host-route-only ! 显示指定仅主机路由分配标签
|
||||
interface smartgroup1 !接口使能ldp
|
||||
$
|
||||
router-id loopback1 ! 显式指定Router-ID(推荐用Loopback地址)
|
||||
target-session 10.26.63.152 ! 通过 target-session 配置ldp
|
||||
|
||||
```
|
||||
---
|
||||
## 关键参数推荐值
|
||||
|
||||
| 参数 | 推荐值 | 说明 |
|
||||
| -------------------| -----------------------| --------------------------------------|
|
||||
| Router-ID | Loopback0地址(32位) | 必须全网唯一且稳定 |
|
||||
| 传输地址 | Loopback地址 | 避免物理接口Down导致LDP会话中断 |
|
||||
| Hello间隔(链路) | 5秒 | 默认值,直连邻居发现 |
|
||||
| Hello间隔(目标) | 15秒 | 用于非直连邻居(需配`neighbor`命令) |
|
||||
| Keepalive间隔 | 45秒 | TCP连接保活 |
|
||||
| Hold Time | 180秒 | Hello保持时间(4倍Hello间隔) |
|
||||
| 标签分配模式 | DU(下游主动) | 默认模式,无需配置 |
|
||||
| FEC过滤策略 | 不过滤(默认) | 除非有安全或资源限制需求 |
|
||||
|
||||
---
|
||||
## 常见配置陷阱与规避
|
||||
|
||||
### ⚠️ 陷阱1:access-fec过滤导致标签缺失
|
||||
**现象**:某些非32位FEC没有分配到标签,MPLS转发出接口为NULL
|
||||
|
||||
**错误配置示例**:
|
||||
```bash
|
||||
mpls ldp nstance 1
|
||||
access-fec ip-prefix host-route-only ! 只给32位主机路由分标签
|
||||
```
|
||||
|
||||
**问题根因**:
|
||||
- 该配置强制LDP只为/32掩码的主机路由分配标签
|
||||
- 对于/30或/31的互联地址,即使LDP默认会分配标签,也会被过滤掉
|
||||
- **后果**:跨域VPN场景中,若BGP下一跳是互联地址(非32位),会导致标签缺失→流量黑洞
|
||||
|
||||
**规避方案**:
|
||||
- 评估业务需求,若无特殊安全要求,**不要配置**`access-fec`过滤
|
||||
- 若必须限制标签分配范围,使用更精细的prefix-list:
|
||||
```bash
|
||||
ip prefix-list ALLOW-HOST-ROUTES seq 5 permit 0.0.0.0/0 le 32
|
||||
mpls ldp
|
||||
access-fec ip-prefix prefix-list ALLOW-HOST-ROUTES ! 允许所有前缀
|
||||
```
|
||||
|
||||
**关联案例**:参见 `04_历史故障案例库/BGP/标签与LDP类/BGP_跨域下一跳NULL_LDP策略与下一跳修复_20260720.md`
|
||||
|
||||
---
|
||||
## 验证命令速查
|
||||
|
||||
```bash
|
||||
# 查看ldp是否存在告警
|
||||
show alarm current typeid ldp
|
||||
# 查看LDP会话状态
|
||||
show mpls ldp neighbor brief instance 1
|
||||
show mpls ldp neighbor <ldp-neighbor> detail instance 1
|
||||
show mpls ldp neighbor detail instance 1
|
||||
|
||||
# 查看标签绑定关系
|
||||
show mpls ldp bindings 10.0.0.8 32 detail instance 1 ! 优先使用
|
||||
show mpls ldp bindings 10.0.0.8 32 instance 1 ! 优先使用
|
||||
show mpls ldp bindings instance 1
|
||||
# 查看标签转发表
|
||||
show mpls forwarding-table 10.0.0.8 32
|
||||
show mpls forwarding-table
|
||||
|
||||
# 查看LDP配置
|
||||
show running-config ldp
|
||||
|
||||
```
|
||||
|
||||
---
|
||||
**维护建议**:
|
||||
- 每季度审查一次LDP配置基线,确保与现网实践一致
|
||||
- 新增LDP邻居前,必须在变更窗口内验证MD5认证和标签分配
|
||||
- 对于跨域Option-B场景,务必同步检查BGP next-hop-self配置
|
||||
|
||||
**关联文档**:
|
||||
- `06_标准SOP与工具脚本/MPLS标签排障命令速查.md`
|
||||
24
docs/ip-knowledge-base/zte/03_配置规范与基线/README.md
Normal file
24
docs/ip-knowledge-base/zte/03_配置规范与基线/README.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# 03_配置规范与基线
|
||||
|
||||
## 定位
|
||||
记录公司内部标准配置模板和最佳实践,解决"应该怎么配"的问题。这是连接理论与实战的桥梁。
|
||||
|
||||
## 内容要求
|
||||
- **配置基线**:各协议的标准配置模板(含推荐参数和避坑指南)
|
||||
- **配置规范**:跨域VPN、MPLS等复杂场景的标准化部署方案
|
||||
- **面积规划模板**:OSPF区域划分、IS-IS层级设计等网络规划参考
|
||||
|
||||
## 目录结构
|
||||
```
|
||||
03_配置规范与基线/
|
||||
├── LDP_配置基线.md
|
||||
├── BGP_跨域配置规范.md
|
||||
└── OSPF_面积规划模板.md
|
||||
```
|
||||
|
||||
## 与01_协议排障逻辑树的区别
|
||||
- 01文件夹讲"排查思路"(If...Then...决策树)
|
||||
- 本文件夹讲"标准配置"(最佳实践模板和参数推荐)
|
||||
|
||||
## RAG作用
|
||||
当用户问"LDP应该怎么配才安全"或"BGP跨域有什么注意事项"时,AI索引这里的标准化配置规范。
|
||||
Loading…
Add table
Add a link
Reference in a new issue