私用 ASN 的两道防线
私用 ASN(2 字节区间 64512-65534,4 字节区间 4200000000-4294967294)不应该出现在公网 AS_PATH 里。常见做法是两道防线配合:入向拒绝含私用段的路径,防止上游泄漏污染本域与下游;出向在发布前剥离私用段,让使用私用 ASN 的客户不影响公网。使用私用 ASN 的客户、联盟或测试网络需要单独放行,不能一刀切。
基本信息
| 私用区间 | 2 字节 64512-65534,4 字节 4200000000-4294967294 |
|---|---|
| 入向做法 | 用 AS_PATH 正则拒绝含私用段的路径 |
| 出向做法 | 发布前剥离私用段,见 remove-private-as |
| 例外处理 | 使用私用 ASN 的客户与联盟需要白名单放行 |
| 校验方式 | 用 AS_PATH 正则统计现网路由中的私用段 |
| 高发入口 | 客户多归属、联盟成员、实验或测试网络互联 |
典型使用场景
- 客户私用 ASN 剥离:让客户用私用 ASN 又不泄漏到公网
- 入向净化:拦截上游误传的私用段路由
- 联盟场景例外:联盟内部使用私用 ASN,需要按对端放行
- 违规巡检:定期扫描 AS_PATH 中的私用段并统计来源
- 割接核查:新增邻居时确认私用 ASN 的处理策略是否明确
入向过滤示例
入向过滤示例
ip as-path access-list 30 deny _6451[2-9]_ # 拦截 64512-64519
ip as-path access-list 30 deny _645[2-9][0-9]_ # 拦截 64520-64599
ip as-path access-list 30 deny _65[4-5][0-9][0-9]_ # 拦截 65400-65599
ip as-path access-list 30 permit .* # 其余放行
!
router bgp 65001
neighbor 10.0.0.2 filter-list 30 in # 入向应用
!
show ip bgp regexp _65[0-5][0-9][0-9]_ # 统计现网中出现的私用段两道防线与例外
| 环节 | 做法 | 目的 |
|---|---|---|
| 入向 | 拒绝含私用段的路径 | 防止上游泄漏污染本域与下游 |
| 出向 | 剥离私用段后再发布 | 让私用 ASN 客户不影响公网 |
| 例外 | 按对端维护白名单 | 联盟与私用 ASN 客户需要放行 |
| 校验 | 正则统计与定期巡检 | 及时发现泄漏并定位来源 |
两道防线要同时用:只拦入向不做剥离,自有客户路径上的私用 ASN 仍会传播出去;只做剥离不做入向净化,上游泄漏进来的私用段照样落地。
正则要写全:私用区间跨越 64512-65534,用单一模式很容易漏掉边界值。建议拆成几段,并用统计命令在现网验证命中效果,而不是只在实验环境测试。