Azure VNet与阿里云VPC互通

可在阿里云VPCAzure VNet(Virtual network)之间建立IPsec-VPN连接,实现阿里云VPCAzure VNet的网络互通。

场景示例

image

以上图场景为例,某企业:

  • Azure平台的Germany West Central区域拥有一个VNet,VNet中创建了VM实例。

  • 在阿里云德国(法兰克福)地域创建了一个VPC,并且VPC下已创建了ECS实例。

  • 可使用阿里云IPsec-VPN(绑定VPN网关),在Azure虚拟网络和阿里云VPC之间建立网络连接,实现相互通信。

前提条件

在开始操作前,请确保您已经拥有以下环境并且已获得对应的资源信息:

  • Azure平台Germany West Central区域拥有一个虚拟网络,虚拟网络下部署了Azure VM实例。具体操作,请咨询Azure平台

  • 在阿里云平台德国(法兰克福)地域拥有一个VPC,VPC已创建ECS实例

  • 您已知Azure虚拟网络和阿里云VPC间要互通的网段信息:

    重要

    您可以自行规划网段,请确保Azure虚拟网络和阿里云VPC间要互通的网段没有重叠。

    资源

    网段

    资源IP地址

    阿里云VPC

    10.0.0.0/16

    ECS实例地址:

    10.0.0.1

    Azure虚拟网络

    192.168.0.0/16

    VM实例地址:

    192.168.0.1

步骤一:在阿里云创建VPN网关实例

您需要先在阿里云创建一个VPN网关实例,VPN网关实例创建完成后,系统会为VPN网关实例分配2IP地址,这2IP地址用于与Azure平台虚拟网络建立IPsec-VPN连接。

  1. 前往VPN 网关购买页,配置以下参数:

    以下仅列举本文强相关的配置,其余配置项保持默认值或为空。各选项的详细解释,请参见创建和管理VPN网关实例

    配置项

    说明

    本文示例值

    实例名称

    输入VPN网关实例的名称。

    输入VPN网关。

    地域和可用区

    选择VPN网关实例所属的地域。

    选择德国(法兰克福)

    网关类型

    选择VPN网关实例的网关类型。

    选择普通型

    网络类型

    选择VPN网关实例的网络类型。

    选择公网

    隧道

    系统直接展示当前地域IPsec-VPN连接支持的隧道模式。

    • 双隧道

    • 单隧道

    关于单隧道和双隧道的说明,请参见绑定VPN网关

    本文保持默认值双隧道

    VPC

    选择VPN网关实例关联的VPC实例。

    选择阿里云德国(法兰克福)地域的VPC实例。

    虚拟交换机

    VPC实例中选择一个交换机实例。

    • IPsec-VPN连接的隧道模式为单隧道时,您仅需要指定一个交换机实例。

    • IPsec-VPN连接的隧道模式为双隧道时,您需要指定两个交换机实例。

      IPsec-VPN功能开启后,系统会在两个交换机实例下各创建一个弹性网卡ENI(Elastic Network Interfaces),作为使用IPsec-VPN连接与VPC流量互通的接口。每个ENI会占用交换机下的一个IP地址。

    说明
    • 系统默认帮您选择第一个交换机实例,您可以手动修改或者直接使用默认的交换机实例。

    • 创建VPN网关实例后,不支持修改VPN网关实例关联的交换机实例,您可以在VPN网关实例的详情页面查看VPN网关实例关联的交换机、交换机所属可用区以及交换机下ENI的信息。

    选择VPC实例下的一个交换机实例。

    虚拟交换机2

    VPC实例中选择第二个交换机实例。

    • 您需要从VPN网关实例关联的VPC实例下指定两个分布在不同可用区的交换机实例,以实现IPsec-VPN连接可用区级别的容灾。

    • 对于仅支持一个可用区的地域 ,不支持可用区级别的容灾,建议您在该可用区下指定两个不同的交换机实例以实现IPsec-VPN连接的高可用,支持选择和第一个相同的交换机实例。

    说明

    如果VPC实例下没有第二个交换机实例,您可以新建交换机实例。具体操作,请参见创建和管理交换机

    选择VPC实例下的第二个交换机实例。

    IPsec-VPN

    选择开启或关闭IPsec-VPN功能。默认值:开启

    选择开启IPsec-VPN功能。

    SSL-VPN

    选择开启或关闭SSL-VPN功能。默认值:关闭

    选择关闭SSL-VPN功能。

  2. 返回VPN网关页面,查看创建的VPN网关实例

    刚创建好的VPN网关实例的状态是准备中,约1~5分钟左右会变成正常状态。正常状态表明VPN网关已经完成了初始化,可以正常使用。

    系统为VPN网关实例分配的2IP地址如下表所示:

    VPN网关实例的名称

    VPN网关实例ID

    IP地址

    VPN网关

    vpn-gw8dickm386d2qi2g****

    IPsec地址1(默认为主隧道地址):8.XX.XX.130

    IPsec地址2(默认为备隧道地址):8.XX.XX.75

步骤二:在Azure平台部署VPN

为在Azure虚拟网络和阿里云VPC之间建立IPsec-VPN连接,您需要根据以下信息在Azure平台部署VPN,配置需要的具体操作请咨询Azure平台。

  1. 在虚拟网络中创建网关子网。创建虚拟网络网关时将会使用到该子网。

    网关子网

  2. 创建虚拟网络网关。

    虚拟网络网关关联至需要和阿里云互通的虚拟网络上。本文中虚拟网络网关启用主动-主动模式,并新建2个公网IP地址,其余配置采用默认值。创建虚拟网络网关

    虚拟网络网关创建完成后,您可以在公共IP地址页面查看系统为虚拟网络网关分配的公共IP地址。本文中系统分配的公共IP地址为4.XX.XX.2244.XX.XX.166。资源关联

  3. 创建本地网络网关。

    您需要在Azure侧创建2个本地网络网关,每个本地网络网关配置阿里云VPN网关实例的一个IP地址,并将阿里云侧的VPC网段配置到每个本地网络网关上。

    重要

    针对使用DTSAzure向阿里云同步数据的场景,您还需要添加100.104.0.0/16网段,DTS将使用该网段下的地址迁移数据。

    关于DTS地址段的更多信息,请参见添加DTS服务器IP地址白名单

    本地网络网关

  4. 创建站点到站点VPN连接。

    重要

    阿里云和Azure平台下的IPsec-VPN连接均支持双隧道模式,但由于Azure平台的两条隧道默认关联至同一个本地网络网关,而阿里云侧两条隧道拥有不同的IP地址,导致Azure平台和阿里云侧的两条隧道无法做到一一对应建立连接。为确保阿里云侧IPsec-VPN连接下两条隧道同时启用,您需要在Azure平台创建两个站点到站点的VPN连接,每个站点到站点VPN连接关联不同的本地网络网关。

    下图展示其中一个站点到站点VPN连接的配置,创建VPN连接时选择站点到站点(IPsec)类型,并关联需要和阿里云建立VPN连接的虚拟网络网关,然后选择一个本地网络网关并设置共享密钥,其余配置项使用默认值。另一个站点到站点VPN连接关联与当前VPN连接不同的本地网络网关,其余配置与当前VPN连接相同。VPN链接上

    VPN链接下

步骤三:在阿里云部署VPN网关

Azure平台完成VPN配置后,请根据以下信息在阿里云侧部署VPN网关,以便Azure虚拟网络和阿里云VPC之间建立IPsec-VPN连接。

  1. 创建用户网关。

    1. 前往VPN网关控制台的用户网关页面。在顶部菜单栏,选择用户网关的地域为德国(法兰克福)

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

      您需要创建两个用户网关,并将Azure平台虚拟网络网关的2个公共IP地址作为用户网关的IP地址,以建立两个加密隧道。以下仅列举本文强相关配置项,其余配置保持默认值或为空。更多信息,请参见用户网关

      配置项

      说明

      用户网关1

      用户网关2

      名称

      输入用户网关的名称。

      输入用户网关1

      输入用户网关2

      IP地址

      输入Azure平台虚拟网络网关的公共IP地址。

      输入4.XX.XX.224

      输入4.XX.XX.166

  2. 创建IPsec连接。

    1. 在左侧导航栏,选择网间互联 > VPN > IPsec连接

    2. IPsec连接页面,单击绑定VPN网关

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

      配置项

      说明

      本文示例值

      IPsec连接名称

      输入IPsec连接的名称。

      输入IPsec连接

      地域

      选择IPsec连接要绑定的VPN网关实例的地域。

      IPsec连接创建完成后所属地域与VPN网关实例地域相同。

      选择德国(法兰克福)

      资源组筛选

      选择VPN网关实例所属的资源组。

      选择默认资源组。

      绑定VPN网关

      选择IPsec连接关联的VPN网关实例。

      选择已创建的VPN网关

      路由模式

      选择路由模式。

      • 目的路由模式:基于目的IP地址路由和转发流量。

      • 感兴趣流模式:基于源IP地址和目的IP地址精确的路由和转发流量。

      选择感兴趣流模式

      本端网段

      输入VPN网关实例关联的VPC实例下的网段。

      输入VPC网段:10.0.0.0/16

      重要

      针对使用DTSAzure向阿里云同步数据的场景,您还需要添加100.104.0.0/16网段,DTS将使用该网段下的地址迁移数据。

      对端网段

      输入VPN网关实例关联的VPC实例要访问的对端的网段。

      输入192.168.0.0/16

      立即生效

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

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

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

      选择

      启用BGP

      如果IPsec连接需要使用BGP路由协议,需要打开BGP功能的开关,系统默认关闭BGP功能。

      本文保持默认值,即不开启BGP功能。

      Tunnel 1

      为隧道1(主隧道)添加VPN相关配置。

      系统默认隧道1为主隧道,隧道2为备隧道,且不支持修改。

      用户网关

      为主隧道添加待关联的用户网关实例。

      选择用户网关1

      预共享密钥

      输入主隧道的认证密钥,用于身份认证。

      • 密钥长度为1~100个字符,支持数字、大小写英文字母及右侧字符~`!@#$%^&*()_-+={}[]\|;:',.<>/?

      • 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。

      重要

      隧道及其对端网关设备配置的预共享密钥需一致,否则系统无法正常建立IPsec-VPN连接。

      当前隧道的认证密钥需和连接的Azure平台VPN连接的密钥一致。

      加密配置

      添加IKE配置、IPsec配置、DPD、NAT穿越等配置。

      本文保持默认值。关于默认值的说明,请参见IPsec连接(VPN网关)

      Tunnel 2

      为隧道2(备隧道)添加VPN相关配置。

      用户网关

      为备隧道添加待关联的用户网关实例。

      选择用户网关2

      预共享密钥

      输入备隧道的认证密钥,用于身份认证。

      当前隧道的认证密钥需和Azure平台VPN连接的密钥一致。

      加密配置

      添加IKE配置、IPsec配置、DPD、NAT穿越等配置。

      本文保持默认值。关于默认值的说明,请参见IPsec连接(VPN网关)

    4. 创建成功对话框中,单击取消

  3. 配置VPN网关路由。

    创建IPsec连接后需要为VPN网关实例配置路由。创建IPsec连接时,如果路由模式您选择了感兴趣流模式,在IPsec连接创建完成后,系统会自动在VPN网关实例下创建策略路由,路由是未发布状态。您需要执行本操作,将VPN网关实例下的策略路由发布至VPC中。

    1. 在左侧导航栏,选择网间互联 > VPN > VPN网关

    2. 在顶部菜单栏,选择VPN网关实例的地域。

    3. VPN网关页面,单击目标VPN网关实例ID。

    4. VPN网关实例详情页面单击策略路由表页签,找到目标路由条目,在操作列单击发布

    5. 发布路由对话框,单击确定

步骤四:测试网络连通性

完成上述配置后,阿里云VPCAzure虚拟网络下的资源已经可以互相通信了,您可以通过以下步骤验证阿里云VPCAzure虚拟网络之间的网络连通性。

  1. Azure虚拟网络中创建并登录Azure VM实例。具体操作,请咨询Azure平台。

    重要

    在测试连通性前,请确保您已经了解阿里云VPCAzure虚拟网络所应用的安全组规则,并确保安全组规则允许阿里云VPCAzure虚拟网络下的资源互相通信。

  2. VM实例中执行ping命令,访问阿里云ECS实例的内网地址。

    ping 10.0.0.1

    如果VM实例可以收到如下所示的回复报文,则证明阿里云VPCAzure虚拟网络下的资源可以正常通信。

    image