在配置数据迁移、数据同步或数据订阅时,如果源或目标库为通过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中的自建数据库作为源库或目标库。相关配置案例请参见同步方案概览、迁移方案概览或订阅方案概览。