文档

第三方SD-WAN设备对接转发路由器实现IDC与VPC互通

更新时间:

本文介绍第三方SD-WAN设备如何对接转发路由器实现本地数据中心IDC(Internet Data Center)与阿里云专有网络VPC(Virtual Private Cloud)互通。

场景示例

说明

以下文档包含第三方产品信息,第三方产品信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

本文以下图场景为例。某企业在中国上海地域拥有本地IDC1和本地IDC2,在阿里云华东2(上海)地域拥有服务VPC1,在阿里云华东1(杭州)地域拥有服务VPC2,企业需要本地IDC1、本地IDC2、阿里云服务VPC1、阿里云服务VPC2之间互相通信。企业希望本地IDC1和本地IDC2可以通过第三方SD-WAN设备与阿里云对接,以便在第三方SD-WAN设备上做访问控制策略确保本地IDC1和本地IDC2安全地接入阿里云。同时,企业希望阿里云和本地IDC之间可以实现路由的自动分发和学习,减少路由维护工作。

企业可以通过VPN连接将第三方SD-WAN设备直接连接至转发路由器,本地IDC通过第三方SD-WAN设备和转发路由器实现与VPC之间的通信。同时,在转发路由器、第三方SD-WAN设备、本地IDC1、本地IDC2上均运行BGP动态路由协议,实现路由的自动分发和学习。

SD-WAN场景示例

网络规划

网络功能规划

  • 在一个独立VPC中(本文指安全VPC)创建一个ECS(Elastic Compute Service)实例,通过在ECS实例中安装第三方镜像部署一个第三方SD-WAN设备。

    本文通过在安全VPC的ECS实例中安装FortiGate-VM-ALI-v7.0.6.F-build0366镜像来部署一个第三方SD-WAN设备。

  • 第三方SD-WAN设备和转发路由器之间可以使用VPN连接进行直接连接,其中VPN连接为私网网关类型。

  • 第三方SD-WAN设备和转发路由器之间使用BGP动态路由协议传播路由,实现路由的自动分发和学习。

  • 第三方SD-WAN设备分别与本地IDC1和本地IDC2建立IPsec-VPN连接,将本地IDC1和本地IDC2接入阿里云。

    第三方SD-WAN设备与本地IDC1、本地IDC2通过ADVPN(Auto Discovery VPN)功能建立全互联的IPsec-VPN连接。关于ADVPN功能的更多信息,请参见Fortinet帮助文档

  • 第三方SD-WAN设备与本地网关设备1和本地网关设备2均使用BGP动态路由协议,建立iBGP邻居关系,实现路由的自动分发和学习。

    本文中本地网关设备1和本地网关设备2均使用Fortinet设备,并安装FortiGate-VM-ALI-v7.0.6.F-build0366镜像。

网段规划

重要

在您规划网段时,请确保要互通的网段之间没有重叠。

表 1. 基础网段规划

资源

网段及IP地址

服务VPC1

  • 主网段:10.2.0.0/16

  • 交换机1:10.2.1.0/24,交换机1位于可用区F

  • 交换机2:10.2.2.0/24,交换机2位于可用区G

  • ECS1 IP地址:10.2.1.10,ECS1位于交换机1下

  • ECS2 IP地址:10.2.2.190,ECS2于交换机2下

服务VPC2

  • 主网段:10.1.0.0/16

  • 交换机1:10.1.1.0/24,交换机1位于可用区I

  • 交换机2:10.1.2.0/24,交换机2位于可用区H

  • ECS1 IP地址:10.1.1.10,ECS1位于交换机1下

  • ECS2 IP地址:10.1.2.191,ECS2于交换机2下

安全VPC

  • 主网段:172.16.0.0/16

  • 交换机1:172.16.0.0/24,交换机1位于可用区F

  • 交换机2:172.16.1.0/24,交换机2位于可用区G

  • ECS IP地址:172.16.0.15,ECS位于交换机1下

  • ECS拥有公网IP地址:42.XX.XX.129。

本地IDC1

客户端:192.168.254.100/32

本地IDC2

客户端:192.168.254.104/32

表 2. BGP相关地址规划

资源

BGP AS号

本端BGP IP地址

对端BGP IP地址

第三方SD-WAN设备和转发路由器之间的BGP配置

IPsec连接

65531

169.254.20.1

169.254.20.2

第三方SD-WAN设备

65534

169.254.20.2

169.254.20.1

第三方SD-WAN设备和本地IDC1之间的BGP配置

本地IDC1

65534

169.254.10.10

169.254.10.1

第三方SD-WAN设备

65534

169.254.10.1

169.254.10.10

第三方SD-WAN设备和本地IDC2之间的BGP配置

本地IDC2

65534

169.254.10.11

169.254.10.1

第三方SD-WAN设备

65534

169.254.10.1

169.254.10.11

准备工作

在开始配置前,请确保已完成以下操作:

  • 您已经在华东2(上海)地域创建了服务VPC1和安全VPC,在华东1(杭州)地域创建了服务VPC2,并使用ECS部署了相关业务。具体操作,请参见搭建IPv4专有网络

    • 对于服务VPC1和服务VPC2中的ECS实例,请根据您的业务需求部署相关应用。

    • 对于安全VPC中的ECS实例,您需要在ECS实例中安装第三方镜像(本文安装的为FortiGate-VM-ALI-v7.0.6.F-build0366镜像),将其部署为第三方SD-WAN设备,并确保第三方SD-WAN设备拥有公网IP地址。您可以通过云市场在ECS实例中安装第三方镜像。更多信息,请参见使用云市场镜像

    说明

    企业版转发路由器支持多个可用区的地域(例如华东2(上海)地域),需确保VPC实例在企业版转发路由器支持的可用区中拥有至少2个交换机实例,且2个交换机实例位于不同的可用区,每个交换机实例下需要拥有至少一个空闲的IP地址,以便后续将VPC实例连接至企业版转发路由器。关于企业版转发路由器支持的可用区的信息,请参见企业版转发路由器支持的地域和可用区

  • 您已经了解所有VPC中ECS实例所应用的安全组规则,并确保安全组规则允许本地IDC与ECS实例、ECS实例与ECS实例之间相互通信。具体操作,请参见查询安全组规则添加安全组规则

  • 您已经创建了云企业网实例。具体操作,请参见创建云企业网实例

配置流程

SD-WAN-配置流程

步骤一:创建转发路由器实例

通过云企业网实现本地IDC和VPC相互通信前,您需要在华东2(上海)地域和华东1(杭州)地域分别创建一个转发路由器实例,并为华东2(上海)地域的转发路由器实例分配转发路由器地址段,用于后续创建VPC连接和VPN连接。

  1. 登录云企业网管理控制台
  2. 云企业网实例页面,选择在准备工作中创建的云企业网实例,单击云企业网实例ID。

  3. 基本信息 > 转发路由器页签,单击创建转发路由器

  4. 创建转发路由器对话框,配置转发路由器实例信息,然后单击确认

    配置项

    说明

    华东2(上海)地域

    华东1(杭州)地域

    地域

    选择转发路由器实例所属的地域。

    本文选择华东2(上海)地域。

    本文选择华东1(杭州)地域。

    版本

    转发路由器实例的版本。

    系统自动判断并显示当前地域下转发路由器实例的版本。

    开通组播

    选择是否打开转发路由器实例的组播功能。

    本文保持默认值,即不打开组播功能。

    名称

    输入转发路由器实例的名称。

    本文输入TR-shanghai

    本文输入TR-hangzhou

    描述

    输入转发路由器实例的描述信息。

    本文输入shanghai

    本文输入hangzhou

    TR地址段

    输入转发路由器地址段。

    转发路由器地址段是您为转发路由器自定义的一个地址段,该地址段类似为路由器环回口(Loopback接口)分配IP地址的地址段。转发路由器地址段被用于为IPsec连接分配地址。更多信息,请参见转发路由器地址段

    本文输入10.10.10.0/24

    本文不输入转发路由器地址段。

步骤二:创建VPC连接

您需要将服务VPC1、安全VPC和服务VPC2连接至对应地域的转发路由器实例中,以便本地IDC和VPC之间可以通过转发路由器实例实现相互通信。

  1. 云企业网实例页面,选择在准备工作中创建的云企业网实例,单击云企业网实例ID。

  2. 基本信息 > 转发路由器页签,找到在步骤一中创建的转发路由器实例,在操作列单击创建网络实例连接

  3. 连接网络实例页面,根据以下信息进行配置,然后单击确定创建

    配置项

    配置项说明

    服务VPC1

    安全VPC

    服务VPC2

    实例类型

    选择网络实例类型。

    本文选择专有网络(VPC)

    本文选择专有网络(VPC)

    本文选择专有网络(VPC)

    地域

    选择网络实例所属的地域。

    本文选择华东2(上海)

    本文选择华东2(上海)

    本文选择华东1(杭州)

    转发路由器

    系统自动显示当前地域已创建的转发路由器实例ID。

    资源归属UID

    选择网络实例所属的阿里云账号和当前登录的账号是否为同一个账号。

    本文选择同账号

    本文选择同账号

    本文选择同账号

    付费方式

    VPC连接的付费方式。默认值为按量付费。关于转发路由器的计费规则,请参见计费说明

    连接名称

    输入VPC连接的名称。

    本文输入服务VPC1连接

    本文输入安全VPC连接

    本文输入服务VPC2连接

    网络实例

    选择网络实例。

    本文选择服务VPC1。

    本文选择安全VPC。

    本文选择服务VPC2。

    交换机

    在转发路由器支持的可用区选择交换机实例。

    • 如果企业版转发路由器在当前地域仅支持一个可用区,则您需要在当前可用区选择一个交换机实例。
    • 如果企业版转发路由器在当前地域支持多个可用区,则您需要在至少2个可用区中各选择一个交换机实例。在VPC和企业版转发路由器流量互通的过程中,这2个交换机实例可以实现可用区级别的容灾。

      推荐您在每个可用区中都选择一个交换机实例,以减少流量绕行,体验更低传输时延以及更高性能。

    本文在上海可用区F选择交换机1,在上海可用区G选择交换机2。

    本文在上海可用区F选择交换机1,在上海可用区G选择交换机2。

    本文在杭州可用区I选择交换机1,在杭州可用区H选择交换机2。

    高级配置

    选择要开启的高级配置。

    本文保持默认配置,即选择开启所有高级配置。

    本文保持默认配置,即选择开启所有高级配置。

    本文保持默认配置,即选择开启所有高级配置。

步骤三:创建跨地域连接

同地域服务VPC1和安全VPC连接至转发路由器实例后,可以直接相互通信。由于服务VPC1绑定的转发路由器实例和服务VPC2绑定的转发路由器实例位于不同的地域,服务VPC1与服务VPC2、安全VPC和服务VPC2之间默认无法通信。您需要在华东1(杭州)和华东2(上海)地域的转发路由器实例之间创建跨地域连接,实现服务VPC1与服务VPC2、安全VPC和服务VPC2的跨地域互通。

  1. 购买带宽包。

    在创建跨地域连接前,您需要先购买带宽包,以便为跨地域连接分配跨地域带宽。

    1. 云企业网实例页面,找到目标云企业网实例,单击云企业网实例ID。

    2. 在云企业网实例详情页面,选择基本信息 > 带宽包管理,单击购买带宽包(预付费)

    3. 在购买页面,根据以下信息配置带宽包,然后单击立即购买并完成支付。

      配置项

      说明

      商品类型

      选择带宽包的商品类型。

      • 非跨境:指互通区域为中国内地与中国内地的带宽包或者互通区域为非中国内地与非中国内地的带宽包。例如:亚太与北美。

      • 跨境:指互通区域为中国内地与非中国内地的带宽包。例如:中国内地与北美。

      本文选择非跨境

      云企业网

      选择需购买带宽包的云企业网实例。

      完成支付后,带宽包自动绑定至该云企业网实例。

      本文选择已创建的云企业网实例。

      区域-A

      选择参与互通的网络实例所在的区域。

      本文选择中国内地

      说明
      • 带宽包创建后,不支持修改互通区域。

      • 带宽包支持的区域及地域信息,请参见使用带宽包

      区域-B

      选择参与互通的网络实例所在的区域。

      本文选择中国内地

      计费方式

      显示带宽包的计费方式。默认为按带宽计费。

      带宽包计费说明,请参见计费说明

      带宽值

      请根据实际业务需求选择带宽包的带宽值。单位:Mbps。

      带宽包名称

      输入带宽包的名称。

      购买时长

      选择带宽包的购买时长。

      选中到期自动续费可开启带宽包自动续费功能。

      资源组

      选择带宽包所属的资源组。

      仅购买非跨境的带宽包时,支持配置该项。

  2. 创建跨地域连接。

    1. 云企业网实例页面,找到目标云企业网实例,单击云企业网实例ID。

    2. 基本信息 > 带宽包管理页签,单击设置跨地域带宽

    3. 连接网络实例页面,根据以下信息配置跨地域连接,然后单击确定创建

      配置项

      说明

      实例类型

      选择跨地域连接

      地域

      选择要互通的地域。

      本文选择华东1(杭州)

      转发路由器

      系统自动显示当前地域下转发路由器的实例ID。

      连接名称

      输入跨地域连接的名称。

      本文输入Cross-Region-test

      对端地域

      选择要互通的对端地域。

      本文选择华东2(上海)

      转发路由器

      系统自动显示当前地域下转发路由器的实例ID。

      带宽分配方式

      跨地域连接支持以下带宽分配方式:

      • 从带宽包分配:从已经购买的带宽包中分配带宽。

      • 按流量付费:按照跨地域连接实际使用的流量计费。

      本文选择从带宽包分配

      带宽包实例

      选择云企业网实例已绑定的带宽包实例。

      带宽

      输入跨地域连接的带宽值。单位:Mbps。

      高级配置

      保持默认配置,即选中全部高级配置选项。

步骤四:创建VPN连接

完成上述配置后,服务VPC1、服务VPC2和安全VPC之间已经可以相互通信,但是转发路由器和安全VPC无法学习到本地IDC的路由。您需要在第三方SD-WAN设备与转发路由器之间、第三方SD-WAN设备与本地IDC之间分别建立VPN连接,使第三方SD-WAN设备可以学习到本地IDC的路由,同时通过VPN连接将本地IDC的路由传播至转发路由器中。

  1. 登录VPN网关管理控制台
  2. 创建用户网关。

    在第三方SD-WAN设备与转发路由器之间建立VPN连接前,您需要先创建用户网关,将第三方SD-WAN设备的信息注册至阿里云上。

    1. 在左侧导航栏,选择网间互联 > VPN > 用户网关
    2. 在顶部菜单栏,选择用户网关的地域。

      选择第三方SD-WAN设备所属VPC所在的地域。本文选择华东2(上海)

    3. 用户网关页面,单击创建用户网关
    4. 创建用户网关面板,根据以下信息进行配置,然后单击确定

      配置项

      配置项说明

      用户网关

      名称

      输入用户网关的名称。

      本文输入Customer-Gateway

      IP地址

      输入第三方SD-WAN设备用于建立VPN连接的IP地址。

      本文输入第三方SD-WAN设备的私网IP地址172.16.0.15

      自治系统号

      输入第三方SD-WAN设备使用的BGP AS号。

      本文输入65534

  3. 创建IPsec连接。

    创建用户网关后,您需要在阿里云侧创建IPsec连接,转发路由器将通过IPsec连接与第三方SD-WAN设备建立VPN连接。

    1. 在左侧导航栏,选择网间互联 > VPN > IPsec连接
    2. 在顶部菜单栏,选择IPsec连接的地域。

      IPsec连接的地域需和用户网关的地域一致。本文选择华东2(上海)

    3. IPsec连接页面,单击创建IPsec连接
    4. 创建IPsec连接页面,根据以下信息配置IPsec连接,然后单击确定

      创建IPsec连接会产生计费,关于IPsec连接的计费说明,请参见计费说明

      配置项

      配置项说明

      IPsec连接

      名称

      输入IPsec连接的名称。

      本文输入IPsec连接

      绑定资源

      选择IPsec连接绑定的资源类型。

      本文选择云企业网

      网关类型

      选择IPsec连接的网络类型。

      本文选择私网

      安全VPC已被连接至转发路由器,第三方SD-WAN设备可通过私网与转发路由器建立VPN连接。

      CEN实例ID

      选择云企业网实例。

      本文选择在准备工作中已创建的云企业网实例。

      转发路由器

      选择IPsec连接待绑定的转发路由器实例。

      系统根据IPsec连接所在的地域自动选择当前地域下的转发路由器实例。

      可用区

      在转发路由器支持的可用区中选择部署IPsec连接的可用区。

      本文选择上海可用区F

      用户网关

      选择IPsec连接关联的用户网关。

      本文选择Customer-Gateway

      路由模式

      选择路由模式。

      本文选择目的路由模式

      立即生效

      选择IPsec连接的配置是否立即生效。取值:

      • :配置完成后立即进行协商。

      • :当有流量进入时进行协商。

      本文选择

      预共享密钥

      输入IPsec连接的认证密钥,用于本地网关设备和IPsec连接之间的身份认证。

      密钥长度为1~100个字符。若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。创建IPsec连接后,您可以通过编辑按钮查看系统生成的预共享密钥。具体操作,请参见修改IPsec连接

      重要

      IPsec连接和本地网关设备配置的预共享密钥需一致,否则系统无法正常建立IPsec-VPN连接。

      本文输入fddsFF123****

      加密配置

      添加IKE配置、IPsec配置等加密配置。

      本文使用IKEv1版本,其余配置项保持默认配置。更多信息,请参见创建和管理IPsec连接(单隧道模式)

      BGP配置

      选择是否开启BGP功能。BGP功能默认为关闭状态。

      本文开启BGP功能。

      隧道网段

      输入建立加密隧道时使用的网段。

      该网段应是一个在169.254.0.0/16网段内,掩码长度为30的网段。

      本文输入169.254.20.0/30

      本端BGP地址

      输入IPsec连接的BGP IP地址。

      该地址为隧道网段内的一个IP地址。

      本文输入169.254.20.1

      本端自治系统号

      输入IPsec连接的自治系统号。

      本文输入65531

      健康检查

      选择是否开启健康检查功能。健康检查功能默认为关闭状态。

      本文保持默认值,即不开启健康检查功能。

      IPsec连接创建成功后,系统将自动为每个IPsec连接分配一个网关IP地址,用于IPsec连接和第三方SD-WAN设备之间建立VPN连接。您可以在IPsec连接详情页面查看网关IP地址,如下图所示。查看私网IP地址

      说明
      • IPsec连接只有绑定转发路由器实例后系统才会为其分配网关IP地址。如果在您创建IPsec连接时,IPsec连接的绑定资源类型为不绑定或者为VPN网关,则系统并不会为其分配网关IP地址。

      • 私网类型的IPsec连接绑定转发路由器实例后,系统自动将IPsec连接的网关IP地址发布至转发路由器的路由表中。

  4. 下载IPsec连接对端的配置。

    返回到IPsec连接页面,找到刚刚创建的IPsec连接,在操作列单击下载对端配置

  5. 在第三方SD-WAN设备中添加VPN配置和BGP配置。

    创建IPsec连接后,请根据已下载的IPsec连接对端配置信息以及下述步骤,在第三方SD-WAN设备中添加VPN配置和BGP配置,以便第三方SD-WAN设备和转发路由器之间建立VPN连接。

    以下配置示例仅供参考,不同厂商的设备配置命令可能会有所不同。具体命令,请咨询相关设备厂商。

    1. 登录第三方SD-WAN设备的命令行配置界面。

    2. 执行以下命令,添加IPsec-VPN连接一阶段配置。

      config vpn ipsec phase1-interface                
          edit "to_Attachment"                        
              set interface "port1"                      #使用“port1”与转发路由器建立VPN连接
              set peertype any
              set net-device disable
              set proposal aes128-sha1                   #配置一阶段加密算法和认证算法,需和IPsec连接侧一阶段配置(IKE配置)保持一致
              set dhgrp 2                                #配置一阶段DH分组,需和IPsec连接侧一阶段配置(IKE配置)保持一致
              set remote-gw 192.168.168.1                #指定第三方SD-WAN设备对端的IP地址,为IPsec连接的网关IP地址
              set psksecret fddsFF123****                #输入预共享密钥,需和IPsec连接侧配置保持一致
          next
      end
                                      
    3. 执行以下命令,添加IPsec-VPN连接二阶段配置。

      config vpn ipsec phase2-interface
          edit "to_Attachment"
              set phase1name "to_Attachment"              
              set proposal aes128-sha1                    #配置二阶段加密算法和认证算法,需和IPsec连接侧二阶段配置(IPsec配置)保持一致
              set dhgrp 2                                 #配置二阶段DH分组,需和IPsec连接侧二阶段配置(IPsec配置)保持一致 
              set keylifeseconds 86400                    #配置SA生存周期
      next
      end
                                      
    4. 执行以下命令,配置IPsec-VPN隧道IP地址。

      config system interface
          edit "to_Attachment"
              set vdom "root"
              set ip 169.254.20.2 255.255.255.255            #配置隧道IP地址
              set allowaccess ping
              set type tunnel                                #指定隧道接口类型
              set remote-ip 169.254.20.1 255.255.255.0       #配置隧道对端IP地址
              set snmp-index 5
              set interface "port1"                          #指定隧道关联的物理接口为"port1"
          next
      end
    5. 执行以下命令,在第三方SD-WAN设备上配置安全策略。

      config firewall policy
          edit 3
              set name "FG-VM_to_attachment"                #配置从第三方SD-WAN设备去往阿里云方向的安全策略
              set srcintf "port1"                           #源接口为"port1"
              set dstintf "to_Attachment"                   #目的接口为VPN连接隧道接口
              set action accept                             #允许流量通行
              set srcaddr "all"                             #匹配所有源网段的流量
              set dstaddr "all"                             #匹配所有目的网段的流量
              set schedule "always"                            
              set service "ALL"
          next
          edit 4
              set name "attachment_to_FG-vm"                #配置从阿里云去往第三方SD-WAN设备方向的安全策略
              set srcintf "to_Attachment"                   #源接口为VPN连接隧道接口
              set dstintf "port1"                           #目的接口为"port1"
              set action accept                             #允许流量通行
              set srcaddr "all"                             #匹配所有源网段的流量
              set dstaddr "all"                             #匹配所有目的网段的流量
              set schedule "always"
              set service "ALL"
      next
      end                              
    6. 执行以下命令,添加BGP配置。

      config router bgp
          set as 65534                                       #指定第三方SD-WAN设备的BGP AS号为65534
          config neighbor
              edit "169.254.20.1"                            #指定对端用于建立BGP邻居的IP地址
                  set remote-as 65531                        #指定对端的BGP AS号为65531
                  set update-source "to_Attachment"          #指定使用VPN连接隧道接口和对端建立BGP邻居关系
              next
          end
          config network
              edit 1
                  set prefix 172.16.0.0 255.255.255.0         #宣告第三方SD-WAN设备所在的网段172.16.0.0/24
              next
          end
      end                               

步骤五:配置本地网关设备

您需要在本地网关设备1、本地网关设备2、第三方SD-WAN设备上分配添加VPN和BGP配置,使本地IDC1、本地IDC2、第三方SD-WAN设备之间互相建立IPsec-VPN连接,实现本地IDC1、本地IDC2和阿里云VPC互通、本地IDC1和本地IDC2互通。

说明
  • 第三方SD-WAN设备与本地IDC1、本地IDC2通过ADVPN(Auto Discovery VPN)功能建立全互联的IPsec-VPN连接。关于ADVPN功能的更多信息,请参见Fortinet帮助文档

  • 以下配置示例仅供参考,不同厂商的设备配置命令可能会有所不同。具体命令,请咨询相关设备厂商。

  1. 在第三方SD-WAN设备上添加BGP配置和VPN配置。

    1. 登录第三方SD-WAN设备的命令行配置界面。

    2. 执行以下命令,添加IPsec-VPN连接一阶段配置。

      config vpn ipsec phase1-interface
          edit "HUB"                                              #第三方SD-WAN设备作为Hub节点
              set type dynamic
              set interface "port1"                               #使用“port1”与本地IDC建立IPsec-VPN连接
              set ike-version 2                                   #使用IKE v2版本
              set peertype any
              set net-device disable                              #关闭本功能
              set proposal aes128-sha256 aes256-sha256            #配置一阶段加密算法和认证算法
              set add-route disable                               #关闭自动添加路由的功能
              set dpd on-idle
              set wizard-type hub-fortigate-auto-discovery         
              set auto-discovery-sender enable                    #在Hub节点开启本功能,以便接收与发送Spoke之间的直连隧道互
      联信息。
              set network-overlay enable
              set network-id 1
              set psksecret fddsFF456****                         #配置预共享密钥
              set dpd-retryinterval 60
          next
      end
                                      
    3. 执行以下命令,添加IPsec-VPN连接二阶段配置。

      config vpn ipsec phase2-interface
          edit "HUB"
              set phase1name "HUB"
              set proposal aes128-sha1 aes256-sha1                 #配置二阶段加密算法和认证算法
          next
      end
                                      
    4. 执行以下命令,配置IPsec-VPN隧道IP地址。

      
      config system interface                            
          edit "HUB"
              set vdom "root"
              set ip 169.254.10.1 255.255.255.255            #配置隧道IP地址
              set allowaccess ping
              set type tunnel                                #指定隧道接口类型
              set remote-ip 169.254.10.254 255.255.255.0     #配置隧道对端IP地址
              set interface "port1"                          #指定隧道关联的物理接口为"port1" 
          next
      end
      重要

      169.254.10.254是不被Spoke节点所使用的预留IP地址,IPsec-VPN隧道是一个点对点的隧道,但是ADVPN中这条隧道需要同时对应多个Spoke节点,因此不能将remote-ip写成一个存在的Spoke节点的IP地址。

    5. 执行以下命令,在第三方SD-WAN设备上配置安全策略。

      config firewall policy
          edit 7
              set name "HUB_to_SPOKE"        #配置从Hub节点去往Spoke节点方向的安全策略        
              set srcintf "port1"            #源接口为"port1" 
              set dstintf "HUB"              #目的接口为IPsec-VPN连接隧道接口
              set action accept              #允许流量通行
              set srcaddr "all"              #匹配所有源网段的流量
              set dstaddr "all"              #匹配所有目的网段的流量
              set schedule "always"
              set service "ALL"
          next
          edit 8
              set name "SPOKE_to_HUB"        #配置从Spoke节点去往Hub节点方向的安全策略
              set srcintf "HUB"              #源接口为IPsec-VPN连接隧道接口
              set dstintf "port1"            #目的接口为"port1" 
              set action accept              #允许流量通行
              set srcaddr "all"              #匹配所有源网段的流量
              set dstaddr "all"              #匹配所有目的网段的流量
              set schedule "always"
              set service "ALL"
          next
          edit 9
              set name "SPOKE_to_SPOKE"      #配置从Spoke节点去往从Spoke节点方向的安全策略
              set srcintf "HUB"              #源接口为IPsec-VPN连接隧道接口
              set dstintf "HUB"              #目的接口为IPsec-VPN连接隧道接口
              set action accept              #允许流量通行
              set srcaddr "all"              #匹配所有源网段的流量
              set dstaddr "all"              #匹配所有目的网段的流量
              set schedule "always"
              set service "ALL"
      next
      end                              
    6. 执行以下命令,添加BGP配置。

      config router bgp
          set as 65534                                           #指定第三方SD-WAN设备的BGP AS号为65534                                
          config neighbor-group                                  #启用neighbor-group属性
              edit "HUB_group"
                  set next-hop-self enable
                  set remote-as 65534                            #指定对端的BGP AS号
                  set additional-path send
                  set route-reflector-client enable              #开启路由反射功能,指定第三方SD-WAN设备为路由反射器
              next
          end
          config neighbor-range                                           
              edit 1
                  set prefix 169.254.10.0 255.255.255.0          #只要匹配前缀列表169.254.10.0/24的BGP邻居均可以和Hub节点建立iBGP邻居关系。
                  set neighbor-group "HUB_group"
              next
          end
          config network
              edit 1
                  set prefix 172.16.0.0 255.255.255.0            #宣告第三方SD-WAN设备所在的网段172.16.0.0/24
              next
          end
      end                              
  2. 在本地IDC1的本地网关设备1上添加配置。

    1. 登录本地网关设备1的命令行配置界面。

    2. 执行以下命令,添加IPsec-VPN连接一阶段配置。

      config vpn ipsec phase1-interface
          edit "hz_sp"
              set interface "wan1"                            #使用"wan1"接口与第三方SD-WAN设备建立IPsec-VPN连接
              set ike-version 2                               #使用IKE v2版本
              set peertype any
              set net-device disable                          #关闭该功能
              set proposal aes128-sha256 aes256-sha256        #配置一阶段加密算法和认证算法
              set add-route disable                           #关闭自动添加路由的功能
              set localid "hzoffice1"
              set dpd on-idle
              set wizard-type spoke-fortigate-auto-discovery
              set auto-discovery-receiver enable               #在Spoke节点开启本功能,以便接收Hub节点发送的直连隧道信息。
       set network-overlay enable
       set network-id 1
              set remote-gw 42.XX.XX.129                       #指定Hub节点的公网IP地址 
              set psksecret fddsFF456****                      #配置预共享密钥,需和Hub节点保持一致
          next
      end                            
    3. 执行以下命令,添加IPsec-VPN连接二阶段配置。

      config vpn ipsec phase2-interface
          edit "hz_sp"
              set phase1name "hz_sp"
              set proposal aes128-sha1 aes256-sha1          #配置二阶段加密算法和认证算法
              set auto-negotiate enable                     #开启自动协商    
          next
      end
                                      
    4. 执行以下命令,配置IPsec-VPN隧道IP地址。

      
      config system interface
          edit "hz_sp"
              set vdom "root"
              set ip 169.254.10.10 255.255.255.255           #配置隧道IP地址
              set allowaccess ping
              set type tunnel                                #指定隧道接口类型
              set remote-ip 169.254.10.254 255.255.255.0     #配置隧道对端IP地址
              set interface "wan1"                           #指定隧道关联的物理接口为"wan1" 
          next
      end
    5. 执行以下命令,在本地网关设备1上配置安全策略。

      config firewall policy
          edit 3
              set name "hz_sp_remote"        #配置去往本地IDC1方向的安全策略     
              set srcintf "hz_sp"            #源接口为IPsec-VPN连接隧道接口
              set dstintf "loopback"         #目的接口为连接本地IDC1的接口
              set action accept              #允许流量通行
              set srcaddr "all"              #匹配所有源网段的流量
              set dstaddr "all"              #匹配所有目的网段的流量
              set schedule "always"
              set service "ALL"
          next
          edit 4
              set name "hz_sp_to_hz_sp"      #配置本地IDC1和本地IDC2之间的安全策略
              set srcintf "hz_sp"            #源接口为IPsec-VPN连接隧道接口
              set dstintf "hz_sp"            #目的接口为IPsec-VPN连接隧道接口
              set action accept              #允许流量通行
              set srcaddr "all"              #匹配所有源网段的流量
              set dstaddr "all"              #匹配所有目的网段的流量
              set schedule "always"
              set service "ALL"
          next
          edit 5
              set name "hz_sp_local"          #配置本地IDC1去往外部的安全策略        
              set srcintf "loopback"          #源接口为连接本地IDC1的接口
              set dstintf "hz_sp"             #目的接口为IPsec-VPN连接隧道接口
              set action accept               #允许流量通行
              set srcaddr "all"               #匹配所有源网段的流量
              set dstaddr "all"               #匹配所有目的网段的流量
              set schedule "always"
              set service "ALL"
      next
      end  
    6. 执行以下命令,添加BGP配置。

      config router bgp
          set as 65534                                         #指定本地网关设备1的BGP AS号
          config neighbor
              edit "169.254.10.1"                              #与第三方SD-WAN设备建立iBGP邻居关系
                  set remote-as 65534                          #指定第三方SD-WAN设备的BGP AS号
                  set additional-path receive
              next
          end
          config network
              edit 1
                  set prefix 192.168.254.100 255.255.255.255   #宣告本地IDC1中的网段,用于与VPC、本地IDC2互通
              next
          end
      end                              
  3. 在本地IDC2的本地网关设备2上添加配置。

    1. 登录本地网关设备2的命令行配置界面。

    2. 执行以下命令,配置IPsec-VPN一阶段参数:

      
      config vpn ipsec phase1-interface                        
          edit "hz_sp1"
              set interface "wan1"                            #使用"wan1"接口与第三方SD-WAN设备建立IPsec-VPN连接
              set ike-version 2                               #使用IKE v2版本
              set peertype any
              set net-device disable                          #关闭该功能
              set proposal aes128-sha256 aes256-sha256        #配置一阶段加密算法和认证算法
              set add-route disable                           #关闭自动添加路由的功能
              set localid "hzoffice2"
              set dpd on-idle
              set wizard-type spoke-fortigate-auto-discovery  
              set auto-discovery-receiver enable               #在Spoke节点开启本功能,以便接收Hub节点发送的直连隧道信息。
              set network-overlay enable
              set network-id 1
              set remote-gw 42.XX.XX.129                       #指定Hub节点的公网IP地址
              set psksecret fddsFF456****                      #配置预共享密钥,需和Hub节点保持一致
          next
      end
                                      
    3. 执行以下命令,配置IPsec-VPN二阶段参数。

      config vpn ipsec phase2-interface
          edit "hz_sp1"
              set phase1name "hz_sp1"
              set proposal aes128-sha1 aes256-sha1          #配置二阶段加密算法和认证算法
              set auto-negotiate enable                     #开启自动协商    
          next
      end
                                      
    4. 执行以下命令,配置IPsec-VPN隧道IP地址。

      config system interface
          edit "hz_sp1"
              set vdom "root"
              set ip 169.254.10.11 255.255.255.255           #配置隧道IP地址
              set allowaccess ping
              set type tunnel                                #指定隧道接口类型
              set remote-ip 169.254.10.254 255.255.255.0     #配置隧道对端IP地址
              set interface "wan1"                           #指定隧道关联的物理接口为"wan1" 
          next
      end
    5. 执行以下命令,在本地网关设备2上配置安全策略。

      配置安全策略允许本地DC2和VPC之间、本地IDC1和本地IDC2之间的流量通行。

      config firewall policy
          edit 3
              set name "hz_sp1_remote"       #配置去往本地IDC2方向的安全策略     
              set srcintf "hz_sp1"           #源接口为IPsec-VPN连接隧道接口
              set dstintf "loopback"         #目的接口为连接本地IDC2的接口
              set action accept              #允许流量通行
              set srcaddr "all"              #匹配所有源网段的流量
              set dstaddr "all"              #匹配所有目的网段的流量
              set schedule "always"
              set service "ALL"
          next
          edit 4
              set name "hz_sp1_to_hz_sp1"    #配置本地IDC1和本地IDC2之间的安全策略
              set srcintf "hz_sp1"           #源接口为IPsec-VPN连接隧道接口
              set dstintf "hz_sp1"           #目的接口为IPsec-VPN连接隧道接口
              set action accept              #允许流量通行
              set srcaddr "all"              #匹配所有源网段的流量
              set dstaddr "all"              #匹配所有目的网段的流量
              set schedule "always"
              set service "ALL"
          next
          edit 5
              set name "hz_sp1_local"         #配置本地IDC2去往外部的安全策略        
              set srcintf "loopback"          #源接口为连接本地IDC2的接口
              set dstintf "hz_sp1"            #目的接口为IPsec-VPN连接隧道接口
              set action accept               #允许流量通行
              set srcaddr "all"               #匹配所有源网段的流量
              set dstaddr "all"               #匹配所有目的网段的流量
              set schedule "always"
              set service "ALL"
      next
      end                              
    6. 执行以下命令,添加BGP配置。

      config router bgp
          set as 65534                                          #指定本地网关设备2的BGP AS号
          config neighbor
              edit "169.254.10.1"                               #与第三方SD-WAN设备建立iBGP邻居关系
                  set remote-as 65534                           #指定第三方SD-WAN设备的BGP AS号
                  set additional-path receive                                
              next
          end
          config network
              edit 1
                  set prefix 192.168.254.104 255.255.255.255    #宣告本地IDC2中的网段,用于与VPC、本地IDC1互通
              next
          end
      end                            

步骤六:测试连通性

完成上述配置后,本地IDC和VPC之间已经可以实现互相通信。以下内容介绍如何测试本地IDC和VPC之间的网络连通性。

  1. 测试本地IDC1与服务VPC1、服务VPC2、本地IDC2的连通性。

    1. 登录本地IDC1下客户端的命令行界面。

    2. 在客户端中执行ping命令,尝试访问服务VPC1下的ECS1、服务VPC2下的ECS1和本地IDC2下的客户端。

      SD-WAN-IDC1TOremot如上图所示,如果本地IDC1下的客户端可以收到响应报文,则表示本地IDC1可以成功访问服务VPC1、服务VPC2和本地IDC2下的资源。

  2. 测试本地IDC2与服务VPC1、服务VPC2、本地IDC1的连通性。

    1. 登录本地IDC2下客户端的命令行界面。

    2. 在客户端中执行ping命令,尝试访问服务VPC1下的ECS1、服务VPC2下的ECS1和本地IDC1下的客户端。

      SD-WAN-IDC2TOremote如上图所示,如果本地IDC2下的客户端可以收到响应报文,则表示本地IDC2可以成功访问服务VPC1、服务VPC2和本地IDC1下的资源。

  3. 测试服务VPC1与本地IDC1、本地IDC2的连通性。

    1. 登录服务VPC1下的ECS1实例。具体操作,请参见ECS远程连接操作指南

    2. 在ECS1实例中执行ping命令,尝试访问本地IDC1和本地IDC2下的客户端。

      ping <本地IDC客户端的IP地址>
      SD-WAN-VPC1TOIDC

      如上图所示,如果ECS1实例可以收到响应报文,则表示服务VPC1可以成功访问本地IDC1和本地IDC2下的资源。

  4. 测试服务VPC2与本地IDC1、本地IDC2的连通性。

    1. 登录服务VPC2下的ECS1实例。具体操作,请参见ECS远程连接操作指南

    2. 在ECS1实例中执行ping命令,尝试访问本地IDC1和本地IDC2下的客户端。

      ping <本地IDC客户端的IP地址>
      SD-WAN-VPC2toIDC

      如上图所示,如果ECS1实例可以收到响应报文,则表示服务VPC2可以成功访问本地IDC1和本地IDC2下的资源。

  5. 测试服务VPC1和服务VPC2之间的连通性。

    1. 登录服务VPC1下的ECS1实例。具体操作,请参见ECS远程连接操作指南

    2. 在ECS1实例中执行ping命令,尝试访问服务VPC2下的ECS1实例。

      ping <ECS实例的IP地址>
      SD-WAN-VPC1TOVPC2

      如上图所示,如果服务VPC1下的ECS1实例可以收到响应报文,则表示服务VPC1可以成功访问服务VPC2下的资源。

    3. 登录服务VPC2下的ECS1实例。具体操作,请参见ECS远程连接操作指南

    4. 在ECS1实例中执行ping命令,尝试访问服务VPC1下的ECS1实例。

      ping <ECS实例的IP地址>
      SD-WAN-VPC2TOVPC1

      如上图所示,如果服务VPC2下的ECS1实例可以收到响应报文,则表示服务VPC2可以成功访问服务VPC1下的资源。

  • 本页导读 (1)
文档反馈