更新时间:2025-08-22 GMT+08:00
分享

路由表和路由概述

路由表

路由表由一系列路由规则组成,用于控制VPC内出入子网的流量走向。VPC中的每个子网都必须关联一个路由表,一个子网只能关联一个路由表,但一个路由表可以同时关联多个子网。

路由表一般分为默认路由表自定义路由表,支持添加IPv4和IPv6路由。

图1 路由表
  • 默认路由表:用户创建VPC时,系统会自动为其生成一个默认路由表,创建子网后,子网会自动关联默认路由表。默认路由表可以确保VPC内,不同子网的内网网络互通。
    • 您可以在默认路由表中添加、删除和修改路由规则,但不能删除默认路由表。
    • 创建VPN、云专线、云连接服务时,默认路由表会自动下发路由,该路由不能删除和修改。
  • 自定义路由表:您可以直接使用默认路由表,也可以为具有相同路由规则的子网创建一个自定义路由表,并将自定义路由表与子网关联。自定义路由表可以删除。

    子网关联自定义路由表仅影响子网的出流量走向,入流量(比如从对等连接、云专线、VPN进入VPC内的流量)仍然匹配子网所在VPC的默认路由表。

默认情况下,您没有创建自定义路由表的配额,因此创建自定义路由表时,请您根据界面提示“申请扩大配额”,具体请参见申请扩大配额

特性讲解视频

本视频为您介绍VPC路由表和路由功能,包括路由表的作用、路由的类型、路由的作用以及路由优先级。

路由

您可以在默认路由表和自定义路由表中添加路由,路由包括目的地址、下一跳类型、下一跳地址等信息,可以决定网络流量的走向。路由分为系统路由和自定义路由。

  • 系统路由:系统路由一般为VPC服务或者其他服务(比如VPN、DC等)自动在路由表添加的路由,无法删除或修改。

    创建路由表时,VPC服务会自动在路由表中添加下一跳为Local的路由,通常情况下,路由表中的Local路由说明请参见表1

    表1 Local路由说明

    Local路由目的地址

    目的地址说明

    100.64.0.0/10

    该地址为云上公共服务网段地址,用于子网内实例访问云上公共服务,比如访问DNS服务器等。

    198.19.128.0/20

    该地址为系统内部服务使用的网段地址,比如VPCEP等服务。

    127.0.0.0/8

    该地址为本地回环地址。

    子网网段地址

    该地址为VPC内的子网网段地址,用于实现当前VPC内不同子网的内网网络互通。

    您在创建子网时,可以指定子网的IPv4网段。如果勾选子网IPv6网段选项,系统将自动为当前子网分配IPv6网段,就可以在路由表中看到IPv6路由。示例如下:
    • IPv4子网网段地址:192.168.2.0/24
    • IPv6子网网段地址:2407:c080:802:be7::/64
  • 自定义路由:路由表创建完成后,您可以添加自定义路由来控制网络流量的走向,需要指定路由的目的地址和下一跳等信息。除了手动添加自定义路由,当您使用其他云服务时(比如云容器引擎CCE或者NAT网关),其他服务会自动在VPC路由表中添加自定义路由。

    路由表包括默认路由表和自定义路由表,不同路由表中支持添加自定义路由的下一跳类型有差异,详情请参见表2表3。相比自定义路由表,默认路由表支持添加自定义路由的下一跳类型较少,是由于部分服务(比如VPN、云专线、云连接等)会自动在默认路由表中添加路由,无需您手动在默认路由表中添加自定义路由。

    表2 默认路由表支持的下一跳类型

    下一跳类型

    说明

    服务器实例

    将指向目的地址的流量转发到虚拟私有云内的一台ECS实例。

    扩展网卡

    将指向目的地址的流量转发到虚拟私有云内的一台ECS实例的扩展网卡。

    辅助弹性网卡

    将指向目的地址的流量转发到虚拟私有云内的一台ECS实例的辅助弹性网卡。

    NAT网关

    将指向目的地址的流量转发到一个NAT网关。

    对等连接

    将指向目的地址的流量转发到一个对等连接。

    虚拟IP

    将指向目的地址的流量转发到一个虚拟IP地址,可以通过该虚拟IP地址将流量转发到主备ECS。

    VPC终端节点

    将指向目的地址的流量转发到一个VPC终端节点。

    云容器引擎

    将指向目的地址的流量转发到一个云容器引擎的节点。

    企业路由器

    将指向目的地址的流量转发到一个企业路由器。

    云防火墙

    将指向目的地址的流量转发到一个云防火墙。

    全域互联网网关

    将指向目的地址的流量转发到一个全域互联网网关。

    表3 自定义路由表支持下一跳类型

    下一跳类型

    说明

    服务器实例

    将指向目的地址的流量转发到虚拟私有云内的一台ECS实例。

    扩展网卡

    将指向目的地址的流量转发到虚拟私有云内的一台ECS实例的扩展网卡。

    裸金属服务器自定义网络

    将指向目的地址的流量转发到一个裸金属服务器自定义网络。

    VPN网关

    将指向目的地址的流量转发到一个VPN网关。

    云专线网关

    将指向目的地址的流量转发到一个云专线网关。

    云连接

    将指向目的地址的流量转发到云连接。

    辅助弹性网卡

    将指向目的地址的流量转发到虚拟私有云内的一台ECS实例的辅助弹性网卡。

    NAT网关

    将指向目的地址的流量转发到一个NAT网关。

    对等连接

    将指向目的地址的流量转发到一个对等连接。

    虚拟IP

    将指向目的地址的流量转发到一个虚拟IP地址,可以通过该虚拟IP地址将流量转发到主备ECS。

    VPC终端节点

    将指向目的地址的流量转发到一个VPC终端节点。

    云容器引擎

    将指向目的地址的流量转发到一个云容器引擎的节点。

    企业路由器

    将指向目的地址的流量转发到一个企业路由器。

    云防火墙

    将指向目的地址的流量转发到一个云防火墙。

    全域互联网网关

    将指向目的地址的流量转发到一个全域互联网网关。

    通常情况下,由服务自动添加至VPC路由表的路由不支持修改和删除。但在某些特定情况下,如果添加路由的服务在创建路由时设置了目的地址,则这些路由可供用户修改和删除。

    例如,创建NAT网关时,会自动添加一条自定义类型的路由,没有明确指定目的地址(默认为0.0.0.0/0),此时用户可修改该目的地址。而创建VPN网关时,可以指定远端子网作为路由的目的地址,VPN将添加一条系统类型的路由。如果在VPC路由表页面更改路由,将会导致与VPN侧数据不一致,您可以前往VPN服务页面修改远端子网来调整路由表中的路由规则。

    不支持手动在VPC路由表中添加下一跳类型为“VPC终端节点”或者“云容器引擎”的路由,通常您在配置VPC终端节点或者云容器引擎服务时,由该服务自动添加在VPC路由表中。

路由表工作原理

VPC的每个子网都需要和路由表关联,子网可以关联默认路由表,或者关联自定义路由表。子网和路由表关联的更多详细信息,请参见更换子网关联的路由表

图2展示了VPC-A下的两个子网,分别关联不同的路由表,实现不同的网络访问需求:
  • 子网1关联默认路由表,其中包含一条指向VPN网关的路由,使子网1内的ECS能够通过VPN访问云下IDC。
  • 子网2关联自定义路由表,其中包含一条指向NAT网关的路由,使子网2能够通过NAT网关及EIP访问公网。
图2 子网关联默认路由表和自定义路由

路由优先级

在VPC路由表中,路由优先级从高到低匹配顺序为:Local路由>明细路由>弹性公网IP(EIP)路由>默认路由。各类型路由的详细说明请参见表4
表4 VPC路由优先级说明

序号

路由类型

说明

1

Local路由

Local路由是VPC内通信的系统路由,优先级最高表5中提供了Local路由示例。

2

明细路由

除去Local路由,当路由表中同时有多条路由规则可以匹配目的 IP 地址时,此时遵循最长匹配原则,即优先采用掩码最长,最精确匹配的一条路由并确定下一跳。

例如,进入VPC的某流量目的地址为192.168.1.12/32,VPC路由表中有以下路由:

  • 路由A的目的地址为192.168.0.0/16,下一跳为ECS-A。
  • 路由B的目的地址为192.168.1.0/24,下一跳为对等连接。
  • 路由C的目的地址为0.0.0.0/0,下一跳为NAT网关。

根据最长匹配原则,该流量和路由B的目的地址匹配度更高,将去往对等连接。

3

弹性公网IP(EIP)路由

如果子网内的ECS关联了EIP,则EIP的优先级高于路由表中的默认路由(目的地址为0.0.0.0/0),此时流量将会通过EIP访问公网。

示例:
  • 路由A的目的地址为0.0.0.0/0,下一跳为NAT网关。
  • VPC子网内的ECS-A关联了EIP。

则ECS-A出方向的流量将去往公网,不会去往NAT网关。

4

默认路由

目的地址为0.0.0.0/0的是默认路由,可以匹配任何流量。按照最长匹配原则,0.0.0.0/0优先级最低。

路由表配置示例

通过在VPC路由表中配置不同下一跳类型的路由,可以实现您访问特定网络的需求。例如,您可以设置下一跳为对等连接以实现VPC之间的通信,或者设置下一跳为NAT网关以访问公网网络。

图3所示,区域A内,在VPC-A和VPC-B之间建立对等连接peering-AB,并在两个VPC的路由表中分别添加指向对端VPC的路由,从而连通VPC-A和VPC-B之间的网络。
图3 通过对等连接连通同区域VPC
图4所示,在区域A内创建一个企业路由器ER,并将VPC接入ER内。系统会自动在VPC路由表中添加指向ER的路由,同时在ER路由表中也会添加指向VPC的路由。通过这种方式,ER能够在4个VPC之间转发流量,实现VPC之间的网络连接。
图4 通过企业路由器连通同区域VPC
图5所示,在区域A内,VPC-A的子网Subnet-A01内的ECS需要访问公网。首先在子网Subnet-NAT中创建一个公网NAT网关,其次在公网NAT网关中配置Subnet-A01子网网段对应的SNAT规则,则系统将自动在VPC-A的路由表中添加一条指向NAT网关的路由,通过该路由,可以将ECS流量转发至NAT网关,并通过EIP实现对公网的访问。
图5 通过NAT网关实现VPC内ECS访问公网

路由表和路由的使用限制

当您创建VPC时,系统会同步为VPC创建一个默认路由表。除此之外,您还可以创建自定义路由表。
  • 在一个VPC内,最多可关联5个路由表,包括1个默认路由表和4个自定义路由表。
  • 在一个VPC内的所有路由表中,最多可容纳1000条路由。系统自动创建的路由,即类型为“系统”的路由不占用该配额。
在VPC路由表中,存在系统添加的Local路由以及自定义路由。
  • 通常情况下,自定义路由的目的地址不能与系统添加的Local路由的目的地址重叠。Local路由的目的地址一般有子网网段地址,以及系统内部通信的网段地址。

    例如,若VPC-A下存在一个IPv4/IPv6双栈子网,其IPv4子网网段为192.168.2.0/24,IPv6子网网段为2407:c080:802:be7::/64,系统将自动添加相应的Local路由,如表5所示。在此情况下,用户设置的自定义路由的目的地址,不能与这些已有的Local路由产生重叠。

    表5 VPC-A Local路由示例

    Local路由目的地址

    目的地址说明

    192.168.2.0/24

    IPv4子网网段地址

    2407:c080:802:be7::/64

    IPv6子网网段地址

    100.64.0.0/10

    云上公共服务网段地址,如DNS等服务

    198.19.128.0/20

    系统内部服务使用的网段地址,如VPCEP等服务

    127.0.0.0/8

    本地回环地址

  • 您无法在VPC路由表中添加目的地址相同的两条自定义路由,即使路由的下一跳类型不同也不行。

自定义路由表配置流程

图6 自定义路由表配置流程
表6 自定义路由表配置流程说明

序号

步骤

说明

操作指导

1

创建自定义路由表

当默认路由表无法满足您的使用需求时,您可以创建自定义路由表。

创建自定义路由表

2

添加自定义路由

您可以通过添加自定义路由来控制网络流量的走向,您需要指定路由的目的地址和下一跳等信息。

在路由表中添加路由

3

将路由表关联至子网

路由表和子网关联后,该路由表的路由规则将对该子网生效,子网下的云资源将启用新的路由规则。

将路由表关联至子网

相关文档