在配置数据迁移、数据同步或数据订阅时,如果源或目标库为通过VPN网关接入的自建数据库,您需要配置DTS与VPN网关间的路由,允许DTS访问该网络。
场景示例
本文以下述场景为例。某企业在阿里云华北5(呼和浩特)地域拥有一个VPC,并在呼和浩特地域拥有一个本地数据中心,企业在本地数据中心和VPC下均创建了数据库。企业希望本地数据中心的数据可以被自动同步到阿里云VPC下的数据库中。
企业可以通过公网网络类型的VPN网关在本地数据中心和VPC之间建立IPsec-VPN连接,实现本地数据中心和VPC之间的加密互通,然后在本地数据中心和VPC之间加密互通的基础上使用DTS实现本地数据中心下的数据自动同步至VPC的数据库中。
 
前提条件
您已经在阿里云华北5(呼和浩特)地域创建一个VPC,VPC下通过云服务器 ECS(Elastic Compute Service)部署了数据库。具体操作,请参见搭建IPv4专有网络。
本文中本地数据中心和VPC的网络配置如下表所示。
您可以自行规划VPC实例的网段,请确保本地数据中心和VPC之间要互通的网段没有重叠。
| 资源 | 要互通的网段 | IP地址 | 数据库账号 | 
| 本地数据中心 | 172.16.0.0/12 | 
 | 
 | 
| VPC | 10.0.0.0/8 | 数据库所属ECS实例的IP地址:10.0.0.252 | 
 | 
配置流程

步骤一:创建VPN网关
- 登录VPN网关管理控制台。 
- 在顶部菜单栏,选择VPN网关的地域。 - VPN网关的地域需和待绑定的VPC实例的地域相同。 
- 在VPN网关页面,单击创建VPN网关。 
- 在购买页面,根据以下信息配置VPN网关,然后单击立即购买并完成支付。 - 配置项 - 说明 - 本文示例值 - 实例名称 - 输入VPN网关实例的名称。 - 输入VPNGW。 - 资源组 - 选择VPN网关实例所属的资源组。 - 如果不选择,VPN网关实例创建后将归属于默认资源组。 - 本文保持为空。 - 地域和可用区 - 选择VPN网关实例所属的地域。 - 选择华北5(呼和浩特)。 - 网关类型 - 选择VPN网关实例的网关类型。 - 选择普通型。 - 网络类型 - 选择VPN网关实例的网络类型。 - 公网:VPN网关通过公网建立VPN连接。 
- 私网:VPN网关通过私网建立VPN连接。 
 - 选择公网。 - 隧道 - 系统直接展示当前地域IPsec-VPN连接支持的隧道模式。 - 双隧道 
- 单隧道 
 - 关于单隧道和双隧道的说明,请参见【升级公告】IPsec-VPN连接升级为双隧道模式。 - 本文保持默认值双隧道。 - VPC - 选择VPN网关实例关联的VPC实例。 - 选择阿里云华北5(呼和浩特)地域的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实例下的第二个交换机实例。 - 带宽规格 - 选择VPN网关实例的带宽规格。单位:Mbps。 - 本文使用默认值。 - IPsec-VPN - 选择开启或关闭IPsec-VPN功能。默认值:开启。 - 选择开启IPsec-VPN功能。 - SSL-VPN - 选择开启或关闭SSL-VPN功能。默认值:关闭。 - 选择关闭SSL-VPN功能。 - 计费周期 - 选择购买时长。 - 您可以选择是否自动续费: - 按月购买:自动续费周期为1个月。 
- 按年购买:自动续费周期为1年。 
 - 本文使用默认值。 - 服务关联角色 - 单击创建关联角色,系统自动创建服务关联角色AliyunServiceRoleForVpn。 - VPN网关使用此角色来访问其他云产品中的资源,更多信息,请参见。 - 若本配置项显示为已创建,则表示您当前账号下已创建了该角色,无需重复创建。 - 根据需求创建服务关联角色或跳过本配置项。 
- 返回VPN网关页面,查看已创建的VPN网关实例。 - 创建VPN网关实例后,其状态是准备中,约1~5分钟会变成正常状态。正常状态表明VPN网关实例已经完成了初始化,可以正常使用。 - 系统会为公网网络类型的VPN网关实例分配两个不同的公网IP地址,用于建立两个加密隧道。本文中系统分配的两个公网IP地址如下表: - VPN网关实例的名称 - VPN网关实例ID - IPsec-VPN连接隧道公网IP地址 - VPNGW - vpn-bp1ox1xu1jo8m1ph0**** - 47.XX.XX.3 - 47.XX.XX.169 
步骤二:创建用户网关
- 在左侧导航栏,选择。 
- 在顶部菜单栏选择用户网关的地域。 - 用户网关地域需和VPN网关实例的地域相同。 
- 在用户网关页面,单击创建用户网关。 
- 在创建用户网关面板,根据以下信息进行配置,然后单击确定。 - 您需要创建两个用户网关用于创建两个加密隧道。以下仅列举本文强相关配置项,其余配置保持默认值或为空。更多信息,请参见创建和管理用户网关。 - 配置项 - 说明 - 用户网关1 - 用户网关2 - 名称 - 输入用户网关的名称。 - 输入CustomerGW1。 - 输入CustomerGW2。 - IP地址 - 输入本地数据中心的网关设备的公网IP地址。 - 输入211.XX.XX.36。 - 输入211.XX.XX.71。 
步骤三:创建IPsec连接
VPN网关和用户网关创建完成后,您需要在VPN网关实例下创建IPsec连接以建立VPN加密隧道。根据IPsec连接使用的IKE版本不同,需要执行不同的操作步骤。
使用IKEv2版本
- 在左侧导航栏,选择。 
- 在顶部菜单栏选择IPsec连接的地域。 - IPsec连接的地域需和VPN网关实例的地域相同。 
- 在IPsec连接页面,单击创建IPsec连接。 
- 在创建IPsec连接页面,根据以下信息配置IPsec连接,然后单击确定。 - 配置项 - 说明 - 本文示例值 - 名称 - 输入IPsec连接的名称。 - 输入IPsec-Connection。 - 绑定资源 - 选择IPsec连接绑定的资源类型。 - 选择VPN网关。 - VPN网关 - 选择IPsec连接关联的VPN网关实例。 - 选择VPNGW。 - 路由模式 - 选择路由模式。 - 目的路由模式:基于目的IP地址路由和转发流量。 
- 感兴趣流模式:基于源IP地址和目的IP地址精确的路由和转发流量。 
 - 选择感兴趣流模式。 - 本端网段 - 输入VPN网关实例关联的VPC实例下的网段。 - 输入以下两个网段: - VPC网段:10.0.0.0/8 
- DTS网段:100.104.0.0/16 
 重要- 您需要将DTS使用的地址段也添加到本端网段中,以便DTS通过VPN网关访问对端的数据库。 - 关于DTS地址段的更多信息,请参见添加DTS服务器的IP地址段。 - 对端网段 - 输入VPN网关实例关联的VPC实例要访问的对端的网段。 - 输入172.16.0.0/12。 - 立即生效 - 选择IPsec连接的配置是否立即生效。取值: - 是:配置完成后立即进行协商。 
- 否:当有流量进入时进行协商。 
 - 选择是。 - BGP配置 - 如果IPsec连接需要使用BGP路由协议,需要打开BGP配置的开关,系统默认关闭BGP配置。 - 本文保持默认值,即不开启BGP配置。 - Tunnel 1 - 为隧道1(主隧道)添加VPN相关配置。 - 系统默认隧道1为主隧道,隧道2为备隧道,且不支持修改。 - 用户网关 - 为主隧道添加待关联的用户网关实例。 - 选择CustomerGW1。 - 预共享密钥 - 输入主隧道的认证密钥,用于身份认证。 - 密钥长度为1~100个字符,支持数字、大小写英文字母及右侧字符 - ~`!@#$%^&*()_-+={}[]\|;:',.<>/?。
- 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。 
 重要- 隧道及其对端网关设备配置的预共享密钥需一致,否则系统无法正常建立IPsec-VPN连接。 - 输入fddsFF123****。 - 加密配置 - 添加IKE配置、IPsec配置、DPD、NAT穿越等配置。 - 本文保持默认值。关于默认值的说明,请参见创建和管理IPsec连接(双隧道模式)。 - Tunnel 2 - 为隧道2(备隧道)添加VPN相关配置。 - 用户网关 - 为备隧道添加待关联的用户网关实例。 - 选择CustomerGW2。 - 预共享密钥 - 输入备隧道的认证密钥,用于身份认证。 - 输入fddsFF456****。 - 加密配置 - 添加IKE配置、IPsec配置、DPD、NAT穿越等配置。 - 本文保持默认值。关于默认值的说明,请参见创建和管理IPsec连接(双隧道模式)。 
- 在创建成功对话框中,单击确定。 
- 保持在IPsec连接页面,找到创建的IPsec连接,在操作列单击生成对端配置。 - 对端配置是指需要在IPsec连接对端添加的VPN配置。本文场景中您需要将这些配置添加在本地网关设备上。 
- 在IPsec连接配置对话框,复制配置并保存在您的本地,用于后续配置本地网关设备。 
使用IKEv1版本
- 在左侧导航栏,选择。 
- 在顶部菜单栏选择IPsec连接的地域。 - IPsec连接的地域需和VPN网关实例的地域相同。 
- 在IPsec连接页面,单击创建IPsec连接。 
- 在创建IPsec连接页面,根据以下信息配置IPsec连接,然后单击确定。 - IPsec连接使用IKEv1版本时不支持添加多网段,您需要创建2个IPsec连接分别传输DTS流量和VPC的流量。 - 配置项 - 说明 - IPsec连接1 - IPsec连接2 - 名称 - 输入IPsec连接的名称。 - 输入IPsec-Connection1。 - 输入IPsec-Connection2。 - 绑定资源 - 选择IPsec连接绑定的资源类型。 - 选择VPN网关。 - 选择VPN网关。 - VPN网关 - 选择IPsec连接关联的VPN网关实例。 - 选择VPNGW。 - 选择VPNGW。 - 路由模式 - 选择路由模式。 - 目的路由模式:基于目的IP地址路由和转发流量。 
- 感兴趣流模式:基于源IP地址和目的IP地址精确的路由和转发流量。 
 - 选择感兴趣流模式。 - 选择感兴趣流模式。 - 本端网段 - 输入VPN网关实例关联的VPC实例下的网段。 - 输入VPC网段:10.0.0.0/8 - 输入DTS网段:100.104.0.0/16 重要- 您需要将DTS使用的地址段也添加到本端网段中,以便DTS通过VPN网关访问对端的数据库。 - 关于DTS地址段的更多信息,请参见添加DTS服务器的IP地址段。 - 对端网段 - 输入VPN网关实例关联的VPC实例要访问的对端的网段。 - 输入172.16.0.0/12。 - 输入172.16.0.0/12。 - 立即生效 - 选择IPsec连接的配置是否立即生效。取值: - 是:配置完成后立即进行协商。 
- 否:当有流量进入时进行协商。 
 - 选择是。 - 选择是。 - BGP配置 - 如果IPsec连接需要使用BGP路由协议,需要打开BGP配置的开关,系统默认关闭BGP配置。 - 本文保持默认值,即不开启BGP配置。 - 本文保持默认值,即不开启BGP配置。 - Tunnel 1 - 为隧道1(主隧道)添加VPN相关配置。 - 系统默认隧道1为主隧道,隧道2为备隧道,且不支持修改。 - 用户网关 - 为主隧道添加待关联的用户网关实例。 - 选择CustomerGW1。 - 选择CustomerGW1。 - 预共享密钥 - 输入主隧道的认证密钥,用于身份认证。 - 密钥长度为1~100个字符,支持数字、大小写英文字母及右侧字符 - ~`!@#$%^&*()_-+={}[]\|;:',.<>/?。
- 若您未指定预共享密钥,系统会随机生成一个16位的字符串作为预共享密钥。 
 重要- 隧道及其对端网关设备配置的预共享密钥需一致,否则系统无法正常建立IPsec-VPN连接。 - 输入fddsFF123****。 - 输入fddsFF123****。 - 加密配置 - 添加IKE配置、IPsec配置、DPD、NAT穿越等配置。 - 使用IKEv1版本,其余使用默认值。关于默认值的说明,请参见创建和管理IPsec连接(双隧道模式)。 - 使用IKEv1版本,其余使用默认值。关于默认值的说明,请参见创建和管理IPsec连接(双隧道模式)。 - Tunnel 2 - 为隧道2(备隧道)添加VPN相关配置。 - 用户网关 - 为备隧道添加待关联的用户网关实例。 - 选择CustomerGW2。 - 选择CustomerGW2。 - 预共享密钥 - 输入备隧道的认证密钥,用于身份认证。 - 输入fddsFF456****。 - 输入fddsFF456****。 - 加密配置 - 添加IKE配置、IPsec配置、DPD、NAT穿越等配置。 - 使用IKEv1版本,其余使用默认值。关于默认值的说明,请参见创建和管理IPsec连接(双隧道模式)。 - 使用IKEv1版本,其余使用默认值。关于默认值的说明,请参见创建和管理IPsec连接(双隧道模式)。 
- 在创建成功对话框中,单击确定。 
- 保持在IPsec连接页面,找到创建的IPsec连接,在操作列单击生成对端配置。 - 对端配置是指需要在IPsec连接对端添加的VPN配置。本文场景中您需要将这些配置添加在本地网关设备上。 
- 在IPsec连接配置对话框,复制配置并保存在您的本地,用于后续配置本地网关设备。 
步骤四:配置VPN网关路由
创建IPsec连接后需要为VPN网关实例配置路由以实现流量互通。创建IPsec连接时,如果路由模式您选择了感兴趣流模式,在IPsec连接创建完成后,系统会自动在VPN网关实例下创建策略路由,路由是未发布状态。您需要执行本操作,将VPN网关实例下的所有策略路由均发布至VPC中。
- 在左侧导航栏,选择。 
- 在顶部菜单栏,选择VPN网关实例的地域。 
- 在VPN网关页面,单击目标VPN网关实例ID。 
- 在VPN网关实例详情页面单击策略路由表页签,找到目标路由条目,在操作列单击发布。 
- 在发布路由对话框,单击确定。 
步骤五:配置本地网关设备
在阿里云侧创建IPsec连接后,您需要在本地网关设备上添加VPN配置和路由配置,使本地网关设备与VPN网关之间成功建立IPsec-VPN连接,同时使本地数据中心去往VPC的流量优先通过主隧道进行传出,在主隧道中断后自动切换至备隧道进行传输。
以下内容包含第三方产品信息,第三方产品信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。
不同厂商的设备配置命令可能会有所不同。具体命令,请咨询相关设备厂商。
使用IKEv2版本
- 根据保存在本地的IPsec连接对端配置,在本地网关设备中添加VPN配置。 - 登录本地网关设备的命令行配置界面。 
- 执行以下命令,配置ikev2 proposal和policy。 - //分别在本地网关设备1和本地网关设备2上添加如下配置 crypto ikev2 proposal alicloud encryption aes-cbc-128 //配置加密算法,本示例为aes-cbc-128。 integrity sha1 //配置认证算法,本示例为sha1。 group 2 //配置DH分组,本示例为group2。 exit ! crypto ikev2 policy Pureport_Pol_ikev2 proposal alicloud exit !
- 执行以下命令,配置ikev2 keyring。 - //在本地网关设备1上添加如下配置 crypto ikev2 keyring alicloud peer alicloud address 47.XX.XX.3 //配置云上IPsec连接主隧道公网IP地址,本示例为47.XX.XX.3。 pre-shared-key fddsFF123**** //配置预共享密钥,本示例为fddsFF123****。 exit ! //在本地网关设备2上添加如下配置 crypto ikev2 keyring alicloud peer alicloud address 47.XX.XX.169 //配置云上IPsec连接备隧道公网IP地址,本示例为47.XX.XX.169。 pre-shared-key fddsFF456**** //配置预共享密钥,本示例为fddsFF456****。 exit !
- 执行以下命令,配置ikev2 profile。 - //在本地网关设备1上添加如下配置 crypto ikev2 profile alicloud match identity remote address 47.XX.XX.3 255.255.255.255 //匹配云上IPsec连接主隧道公网IP地址,本示例为47.XX.XX.3。 identity local address 211.XX.XX.36 //本地网关设备1的公网IP地址,本示例为211.XX.XX.36。 authentication remote pre-share //认证对端的方式为PSK(预共享密钥的方式)。 authentication local pre-share //认证本端的方式为PSK。 keyring local alicloud //调用密钥串。 exit ! //在本地网关设备2上添加如下配置 crypto ikev2 profile alicloud match identity remote address 47.XX.XX.169 255.255.255.255 //匹配云上IPsec连接备隧道公网IP地址,本示例为47.XX.XX.169。 identity local address 211.XX.XX.71 //本地网关设备2的公网IP地址,本示例为211.XX.XX.71。 authentication remote pre-share //认证对端的方式为PSK(预共享密钥的方式)。 authentication local pre-share //认证本端的方式为PSK。 keyring local alicloud //调用密钥串。 exit !
- 执行以下命令,配置transform。 - //分别在本地网关设备1和本地网关设备2上添加如下配置 crypto ipsec transform-set TSET esp-aes esp-sha-hmac mode tunnel exit !
- 配置ACL(访问控制列表),定义需要保护的数据流。 - //分别在本地网关设备1和本地网关设备2上添加如下配置 access-list 100 permit ip 172.16.0.0 0.15.255.255 10.0.0.0 0.255.255.255
- 配置IPsec策略。 - //在本地网关设备1上添加如下配置 crypto map ipsecpro64 10 ipsec-isakmp set peer 47.XX.XX.3 set transform-set TSET set ikev2-profile alicloud set pfs group2 match address 100 //在本地网关设备2上添加如下配置 crypto map ipsecpro64 10 ipsec-isakmp set peer 47.XX.XX.169 set transform-set TSET set ikev2-profile alicloud set pfs group2 match address 100
- 执行以下命令,配置IPsec隧道。 - //在本地网关设备1上添加如下配置 interface GigabitEthernet1 //配置与云上IPsec连接建立VPN主隧道的接口IP地址。 ip address 211.XX.XX.36 255.255.255.0 crypto map ipsecpro64 //应用IPsec策略 negotiation auto ! //在本地网关设备2上添加如下配置 interface GigabitEthernet1 //配置与云上IPsec连接建立VPN备隧道的接口IP地址。 ip address 211.XX.XX.71 255.255.255.0 crypto map ipsecpro64 //应用IPsec策略 negotiation auto !
 
- 在本地网关设备1和本地网关设备2中添加路由配置。 - 在本地网关设备1和本地网关设备2中添加去往VPC的路由。 - //在本地网关设备1上添加去往VPC的路由 ip route 10.0.0.0 255.0.0.0 47.XX.XX.3 ip route 100.104.0.0 255.255.0.0 47.XX.XX.3 //在本地网关设备2上添加去往VPC的路由 ip route 10.0.0.0 255.0.0.0 47.XX.XX.169 ip route 100.104.0.0 255.255.0.0 47.XX.XX.169
- 请根据您的实际网络环境按需在本地数据中心添加路由配置,使本地数据中心去往VPC的流量优先通过本地网关设备1进行传输,在本地网关设备1故障后可以自动通过本地网关设备2进行传输。具体命令,请咨询相关设备厂商。 
 
使用IKEv1版本
- 根据保存在本地的IPsec连接对端配置,在本地网关设备中添加VPN配置。 - 登录本地网关设备的命令行配置界面。 
- 配置isakmp策略。 - //分别在本地网关设备1和本地网关设备2上添加如下配置 crypto isakmp policy 1 authentication pre-share encryption aes hash sha group 2 lifetime 86400
- 配置预共享密钥。 - //在本地网关设备1上添加如下配置 crypto isakmp key fddsFF123**** address 47.XX.XX.3 //在本地网关设备2上添加如下配置 crypto isakmp key fddsFF456**** address 47.XX.XX.169
- 配置IPsec安全协议。 - //分别在本地网关设备1和本地网关设备2上添加如下配置 crypto ipsec transform-set ipsecpro64 esp-aes esp-sha-hmac mode tunnel
- 配置ACL(访问控制列表),定义需要保护的数据流。 - //分别在本地网关设备1和本地网关设备2上添加如下配置 access-list 100 permit ip 172.16.0.0 0.15.255.255 10.0.0.0 0.255.255.255
- 配置IPsec策略。 - //在本地网关设备1上添加如下配置 crypto map ipsecpro64 10 ipsec-isakmp set peer 47.XX.XX.3 set transform-set ipsecpro64 set pfs group2 match address 100 //在本地网关设备2上添加如下配置 crypto map ipsecpro64 10 ipsec-isakmp set peer 47.XX.XX.169 set transform-set ipsecpro64 set pfs group2 match address 100
- 应用IPsec策略。 - //分别在本地网关设备1上添加如下配置 interface GigabitEthernet1 //在配置公网IP地址的接口下应用IPsec策略 crypto map ipsecpro64 //分别在本地网关设备2上添加如下配置 interface GigabitEthernet1 //在配置公网IP地址的接口下应用IPsec策略 crypto map ipsecpro64
 
- 在本地网关设备1和本地网关设备2中添加路由配置。 - 在本地网关设备1和本地网关设备2中添加去往VPC的路由。 - //在本地网关设备1上添加去往VPC的路由 ip route 10.0.0.0 255.0.0.0 47.XX.XX.3 ip route 100.104.0.0 255.255.0.0 47.XX.XX.3 //在本地网关设备2上添加去往VPC的路由 ip route 10.0.0.0 255.0.0.0 47.XX.XX.169 ip route 100.104.0.0 255.255.0.0 47.XX.XX.169
- 请根据您的实际网络环境按需在本地数据中心添加路由配置,使本地数据中心去往VPC的流量优先通过本地网关设备1进行传输,在本地网关设备1故障后可以自动通过本地网关设备2进行传输。具体命令,请咨询相关设备厂商。 
 
步骤六:测试连通性
完成上述配置后,本地数据中心和VPC之间已经可以相互通信了,您可以通过以下步骤验证本地数据中心和VPC之间的连通性。
- 登录VPC下的ECS实例。 - 关于如何登录ECS实例,请参见ECS远程连接方式概述。 
- 在ECS实例中执行 - ping命令,访问本地数据中心的数据库服务器。- 如果ECS实例可以收到回复报文,则证明本地数据中心和VPC之间可以正常通信。 - ping <本地数据中心数据库服务器IP地址>
步骤七:创建DTS实例
本地数据中心和VPC之间正常通信后,您可以开始创建DTS数据同步任务,DTS数据同步任务配置完成后可以将本地数据中心的数据自动同步至VPC下的数据库中。
在配置数据迁移、数据同步或数据订阅时,选择实例类型为专线/VPN网关/智能网关,然后下拉选择和源库连通的VPC,即可将本地IDC中的自建数据库作为源库或目标库。相关配置案例请参见同步方案概览、迁移方案概览或订阅方案概览。