同地域VBR通过路由策略实现静态主备路由

更新时间:
复制 MD 格式

在本地IDC通过多个VBR连接企业版TR访问VPC的场景中,如果多个VBR位于相同地域,您可以通过路由策略控制路由优先级,使VBR之间互为主备链路,实现流量优先通过主链路传输,在主链路中断后自动通过备链路传输。

背景信息

根据转发路由器路由优先级,相同地域下的2VBR实例连接至转发路由器(企业版)后,如果向转发路由器传播相同目标网段的路由,在路由的路由属性均相同的情况下,2VBR实例会形成ECMP链路,VPC访问本地IDC的流量将同时通过2VBR实例传输至本地IDC。

而对于一些用户,由于企业网络规划或本地网关设备限制不支持ECMP链路,仅支持通过主备链路访问云上VPC,可能会导致访问VPC和访问本地IDC的流量路径不一致,产生非对称路径的现象。为避免此问题,您可以在阿里云侧修改本地IDC路由的属性来指定主备路由,使访问本地IDC的流量也通过主备链路传输,确保访问VPC和访问本地IDC的流量路径一致。

根据转发路由器路由优先级的描述,您可以有多种方式来指定主备路由,本文将介绍如何使用路由策略控制本地IDC路由的优先级,使访问本地IDC的流量通过主备VBR链路传输。

image

场景示例

某企业的本地IDC已通过华东1(杭州)地域的2条物理专线连接上云,并通过企业版TR实现了本地IDCVPC间的网络通信。由于企业的网络规划不支持本地IDC通过ECMP链路访问VPC,企业当前需要调整流量路径,使本地IDCVPC之间的流量通过主备链路传输。其中,流量优先通过主链路传输,主链路中断后,自动通过备链路传输;主链路恢复后,自动恢复从主链路传输。

说明

本场景中VBR1VBR2均使用静态路由。

image

前置配置

开始操作前,本场景已完成本地IDC接入上云、本地IDCVPC间的网络互通。您可以在下述表格中查看上述场景涉及的网段以及已完成的网络配置。

单击查看网段和相关网络配置。

实例或资源

网段和IP地址

相关网络配置

VPC

  • VPC网段:10.0.0.0/16

  • 交换机网段:10.0.30.0/24、10.0.40.0/24

  • ECS IP地址:10.0.30.104

VPC已连接至美国(硅谷)TR,连接时开启所有高级配置,允许TR自动在VPC系统路由表中添加以下三条自定义路由条目。

三条路由条目的目标网段分别为 192.168.0.0/16172.16.0.0/1210.0.0.0/8,下一跳均为转发路由器,状态均为可用。

美国(硅谷)TR

-

美国(硅谷)TR和德国(法兰克福)TR之间已创建跨地域连接,确保美国(硅谷)TR已学习到本地IDC(192.168.0.0/16)的路由。

在美国(硅谷)TR转发路由器路由表页面,查看系统路由表的路由条目,确认已自动学习到目标网段为 192.168.0.0/16 的路由条目,下一跳资源类型为 TR,状态为可用

德国(法兰克福)TR

-

VBR1VBR2已被连接至德国(法兰克福)TR,确保德国(法兰克福)TR已通过VBR1VBR2同时学习到本地IDC(192.168.0.0/16)的路由,两条路由的下一跳资源类型均为 VBR,状态均为可用;同时,需确保德国(法兰克福)TR已通过跨地域连接学习到VPC的路由(10.0.30.0/24、10.0.40.0/24),下一跳资源类型为 TR,状态为可用

VBR1

  • 阿里云侧IPv4互联IP:10.99.0.2

  • 客户侧IPv4互联IP:10.99.0.1

  • IPv4子网掩码:255.255.255.252

  • VBR1已被连接至德国(法兰克福)TR,连接时开启所有高级配置

  • VBR1中已添加本地IDC的自定义路由条目:

    • 目标网段:本地IDC网段(192.168.0.0/16)

    • 下一跳实例:物理专线

VBR1已通过德国(法兰克福)TR学习到VPC的路由(10.0.30.0/24、10.0.40.0/24)

VBR2

  • 阿里云侧IPv4互联IP:10.1.0.1

  • 客户侧IPv4互联IP:10.1.0.2

  • IPv4子网掩码:255.255.255.252

  • VBR2已被连接至德国(法兰克福)TR,连接时开启所有高级配置

  • VBR2中已添加本地IDC的自定义路由条目:

    • 目标网段:本地IDC网段(192.168.0.0/16)

    • 下一跳实例:物理专线

VBR2已通过德国(法兰克福)TR学习到VPC的路由(10.0.30.0/24、10.0.40.0/24)

本地IDC

  • 待和VPC互通的网段:192.168.0.0/16

  • 客户端IP地址:192.168.10.135

  • CPE1

    已配置去往VPC(10.0.0.0/16)的静态路由,下一跳指向VBR1。

  • CPE2

    已配置去往VPC(10.0.0.0/16)的静态路由,下一跳指向VBR2。

操作步骤

步骤一:指定去往本地IDC的主备路由

  1. 配置路由策略

    需要在VBR实例连接的转发路由器下配置路由策略,通过路由策略修改路由属性进而指定主备路由。

    1. 登录云企业网管理控制台,在云企业网实例页面,找到转发路由器所属的云企业网实例,单击云企业网实例ID。

    2. 基本信息 > 转发路由器页签,单击VBR实例连接的转发路由器实例ID。

    3. 在转发路由器实例详情页面,单击转发路由器路由表页签。在转发路由器路由表下单击路由策略页签,然后单击添加路由策略

    4. 根据以下信息分别配置2个路由策略,指定去往本地IDC的主备路由,其余配置保持默认值。

      路由策略1

      路由策略2

      对来自VBR1实例的路由,指定路由优先级10,路由优先级的数字越小,路由的优先级越高。

      对来自VBR2实例的路由,指定路由优先级20,使来自VBR2实例的路由为备路由。

      • 策略优先级:10。

      • 关联路由表:转发路由器路由表。

      • 生效方向入地域网关

      • 匹配条件:选择源实例ID列表,并输入VBR1实例ID。

      • 策略行为:选择允许

      • 策略值:单击添加策略值,选择路由优先级,输入10。

      • 策略优先级:20。

      • 关联路由表:转发路由器路由表。

      • 生效方向入地域网关

      • 匹配条件:选择源实例ID列表,并输入VBR2实例ID。

      • 策略行为:选择允许

      • 策略值:单击添加策略值,选择路由优先级,输入20。

      路由策略配置完成后,您可以在当前页面的路由条目页签下查看到来自VBR2实例的路由状态已变为备份

  2. VBR实例配置健康检查

    为实现主备链路的自动切换,您需要在云企业网控制台为VBR实例配置健康检查。在主链路的VBR实例健康检查失败后,转发路由器会自动将流量切换至备链路传输;在主链路恢复后,转发路由器会自动将流量切换回主链路。

    1. 在左侧导航栏,单击VBR健康检查

    2. VBR健康检查页面,选择VBR实例所在的地域,然后单击设置健康检查

    3. 根据以下信息分别为VBR1VBR2配置健康检查,其余配置保持默认值。

      健康检查1

      健康检查2

      • 云企业网实例:选择转发路由器所属云企业网实例。

      • 边界路由器(VBR):选择VBR1。

      • IP:选择自动生成源IP

      • 目标IP:选择VBR1客户侧IPv4互联IP

      • 切换路由:保持开启状态。

      • 云企业网实例:选择转发路由器所属云企业网实例。

      • 边界路由器(VBR):选择VBR2。

      • IP:选择自动生成源IP

      • 目标IP:选择VBR2客户侧IPv4互联IP

      • 切换路由:保持开启状态。

    4. 在本地IDC中配置VBR健康检查的回程路由。

      您必须在本地IDC中手动配置目标网段为健康检查源IP地址,子网掩码为32位,下一跳指向对应物理专线的路由条目,否则健康检查探测ping报文无法正常从被探测物理专线原路返回,会导致阿里云误判物理专线链路不可用。

  3. (可选)VBR实例配置报警规则

    健康检查探测到主备链路失败后会自动切换路由,但并不会向您发送通知,推荐您一并为VBR实例配置报警规则,在物理专线故障后,系统会及时向您发送报警通知。

步骤二:指定去往VPC的主备路由

当前本地IDC可以通过CPE1CPE2访问VPC,为确保访问VPC和访问本地IDC的流量路径一致,您需要在本地IDC内也指定访问VPC的主备路由,使本地IDC优先通过CPE1访问VPC。同时,您需要一并添加健康检查和路由联动的配置,确保CPE1上云链路中断后本地IDC自动通过CPE2访问VPC;CPE1上云链路恢复后,自动恢复从CPE1访问VPC。

步骤三:测试主备链路

主备路由配置完成后,您可以使用高速通道故障演练功能中断主链路,测试主备链路之间是否可以正常地的自动切换。在测试过程中,您可以分别在本地IDC客户端和ECS实例中执行traceroute -I <目标IP地址>命令跟踪流量路径,查看流量是否按照期望的路径传输。

说明
  • -I”参数表示使用ICMP协议发送测试报文,请确保本地IDC访问控制规则和ECS安全组规则已放开ICMP协议,允许本地IDC网段和VPC网段通过。

  • 本文中本地IDC客户端使用CentOS Stream 9 64位系统。如果您的操作系统不支持traceroute命令,请先安装该命令。

  • 如果您的设备无法通过traceroute命令跟踪流量传输路径,您也可以在云企业网控制台通过查看VBR连接监控图表了解流量传输路径。

  1. 分别在ECS实例和本地IDC客户端中执行traceroute -I <目标IP地址>命令,查看当前的流量传输路径。

  2. 登录高速通道管理控制台配置故障演练来中断主链路,故障演练启动后分别在ECS实例和本地IDC客户端中查看流量路径。本场景故障演练配置详情如下:

    • 地域:选择德国(法兰克福)

    • 演练资源:选择边界路由器(VBR)

    • 实例列表:选择VBR1。

    • 演练方式:选择立即开始

    • 演练时长:5分钟。

  3. 故障演练结束后,主链路会自动恢复,分别在ECS实例和本地IDC客户端中再次查看流量路径。

    访问VPC方向和访问本地IDC方向的流量路径一致,均优先通过主链路传输,主链路中断后自动切换至备链路传输;主链路恢复后,自动切换回主链路传输。链路切换过程中会有短暂的流量中断。

    设备

    查看当前流量路径

    中断主链路后

    主链路恢复后

    本地IDC客户端

    在本地IDC客户端执行traceroute命令,其中第2跳经过 10.99.0.2 到达目标 10.0.30.104

    [e xxx ]$ traceroute -I 10.0.30.104
    traceroute to 10.0.30.104 (10.0.30.104), 30 hops max, 60 byte packets
    1  100.64.0.113 (100.64.0.113)  0.729 ms  *  *
    2  10.99.0.2 (10.99.0.2)  0.513 ms  0.653 ms  *
    3  *  *  *
    4  10.0.30.104 (10.0.30.104)  150.274 ms  150.269 ms  150.267 ms
    [exxxZ ~]$ traceroute -I 10.0.30.104
    traceroute to 10.0.30.104 (10.0.30.104), 30 hops max, 60 byte packets
    1  100.64.0.129 (100.64.0.129)  0.636 ms  0.845 ms  1.120 ms
    2  10.1.0.1 (10.1.0.1)  0.526 ms  0.675 ms  0.809 ms
    3  *  *  *
    4  10.0.30.104 (10.0.30.104)  150.429 ms  150.427 ms  150.424 ms

    恢复主链路后,在本地 IDC 客户端执行 traceroute,第 2 跳重新经过 10.99.0.2,表明流量已切回主链路。

    [exxx ~]$ traceroute -I 10.0.30.104
    traceroute to 10.0.30.104 (10.0.30.104), 30 hops max, 60 byte packets
    1  100.64.0.113 (100.64.0.113)  0.765 ms  1.041 ms  1.220 ms
    2  10.99.0.2 (10.99.0.2)  0.524 ms  0.804 ms  0.961 ms
    3  *  *  *
    4  10.0.30.104 (10.0.30.104)  150.156 ms  150.153 ms  150.150 ms

    ECS

    ECS上执行traceroute命令测试链路,第4跳下一跳地址为 10.99.0.1,表示流量经过该节点到达目标地址。

    ~]$ traceroute -I 192.168.10.135
    traceroute to 192.168.10.135 (192.168.10.135), 30 hops max, 60 byte packets
     1  * * *
     2  100.64.0.145 (100.64.0.145)  150.614 ms  150.947 ms  151.166 ms
     3  100.64.0.145 (100.64.0.145)  151.386 ms  151.658 ms  151.894 ms
     4  10.99.0.1 (10.99.0.1)  150.482 ms  150.563 ms  150.657 ms
     5  192.168.10.135 (192.168.10.135)  150.399 ms  150.396 ms  150.393 ms

    ECS上执行traceroute命令,第4跳路由地址变为10.1.0.2,说明流量已切换至备用链路。

    ~]$ traceroute -I 192.168.10.135
    traceroute to 192.168.10.135 (192.168.10.135), 30 hops max, 60 byte packets
     1  * * *
     2  100.64.0.225 (100.64.0.225)  151.232 ms  151.230 ms  151.529 ms
     3  100.64.0.225 (100.64.0.225)  151.762 ms  151.994 ms  152.374 ms
     4  10.1.0.2 (10.1.0.2)  150.702 ms  150.699 ms  150.696 ms
     5  192.168.10.135 (192.168.10.135)  150.692 ms  150.691 ms  150.688 ms

    恢复主VPC后,在ECS上执行traceroute命令,可以看到第4跳恢复为10.99.0.1,表明流量已切回主链路。

    ~]$ traceroute -I 192.168.10.135
    traceroute to 192.168.10.135 (192.168.10.135), 30 hops max, 60 byte packets
     1  * * *
     2  100.64.0.145 (100.64.0.145)  150.959 ms  151.269 ms  151.626 ms
     3  100.64.0.145 (100.64.0.145)  151.858 ms  152.054 ms  152.276 ms
     4  10.99.0.1 (10.99.0.1)  150.849 ms  150.891 ms  151.028 ms
     5  192.168.10.135 (192.168.10.135)  150.738 ms  150.734 ms  150.732 ms

常见问题

基础版转发路由器下如何配置主备路由?

基础版转发路由器也可参照上文步骤配置主备路由。配置界面可能与企业版转发路由器不同,参见相关操作文档即可。

如果您无法通过traceroute命令跟踪流量传输路径,您可以在高速通道控制台通过查看VBR实例监控图表了解流量传输路径。