入方向策略的处理顺序
一条 UPDATE 从邻居进入本地后,要经过一系列入方向过滤器才会进 BGP 表。最容易踩的坑是以为「后配置的策略覆盖前面的」:实际是多种过滤器并列生效,全部放行才会被接收。理解这层叠加关系,是定位「对端说发了、本地却没有」这类问题的关键。
基本信息
| 处理链路 | 接收、各入过滤器评估、进入 BGP 表 |
|---|---|
| 叠加规则 | 不同过滤器都被要求放行,不是互相覆盖 |
| 常见类型 | 前缀列表、AS 路径过滤、route-map、distribute-list |
| 策略变更后 | 需软重置或路由刷新才重新评估 |
| 核对入口 | show ip bgp neighbors <ip> 的策略字段 |
典型使用场景
- 收不到某前缀时,判断是策略拦下的还是对端根本没发
- 收窄接收范围:只接受客户与对等方自有前缀
- 变更入策略后,确认新旧路由是否都已按新规则评估
- 现网策略审计:把每个过滤器的作用域写清楚,避免叠加出意外
- 新邻居上线检查:入方向应显式收窄,而不是默认全量接收
叠加配置与核对
叠加配置与核对
router bgp 65001
neighbor 10.0.0.2 prefix-list PL-IN in # 前缀与掩码范围过滤
neighbor 10.0.0.2 filter-list 10 in # AS_PATH 正则过滤
neighbor 10.0.0.2 route-map RM-IN in # 属性综合过滤
!
show ip bgp neighbors 10.0.0.2 | include policy|filter # 确认策略挂在预期邻居上
show ip bgp neighbors 10.0.0.2 received-routes | include 10.2.2.0 # 查看候选路由是否真的收到逐层排查顺序
| 步骤 | 看什么 | 结论指向 |
|---|---|---|
| 一 | 邻居状态与收发计数 | 会话是否确实在传更新 |
| 二 | received-routes | 对端是否真的通告了该前缀 |
| 三 | 各入过滤器叠加结果 | 是否被本地策略拦下 |
| 四 | BGP 表与选路 | 是否被更优路径取代而非过滤 |
| 五 | FIB 装载情况 | 下一跳是否可达、是否装入转发表 |
入方向过滤器是并列关系:前缀列表放行但 route-map 拒绝,路由照样进不了表,排查时不要只盯一个过滤器。
查看被过滤掉的路由依赖软重配置或对端支持路由刷新,条件不具备时 received-routes 可能报错或没有输出,别把它当作对端没发的证据。
改完入策略要触发重新评估(软重置或刷新),否则已有会话上学到的路由仍按旧结果保留,现象会与配置不一致。