路由安全
Sunoaki Network 对外部 BGP 会话采用保守的路由过滤。目标很简单:只有来源 AS、前缀长度和会话角色都合理时,才接受路由。
下面的公开策略说明运营方可以预期的行为。路由被接受后的处理方式,请参阅路由策略文档。
导入验证
每条从 BGP 收到的路由在进入路由表前,都会经过共享的验证步骤。
当路由匹配以下任一条件时会被拒绝:
- 前缀过于具体:IPv4 长于
/24,或 IPv6 长于/48。 - 前缀属于 bogon、保留、文档、私有、多播或其他不可路由范围。
- AS 路径包含 bogon 或保留 ASN。
- 路由的 RPKI 状态为
invalid。 - 路由是来自外部 BGP 会话的默认路由。
RPKI 验证基于本地 ROA 表执行。状态为 invalid 的路由会被拒绝;valid 和 not-found 路由可以继续进入后续策略检查。
下游路由范围
下游会话的过滤比对等方或上游会话更严格。下游路由必须通过共享验证步骤,并且必须符合预期的下游范围。
对下游导入的路由,Sunoaki 会检查:
- AS 路径是否保持在下游 AS 集合内。
- 前缀被生成的 IPv4 或 IPv6 前缀列表覆盖。
- 前缀长度仍遵守公开上限
/24和/48。
下游列表来自 ARIN::AS-SUNOAKI,并通过 bgpq4 生成。更新流程会从公开路由注册库和支持 RPKI 的数据源拉取 ASN 与前缀,再生成 BIRD 使用的过滤器。
因此,下游客户应保持自己的 route-set 或 AS-SET 数据最新。PeeringDB 中的前缀上限也应保持准确,具体见互联策略。
对等方和上游会话
对等方和上游会话使用同一组共享验证检查,包括 bogon、RPKI invalid、前缀长度和默认路由。
从外部会话接受的路由会按来源类型打标签。Sunoaki 会区分从上游、下游和对等方学到的路由,并在导出策略中使用这些标签。
这样可以让路由传播保持可预期。从某一类会话学到的路由不会自动导出到所有地方;它必须匹配目标会话类型的导出规则。
导出控制
导出策略结合路由来源标签和公开的 BGP communities。
Sunoaki 会添加 large communities,记录路由被导出到哪里,以及它在内部由哪个节点发起或传播。这些标签用于运维可见性,也用于在骨干网上保持一致策略。
运营方可以使用公开 communities 控制以下行为:
- 黑洞路由。
- 导出控制。
- AS-path prepending。
- 按上游、对等方或节点进行流量工程。
完整公开列表见 BGP communities。
合作方需要维护什么
为避免路由被拒绝或需要手动清理,对等方和下游应保持以下数据准确:
- 源发前缀的 RPKI ROAs。
- route-set 或 AS-SET 成员关系。
- PeeringDB 中的前缀上限。
- NOC 联系信息。
对于新的会话,route-set 或 AS-SET 以及 PeeringDB 条目应在会话建立前准备好。