首页/网络/BGP 与广域网速查/常用 as-path 过滤器模板
路由过滤与重分发66 条

常用 as-path 过滤器模板

四类常用模板:只收指定 AS 起源、拒绝私用 AS 段、拒绝异常长路径、只允许特定来源;按需组合成命名列表。

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

AS_PATH 正则过滤的基本语法

AS_PATH 过滤器用正则表达式匹配 AS_PATH 字符串。最需要记住的是下划线 _:它代表分隔符,可匹配空格、逗号、大括号、行首与行尾。因此 ^65002_ 表示「路径以 65002 开头」,65002$ 表示「以 65002 结尾」,而 ^65002$ 表示整条路径只有 65002,也就是该前缀由 65002 直接始发。

基本信息

配置方式Cisco 用 ip as-path access-list,华为用 ip as-path-filter
引用位置neighbor x filter-list <号> in|out 或 route-map 的 match as-path
常用符号_ 表示分隔符,^ 行首,$ 行尾,[] 字符集合,| 或
华为引用peer x as-path-filter <号> import|export
预验证show ip bgp regexp <表达式> 可直接看匹配到哪些路由

典型使用场景

  • 只接收某客户始发的路由:以客户 AS 号做起源匹配
  • 拒绝带私用 AS 号的路由,避免内部编号泄漏到公网
  • 拒绝异常长路径,抑制路径伪造与路由震荡扩散
  • 对等互联限定来源:只允许对端及其客户锥内 AS 出现
  • 出方向限制:不向对端发送去往第三方对等的路由

模板集合

模板集合
# 1) 只收 AS 65002 始发的路由
ip as-path access-list 40 permit ^65002$
ip as-path access-list 40 deny .*
#
# 2) 拒绝 16 位私用 AS(64512-65534)
ip as-path access-list 30 deny _6451[2-9]_
ip as-path access-list 30 deny _645[2-9][0-9]_
ip as-path access-list 30 deny _64[6-9][0-9][0-9]_
ip as-path access-list 30 deny _65[0-3][0-9][0-9]_
ip as-path access-list 30 deny _654[0-9][0-9]_
ip as-path access-list 30 deny _655[0-2][0-9]_
ip as-path access-list 30 deny _6553[0-4]_
ip as-path access-list 30 permit .*
#
# 3) 拒绝超过 10 跳的异常长路径(按实际网络放宽)
ip as-path access-list 20 deny .{20,}
ip as-path access-list 20 permit .*

表达式含义速查

表达式匹配的路径典型用途
^65002$只有 65002,即对端直接始发只收对端自有前缀
^65002_以 65002 开头,长度不限接收该 AS 及其下游客户的路由
_65002$以 65002 结尾定向追溯起源为 65002 的多跳路由
_(65002|65003)_路径中出现其中之一多个来源统一放行
_6451[2-9]_出现私用 AS 号净化入向路由

上线前先验证表达式

上线前先验证表达式
# 先在设备上看表达式命中的真实路由,避免误伤
show ip bgp regexp ^65002$
show ip bgp regexp _6451[2-9]_
#
# 应用到邻居后核对收发表变化
show ip bgp neighbors 10.0.0.2 routes
show ip bgp summary
正则写法在不同厂商平台存在差异,例如字符集合与量词的支持程度、括号内的或运算写法。跨厂商部署前先在目标设备上执行 show ip bgp regexp 验证一遍,不要直接照搬另一家的表达式。

易错点

  • 用 _65[0-9][0-9][0-9]_ 之类粗粒度表达式挡私用 AS:会连带命中 65536 以上的公网 ASN,误伤正常路由
  • 忘记在过滤器末尾写兜底 permit:列表末尾隐含拒绝,未显式放行的路由会全部被丢掉
  • 把 ^65002$ 与 ^65002_ 混用:前者只匹配对端自有前缀,后者包含其客户路由,收窄或放宽都需按设计确认
  • 表达式直接套用到出方向:出向过滤的意图与入向不同,误用会造成对外发布范围异常
  • 上线前不在设备上预验证:正则语法差异与匹配范围只能靠实际输出确认

数据来源与参考

  • Cisco: as-path 过滤示例
  • IANA: AS 号分配范围
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌