首页/网络/BGP 与广域网速查/入方向策略的处理顺序与叠加
路由过滤与重分发66 条

入方向策略的处理顺序与叠加

UPDATE 进入本地时按过滤器逐个评估,多种入过滤器(前缀、AS 路径、route-map)并列生效:全部放行才会按策略结果入表。

BGP 与广域网速查网络更新于 2026-10-13

入方向策略的处理顺序

一条 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 可能报错或没有输出,别把它当作对端没发的证据。
改完入策略要触发重新评估(软重置或刷新),否则已有会话上学到的路由仍按旧结果保留,现象会与配置不一致。

易错点

  • 以为后配置的过滤器覆盖前面的:实际并列生效,收窄范围时必须逐项核对
  • 只验证单一过滤器:多过滤器叠加时要按全部条件评估,否则误判为策略未生效
  • 改完策略不做重新评估:既有路由仍按旧结果保留,配置与现象对不上
  • received-routes 不可用就断定对端没发:缺少软重配置或刷新能力时该命令本身就用不了
  • 入方向默认全量接收:把对等方的全表与错误前缀一并收进来,风险与开销都高

数据来源与参考

  • Cisco: BGP 入方向过滤
  • RFC 4271: UPDATE 消息处理
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌