首页/云/云与容器速查/路由优先级与最长前缀匹配

路由优先级与最长前缀匹配

多条路由命中同一目标时按最长前缀匹配(/24 优先于 /16),同前缀下自定义路由优先于系统路由;排查先看有没有更细的路由抢了流量。

云与容器速查云更新于 2026-10-13

最长前缀匹配是什么

VPC 路由表的选路核心有两条规则:前缀不同时最长前缀匹配优先,也就是 /24 比 /16 更具体、命中更具体的那条;前缀相同时,自定义路由优先于系统自动生成的路由。这决定了同一个目标存在多条路由时流量的实际走向,也是排查『路由都加了但流量走错链路』的第一现场。各厂商在系统路由与自定义路由的优先级细则上略有差异,以对应厂商文档为准。

基本信息

规则一最长前缀优先:10.10.1.0/24 优先于 10.10.0.0/16
规则二前缀相同时:自定义路由优先于系统自动路由
规则三更具体的路由常用于分流:某网段走专线、其余走 NAT
排查顺序先列出目标 IP 命中的所有路由,再比前缀长度,最后比路由类型
生效方式路由表修改后立即影响新连接,已在传输的连接可能仍走旧路径

典型使用场景

  • 链路分流:IDC 网段走专线,其余流量走 NAT 网关出公网
  • 灰度与验证:把个别网段指向新网关,先小范围验证再全量切换
  • 故障切换:把更细的路由指向备用链路,实现按网段的快速绕行
  • 多 VPC 互通时控制访问路径,避免默认路由把流量引到错误的对端
  • 排查走错链路:确认目标 IP 是否被一条更具体的路由抢走了流量

分流示例与命中判断

分流示例与命中判断
10.20.0.0/16  → 专线网关(IDC 网段走专线)
0.0.0.0/0     → NAT 网关(其余出公网)
# 10.20.1.5 的流量命中更具体的 /16,不会被默认路由抢走
# 再加一条 10.20.1.0/24 → VPN 网关,则该子网段改走 VPN,其余仍走专线
# 实例内验证命中结果
ip route get 10.20.1.5

命中结果示例

路由条目目标 IP命中结果
10.20.0.0/16 → 专线;10.20.1.0/24 → VPN10.20.1.5命中 /24,走 VPN
同上10.20.2.7命中 /16,走专线
0.0.0.0/0 → NAT;10.20.0.0/16 → 专线8.8.8.8命中默认路由,走 NAT
10.20.0.0/16 → 专线10.20.99.1命中 /16,走专线
路由分流的经典用法:财务与生产网段走专线,其他流量走公网,用前缀长度精准控制,不需要额外的策略路由设备。
改路由等于改网络走向:变更前记录当前的命中关系,变更后在两端实例分别用 ip route get 与 traceroute 验证,避免把生产流量引到错误链路。

易错点

  • 加了细路由却没删旧的粗路由,实际走向与预期不符,排查时容易怀疑错方向
  • 以为加一条默认路由就万事大吉,忽略了更具体的路由会优先命中
  • 用 /32 主机路由做临时故障切换后忘记清理,长期残留导致流量持续绕行
  • 对等连接与 NAT 在相同网段并存时,先看具体命中哪条路由,而不是先怀疑安全组

数据来源与参考

  • 阿里云文档:路由优先级
  • 腾讯云文档:路由规则
  • 华为云文档:路由选择

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌