路由表和路由概述
路由表
路由表由一系列路由规则组成,用于控制VPC内出入子网的流量走向。VPC中的每个子网都必须关联一个路由表,一个子网只能关联一个路由表,但一个路由表可以同时关联多个子网。
路由表一般分为默认路由表和自定义路由表,支持添加IPv4和IPv6路由。

特性讲解视频
本视频为您介绍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的每个子网都需要和路由表关联,子网可以关联默认路由表,或者关联自定义路由表。子网和路由表关联的更多详细信息,请参见更换子网关联的路由表。
- 子网1关联默认路由表,其中包含一条指向VPN网关的路由,使子网1内的ECS能够通过VPN访问云下IDC。
- 子网2关联自定义路由表,其中包含一条指向NAT网关的路由,使子网2能够通过NAT网关及EIP访问公网。
路由优先级
序号 |
路由类型 |
说明 |
---|---|---|
1 |
Local路由 |
Local路由是VPC内通信的系统路由,优先级最高, 表5中提供了Local路由示例。 |
2 |
明细路由 |
除去Local路由,当路由表中同时有多条路由规则可以匹配目的 IP 地址时,此时遵循最长匹配原则,即优先采用掩码最长,最精确匹配的一条路由并确定下一跳。 例如,进入VPC的某流量目的地址为192.168.1.12/32,VPC路由表中有以下路由:
根据最长匹配原则,该流量和路由B的目的地址匹配度更高,将去往对等连接。 |
3 |
弹性公网IP(EIP)路由 |
如果子网内的ECS关联了EIP,则EIP的优先级高于路由表中的默认路由(目的地址为0.0.0.0/0),此时流量将会通过EIP访问公网。
示例:
则ECS-A出方向的流量将去往公网,不会去往NAT网关。 |
4 |
默认路由 |
目的地址为0.0.0.0/0的是默认路由,可以匹配任何流量。按照最长匹配原则,0.0.0.0/0优先级最低。 |
路由表配置示例
通过在VPC路由表中配置不同下一跳类型的路由,可以实现您访问特定网络的需求。例如,您可以设置下一跳为对等连接以实现VPC之间的通信,或者设置下一跳为NAT网关以访问公网网络。
路由表和路由的使用限制
- 在一个VPC内,最多可关联5个路由表,包括1个默认路由表和4个自定义路由表。
- 在一个VPC内的所有路由表中,最多可容纳1000条路由。系统自动创建的路由,即类型为“系统”的路由不占用该配额。
- 通常情况下,自定义路由的目的地址不能与系统添加的Local路由的目的地址重叠。Local路由的目的地址一般有子网网段地址,以及系统内部通信的网段地址。
例如,若VPC-A下存在一个IPv4/IPv6双栈子网,其IPv4子网网段为192.168.2.0/24,IPv6子网网段为2407:c080:802:be7::/64,系统将自动添加相应的Local路由,如表5所示。在此情况下,用户设置的自定义路由的目的地址,不能与这些已有的Local路由产生重叠。
- 您无法在VPC路由表中添加目的地址相同的两条自定义路由,即使路由的下一跳类型不同也不行。