同 AS 复用的防环冲突
站点多归属时多个站点可能复用同一 AS:PE 向 CE 通告的路由里带着 CE 自身的 AS 号,会被 CE 按防环规则拒收。两种解决思路语义不同——as-override 由 PE 在发出时把客户 AS 号替换为本地 AS;allowas-in 则由 CE 侧放宽接收,允许 AS_PATH 中出现自身 AS。选哪种,取决于你能控制哪一侧。
基本信息
| 问题来源 | 多站点复用同一 AS,PE 通告的路由携带 CE 自身 AS 号 |
|---|---|
| as-override | PE 发出时把客户 AS 替换为本地 AS,配置集中在 PE |
| allowas-in | CE 侧允许 AS_PATH 出现自身 AS,需要 CE 侧配合 |
| 配置位置 | PE 的 VRF 地址族下按邻居配置 |
| 过渡要求 | 混用期间两侧需要一致,逐站点验证 |
| 风险 | 放宽防环检查会让真实环路被放过的概率上升 |
典型使用场景
- 多站点同 AS 组网:最常见的触发场景
- PE 侧可控:优先用 as-override,改动集中在 PE
- CE 由客户自管:用 allowas-in 更现实,不需要客户改 PE 侧语义
- 过渡期管理:逐站点切换并验证,避免出现部分可达
- 排障「路由学不到」:先看 AS_PATH 中是否出现自身 AS 号
两种做法
两种做法
router bgp 65001
address-family ipv4 vrf CUST-A
neighbor 10.10.1.2 remote-as 65100
neighbor 10.10.1.2 as-override # PE 侧替换客户 AS
!
# CE 侧按需放宽:
# neighbor 10.0.0.1 allowas-in
!
show ip bgp vpnv4 vrf CUST-A 10.10.0.0/16 # 核对通告出去的 AS_PATH两种方案对照
| 方案 | 行为 | 适用侧 |
|---|---|---|
| as-override | PE 发出时把客户 AS 替换为本地 AS | PE 侧集中配置 |
| allowas-in | CE 侧允许 AS_PATH 出现自身 AS | CE 侧放宽接收 |
| 两者混用 | 过渡期两侧需保持一致的预期 | 变更时逐站点验证 |
| 调整拓扑 | 让站点不再复用同一 AS | 改动最大但最彻底 |
优先选择改动集中在一侧的方案:PE 侧能控就用 as-override,CE 由客户自管时用 allowas-in;混用两套方案会显著增加变更验证的工作量。
两种方案都会削弱 AS_PATH 的防环能力:实施前后都要确认拓扑不存在形成真实环路的可能,并在变更后持续观察 AS_PATH 与路由数量的变化。