首页/网络/BGP 与广域网速查/martian 地址与 BGP 入向净化
路由过滤与重分发66 条

martian 地址与 BGP 入向净化

martian 是协议层面不应作为源或目的出现的地址(0.0.0.0/8、127/8、255.255.255.255 等);设备转发层通常有默认处理,BGP 入向仍建议显式过滤。

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

martian 地址与入向净化

martian 指的是协议层面不应作为源或目的出现的地址,例如 0.0.0.0/8、127.0.0.0/8、255.255.255.255/32 等。设备转发层通常有自己的默认处理,但各实现并不一致;在 BGP 入方向显式过滤可以让行为可控、可审计,也避免这类非法前缀参与选路。

基本信息

典型 martian0.0.0.0/8、127.0.0.0/8、255.255.255.255/32 等
设备行为部分平台在转发层默认丢弃,行为因实现而异
BGP 侧做法入方向显式过滤更可控,也便于审计
配合方式与 bogon、私有地址过滤共同组成净化模板
顺序要点先拒绝非法前缀,末尾再放行其余

典型使用场景

  • 对等互联上线前的路由净化模板
  • 收到明显异常前缀时定位上游问题
  • 审计现网策略:确认非法前缀是否有显式处理
  • 应急:临时过滤被误注入的异常前缀
  • 多上游接入时统一净化口径,避免各邻居策略不一致

前缀列表写法

前缀列表写法
ip prefix-list PL-MARTIAN seq 10 deny 0.0.0.0/8 le 32      # 拒绝非法前缀
ip prefix-list PL-MARTIAN seq 20 deny 127.0.0.0/8 le 32
ip prefix-list PL-MARTIAN seq 30 deny 255.255.255.255/32
ip prefix-list PL-MARTIAN seq 99 permit 0.0.0.0/0 le 32   # 其余放行,交给其他策略继续处理
!
router bgp 65001
 neighbor 10.0.0.2 prefix-list PL-MARTIAN in              # 挂在入方向
!
show ip bgp neighbors 10.0.0.2 | include policy           # 确认策略已生效

典型前缀处理

前缀说明处理
0.0.0.0/8本网络地址段入方向拒绝
127.0.0.0/8环回地址入方向拒绝
255.255.255.255/32受限广播地址入方向拒绝
私有与保留段按业务约定判断与对端确认后再决定
不要只看设备默认行为:各实现对 martian 的处理不一致,显式配置能让不同厂商设备表现一致,也方便变更审计。
私有地址与保留段要看业务约定:内部互联场景可能确实需要传递私有网段,一律当 martian 拒绝会误伤合法路由。
过滤顺序决定效果:拒绝条目必须排在放行之前,否则兜底放行先命中,拒绝条目形同虚设。
拦截记录可以作为线索:净化策略命中量突然上升时,通常说明上游存在配置错误或异常注入,值得顺着来源继续追查,而不是挂上策略就算完成。

易错点

  • 依赖平台默认行为:各实现处理不一致,显式配置才能保证结果可预期
  • 把私有约定地址混入 martian 列表:评审时要区分协议非法与业务约定,否则误伤合法路由
  • 拒绝条目放在放行之后:兜底放行先命中,拒绝条目形同虚设
  • 只在一台设备上做净化:多设备多邻居时净化口径不一致,缺口依然存在

数据来源与参考

  • RFC 1812: 地址使用要求
  • 厂商文档: martian 过滤说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌