路由表和路由概述
路由表
路由表由一系列路由规则组成,用于控制VPC内出入子网的流量走向。VPC中的每个子网都必须关联一个路由表,一个子网只能关联一个路由表,但一个路由表可以同时关联至多个子网。
路由表支持添加IPv4和IPv6路由。
- 默认路由表:用户创建VPC时,系统会自动为其生成一个默认路由表,创建子网后,子网会自动关联默认路由表。默认路由表可以确保VPC内,不同子网的内网网络互通。
- 您可以在默认路由表中添加、删除和修改路由规则,但不能删除默认路由表。
- 创建VPN、云专线、云连接服务时,默认路由表会自动下发路由,该路由不能删除和修改。
- 自定义路由表:您可以直接使用默认路由表,也可以为具有相同路由规则的子网创建一个自定义路由表,并将自定义路由表与子网关联。自定义路由表可以删除。
默认情况下,您没有创建自定义路由表的配额,因此创建自定义路由表时,请您根据界面提示“申请扩大配额”,具体请参见申请扩大配额。
路由
您可以在默认路由表和自定义路由表中添加路由,路由包括目的地址、下一跳类型、下一跳地址等信息,可以决定网络流量的走向。路由分为系统路由和自定义路由。
- 系统路由:系统路由一般为VPC服务或者其他服务(比如VPN、DC等)自动在路由表添加的路由,无法删除或修改。
- 自定义路由:路由表创建完成后,您可以添加自定义路由来控制网络流量的走向,需要指定路由的目的地址和下一跳等信息。除了手动添加自定义路由,当您使用其他云服务时(比如云容器引擎CCE或者NAT网关),其他服务会自动在VPC路由表中添加自定义路由。
路由表包括默认路由表和自定义路由表,不同路由表中支持添加自定义路由的下一跳类型有差异,详情请参见表1和表2。相比自定义路由表,默认路由表支持添加自定义路由的下一跳类型较少,是由于部分服务(比如VPN、云专线、云连接等)会自动在默认路由表中添加路由,无需您手动在默认路由表中添加自定义路由。
表1 默认路由表支持的下一跳类型 下一跳类型
说明
服务器实例
将指向目的地址的流量转发到虚拟私有云内的一台ECS实例。
扩展网卡
将指向目的地址的流量转发到虚拟私有云内的一台ECS实例的扩展网卡。
辅助弹性网卡
将指向目的地址的流量转发到虚拟私有云内的一台ECS实例的辅助弹性网卡。
NAT网关
将指向目的地址的流量转发到一个NAT网关。
对等连接
将指向目的地址的流量转发到一个对等连接。
虚拟IP
将指向目的地址的流量转发到一个虚拟IP地址,可以通过该虚拟IP地址将流量转发到主备ECS。
VPC终端节点
将指向目的地址的流量转发到一个VPC终端节点。
云容器引擎
将指向目的地址的流量转发到一个云容器引擎的节点。
企业路由器
将指向目的地址的流量转发到一个企业路由器。
云防火墙
将指向目的地址的流量转发到一个云防火墙。
全域互联网网关
将指向目的地址的流量转发到一个全域互联网网关。
表2 自定义路由表支持下一跳类型 下一跳类型
说明
服务器实例
将指向目的地址的流量转发到虚拟私有云内的一台ECS实例。
扩展网卡
将指向目的地址的流量转发到虚拟私有云内的一台ECS实例的扩展网卡。
裸金属服务器自定义网络
将指向目的地址的流量转发到一个裸金属服务器自定义网络。
VPN网关
将指向目的地址的流量转发到一个VPN网关。
云专线网关
将指向目的地址的流量转发到一个云专线网关。
云连接
将指向目的地址的流量转发到云连接。
辅助弹性网卡
将指向目的地址的流量转发到虚拟私有云内的一台ECS实例的辅助弹性网卡。
NAT网关
将指向目的地址的流量转发到一个NAT网关。
对等连接
将指向目的地址的流量转发到一个对等连接。
虚拟IP
将指向目的地址的流量转发到一个虚拟IP地址,可以通过该虚拟IP地址将流量转发到主备ECS。
VPC终端节点
将指向目的地址的流量转发到一个VPC终端节点。
云容器引擎
将指向目的地址的流量转发到一个云容器引擎的节点。
企业路由器
将指向目的地址的流量转发到一个企业路由器。
云防火墙
将指向目的地址的流量转发到一个云防火墙。
全域互联网网关
将指向目的地址的流量转发到一个全域互联网网关。
个别由系统下发的路由可供用户修改和删除,这取决于创建对端服务时是否已设置目的地址。
例如,创建NAT网关时,系统会自动下发一条自定义类型的路由,没有明确指定目的地址(默认为0.0.0.0/0),此时用户可修改该目的地址。而创建VPN网关时,可以指定远端子网,也就是路由的目的地址,系统将下发系统类型的路由。如果在路由表页面更改路由将会导致与对端数据不一致,您可以前往对端服务页面修改远端子网来调整路由表中的路由规则。
不支持手动在VPC路由表中添加下一跳类型为“VPC终端节点”或者“云容器引擎”的路由,通常您在配置VPC终端节点或者云容器引擎服务时,由该服务自动添加在VPC路由表中。
路由表和路由的使用限制
- 在一个VPC内,最多可关联5个路由表,包括1个默认路由表和4个自定义路由表。
- 在一个VPC内的所有路由表中,最多可容纳1000条路由。系统自动创建的路由,即类型为“系统”的路由不占用该配额。
- 通常情况下,自定义路由的目的地址不能与系统添加的Local路由的目的地址重叠。Local路由的目的地址一般有子网网段地址,以及系统内部通信的网段地址。
- 您无法在VPC路由表中添加目的地址相同的两条自定义路由,即使路由的下一跳类型不同也不行。
- 在VPC路由表中,路由的优先级说明请参见表3。
表3 VPC路由优先级说明 路由优先级
说明
Local路由最优先匹配
Local路由用于VPC内通信的系统默认路由,优先级最高。
最精确路由优先匹配
除去Local路由,当路由表中同时有多条路由规则可以匹配目的 IP 地址时,此时遵循最长匹配原则,即优先采用掩码最长,最精确匹配的一条路由并确定下一跳。
示例:- 流量的目的地址为192.168.1.12/32。
- 路由A的目的地址为192.168.0.0/16,下一跳为ECS-A。
- 路由B的目的地址为192.168.1.0/24,下一跳为对等连接。
则根据最长匹配原则,该流量和路由B的目的地址匹配度更高,将去往对等连接。
弹性公网IP(EIP)优先级高于默认路由
当路由表中存在默认路由(默认路由目的地址为0.0.0.0/0,表示匹配任何流量),并且子网内的ECS关联了EIP,则EIP的优先级高于默认路由,流量将会通过EIP访问公网。
示例:- 路由A的目的地址为0.0.0.0/0,下一跳为NAT网关。
- VPC子网内的ECS关联了EIP。
则ECS出方向的流量将去往公网,不会去往NAT网关。
图2 VPC路由表