出向过滤是什么
出向过滤是对某个邻居应用前缀列表,决定「哪些路由能被发出去」。它是防止前缀泄漏与超范围发布的主要手段:入向过滤保护自己少收错路由,出向过滤保护对端不被你误发路由影响,两者方向不同、都要做。
基本信息
| 命令 | neighbor <ip> prefix-list <name> out |
|---|---|
| 作用 | 限制发布范围、防止前缀泄漏 |
| 验证 | show ip bgp neighbors <ip> advertised-routes |
| 执行顺序 | 先做属性修改与汇总,再由出向过滤决定是否发布 |
| 缺省行为 | 未命中任何条目即不发布 |
| 华为对应 | peer <ip> ip-prefix <name> export |
典型使用场景
- 向传输对端只发布自有地址段,避免把客户或内网明细发出去
- 多归属场景下按邻居分别控制发布集合,避免成为中转路径
- 变更前预览发布结果,确认集合与设计一致
- 与汇总配合:只发布聚合条目而不发布明细
- 迁移或割接期间临时收窄发布范围,降低影响面
示例与验证
示例与验证
ip prefix-list PL-TO-TRANSIT permit 192.0.2.0/24
ip prefix-list PL-TO-TRANSIT permit 198.51.100.0/24
router bgp 65001
neighbor 10.0.0.2 prefix-list PL-TO-TRANSIT out
!
show ip bgp neighbors 10.0.0.2 advertised-routes # 查看过滤后的实际发布集合
show ip bgp neighbors 10.0.0.2 advertised-routes | include Total # 只看总数
show ip prefix-list PL-TO-TRANSIT detail # 核对列表条目与顺序常见现象与原因
| 现象 | 可能原因 | 核对方法 |
|---|---|---|
| 对端完全收不到路由 | 列表只有 deny 或缺显式 permit | advertised-routes 输出为空即确认 |
| 部分前缀未发布 | 前缀未命中任何条目或长度不匹配 | 用 show ip prefix-list 单条验证 |
| 发布集合变动后未生效 | 邻居需重新计算发布结果 | 重新查看 advertised-routes 并观察对端 |
| 明细被发布出去了 | 只放行了汇总段且写了 le | 确认列表是否带 le 放开了明细 |
advertised-routes 反映的是策略处理之后的发布结果,比直接看本地路由表更接近对端视角,是出向核对的首选命令。
出向过滤缺显式 permit 会让对端瞬间收不到全部路由,属于典型事故点:变更前先记录发布总数,改完立即复核数量。
出向过滤与汇总、属性设置的作用顺序:先按策略调整属性与聚合,再决定是否发布;因此核对发布集合应以 advertised-routes 为准,而不是本地路由表。