隐式拒绝是什么
前缀列表与访问控制列表一样,尾部隐含一条拒绝规则:没有命中任何条目的前缀一律被拒绝。这意味着「只写需要的 permit」是不够的,你必须清楚未被列出的前缀会被丢掉;出向过滤漏写或写窄时,对端会大面积收不到路由,是典型的高频事故点。
基本信息
| 隐式行为 | 未命中任何条目即拒绝 |
|---|---|
| 显式放行 | 需要的集合必须显式 permit |
| 显式拒绝 | 可用 deny 条目保证不会误放行 |
| 适用场景 | 入向与出向过滤、重分发过滤均如此 |
| 验证 | show ip prefix-list <名称> <前缀>/<长度> 核对单条匹配 |
| 类比 | 与 ACL 一致的隐式拒绝语义 |
典型使用场景
- 出向发布前确认集合:避免因写窄导致对端收不到任何路由
- 入向接收前确认集合:避免阻塞必要的业务前缀
- 变更前记录基数:先看当前发布总数,改完立即比对
- 重分发过滤:限定引入范围,防止整表外发
- 策略审计:检查是否存在只有 deny 条目而无 permit 的列表
核对与写法示例
核对与写法示例
show ip prefix-list PL-TO-TRANSIT # 查看全部条目与顺序
show ip prefix-list PL-TO-TRANSIT 192.0.2.0/24 # 单条核对是否命中
show ip prefix-list PL-TO-TRANSIT detail # 查看引用计数
!
ip prefix-list PL-TO-TRANSIT permit 192.0.2.0/24 # 显式放行需要的段
ip prefix-list PL-TO-TRANSIT deny 0.0.0.0/0 le 32 # 显式写出兜底拒绝,便于阅读
!
show ip bgp neighbors 10.0.0.2 advertised-routes | include Total # 复核发布总数写法与后果
| 写法 | 实际效果 | 风险 |
|---|---|---|
| 只写 permit 若干条 | 其余全部被拒 | 漏写必要前缀时对端收不到路由 |
| 只写 deny 若干条 | 其余全部放行 | 与预期完全相反,易造成超范围发布 |
| permit 与 deny 混合且顺序错误 | 命中即停,后写的条目失效 | 过滤集合与设计不一致 |
| 忘记应用前缀列表 | 没有任何过滤 | 对端误发路由被照单全收 |
核对单条前缀时,命令返回的命中条目序号能直接说明是哪一条起了作用,比凭经验推断可靠。
出向过滤缺显式 permit 会让对端瞬间收不到全部路由:变更前记录发布总数,改完立即复核,数量骤降要立刻回退。