
# 路由概述
#### 路由
您可以在默认路由表和自定义路由表中添加路由，路由包括目的地址、下一跳类型、下一跳地址等信息，可以决定网络流量的走向。路由分为系统路由和自定义路由。
- 系统路由：系统路由一般为VPC服务或者其他服务（比如VPN、DC等）自动在路由表添加的路由，无法删除或修改。
  创建路由表时，VPC服务会自动在路由表中添加下一跳为Local的路由，通常情况下，路由表中有以下Local的路由：
  - 目的地址是100.64.0.0/10，该路由用于子网内实例访问云上公共服务，比如访问DNS服务器等。
  
  - 目的地址是198.19.128.0/20，表示系统内部服务使用的网段地址，比如VPCEP等服务。
  
  - 目的地址是127.0.0.0/8，表示本地回环地址。
  
  - 目的地址是子网网段，该路由用于当前VPC内，不同子网的内网网络互通。
    您在创建子网时，开启IPv6功能，系统将自动为当前子网分配IPv6网段，就可以在路由表中看到IPv6路由。子网网段目的地址示例如下：
    - IPv4地址：192.168.2.0/24。
    
    - IPv6地址：2407:c080:802:be7::/64。
      
    
- 自定义路由：路由表创建完成后，您可以添加自定义路由来控制网络流量的走向，需要指定路由的目的地址和下一跳等信息。除了手动添加自定义路由，当您使用其他云服务时（比如云容器引擎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终端节点。                       |
  | 云容器引擎       | 将指向目的地址的流量转发到一个云容器引擎的节点。                      |
  | 企业路由器       | 将指向目的地址的流量转发到一个企业路由器。                         |
  | 云防火墙        | 将指向目的地址的流量转发到一个云防火墙。                          |
  | 全域互联网网关     | 将指向目的地址的流量转发到一个全域互联网网关。                       |
     
  ![](https://support.huaweicloud.com/usermanual-cc/public_sys-resources/note_3.0-zh-cn.png)
  个别由系统下发的路由可供用户修改和删除，这取决于创建对端服务时是否已设置目的地址。
  例如，创建NAT网关时，系统会自动下发一条自定义类型的路由，没有明确指定目的地址（默认为0.0.0.0/0）,此时用户可修改该目的地址。而创建VPN网关时，可以指定远端子网，也就是路由的目的地址，系统将下发系统类型的路由。如果在路由表页面更改路由将会导致与对端数据不一致，您可以前往对端服务页面修改远端子网来调整路由表中的路由规则。
  不支持手动在VPC路由表中添加下一跳类型为"VPC终端节点"或者"云容器引擎"的路由，通常您在配置VPC终端节点或者云容器引擎服务时，由该服务自动添加在VPC路由表中。
  
 
#### 路由的使用限制
当您创建VPC时，系统会同步为VPC创建一个默认路由表。除此之外，您还可以创建自定义路由表。
- 在一个VPC内，最多可关联5个路由表，包括1个默认路由表和4个自定义路由表。
- 在一个VPC内的所有路由表中，最多可容纳1000条路由。系统自动创建的路由，即类型为"系统"的路由不占用该配额。
 
在VPC路由表中，存在系统添加的Local路由以及自定义路由。
- 通常情况下，自定义路由的目的地址不能与系统添加的Local路由的目的地址重叠。Local路由的目的地址一般有子网网段地址，以及系统内部通信的网段地址。
- 您无法在VPC路由表中添加目的地址相同的两条自定义路由，即使路由的下一跳类型不同也不行。
- 在VPC路由表中，路由的优先级说明请参见[表3]。
   表3VPC路由优先级说明 
  | 路由优先级                | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
  |:---|:---|
  | 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网关。                                                                                                    |
     
  
 
