客户端与VPC建立SSL-VPN连接后,客户端默认仅能访问该VPC内的资源,无法访问其他VPC内的资源。但您可以借助云企业网产品或VPC对等连接功能先实现跨VPC互联,然后再在相关产品中添加路由配置,客户端便可通过SSL-VPN连接访问跨VPC内的资源。例如访问同地域其他VPC资源、访问跨地域VPC资源、访问跨账号VPC资源等。
场景说明
客户端能否访问跨地域VPC资源、跨账号VPC资源或同地域其他VPC资源,由跨VPC互联场景决定。当前云企业网、VPC对等连接功能均支持同地域VPC互联、跨地域VPC互联,跨账号VPC互联、多个VPC同时互联,使用这两种方式实现的VPC互联场景均能实现客户端访问跨VPC资源。实现跨VPC互联后,在SSL服务端中添加所有待互通的跨VPC网段,在相关产品中添加去往客户端的路由,客户端便可通过SSL-VPN连接访问跨VPC内的资源。
云企业网、VPC对等连接两种VPC互联方式的区别,请参见VPC互连。
|
云企业网 |
VPC对等连接 |
|
|
|
场景示例
本文以下图场景为例。客户端已与VPC1建立SSL-VPN连接,可以正常访问VPC1内的资源。因公司业务部署变化调整,员工在外地办公时客户端也需要访问VPC2内的资源,企业可以先使用云企业网或VPC对等连接实现VPC1和VPC2互联,然后分别在SSL服务端、VPC1或VPC2中添加路由配置,客户端便可通过SSL-VPN连接访问VPC2内的资源。
前提条件
-
客户端与VPC1已建立SSL-VPN连接,客户端可访问VPC1内的资源。具体操作,请参见PC/Android通过SSL-VPN连接VPC。
-
在SSL服务端详情页面查看SSL服务端配置的客户端网段和客户端虚拟地址,用于后续配置和网络连通性测试。
本示例中,客户端网段为
10.10.10.0/24,在SSL连接中可查看客户端获得的虚拟地址为10.10.10.6。重要请确保客户端网段与VPC1、VPC2中待互通的网段没有重叠,VPC1与VPC2之间要与客户端互通的网段也没有重叠。如果客户端网段有重叠,您可以修改客户端网段,修改操作会导致SSL-VPN连接中断,客户端需重新发起SSL-VPN连接。
操作步骤
本文将分别描述使用云企业网和使用VPC对等连接实现跨VPC互联场景下如何进行操作,您选择其中一种方式进行操作即可。
步骤一:跨VPC互联
使用云企业网实现跨VPC互联
本文使用云企业网实现的是同账号跨地域VPC互联,如果您要使用云企业网实现其他VPC互联场景,例如跨账号VPC互联,请参见云企业网快速入门。
-
创建云企业网实例时选择单独创建,自定义云企业网实例名称,其余配置保持默认状态即可。
-
分别在华东1(杭州)和华东2(上海)地域各创建一个TR实例。除地域外,其余配置项保持默认状态即可。
-
创建VPC连接。
将VPC1连接至华东1(杭州)地域TR,将VPC2连接至华东2(上海)地域TR。
登录云企业网管理控制台。
在云企业网实例页面,找到目标云企业网实例,单击目标实例ID。
-
在页签,在任意一个TR实例的操作列单击创建网络实例连接。
-
在连接网络实例页面,根据以下配置分别将VPC1和VPC2连接至TR。
配置项
连接VPC1
连接VPC2
实例类型
选择专有网络(VPC)。
选择专有网络(VPC)。
地域
选择华东1(杭州)。
选择华东2(上海)。
资源归属UID
保持默认值:同账号。
连接名称
定义为VPC1-Attachment。
定义为VPC2-Attachment。
网络实例
选择VPC1。
选择VPC2
交换机
在TR支持的可用区选择交换机实例。
在支持多个可用区的地域,您至少需要在2个可用区中各选择一个交换机实例。在VPC和TR流量互通的过程中,这2个交换机实例可以实现可用区级别的容灾。交换机数量不足,可新建交换机。
高级配置
保持默认值,即开启所有高级配置。
说明如果VPC的路由表中已经存在目标网段为10.0.0.0/8、172.16.0.0/12或192.168.0.0/16的路由条目,则系统无法再自动下发该路由条目,您需要在VPC路由表中手动添加指向VPC连接的路由条目以实现VPC和TR之间的流量互通。
您可以在网络实例右侧单击发起路由检查查看网络实例内是否存在上述路由。
-
创建跨地域连接。
VPC1和VPC2位于不同的地域,需在华东1(杭州)地域TR和华东2(上海)地域TR之间创建跨地域连接,才能实现VPC1和VPC2互联。
-
在页签,在任意一个TR实例的操作列单击创建网络实例连接。
-
在连接网络实例页面,根据以下信息创建跨地域连接。
配置项
说明
实例类型
选择跨地域连接。
地域
选择华东1(杭州)。
对端地域
选择华东2(上海)。
带宽分配方式
选择按流量付费的带宽分配方式。
说明按流量付费模式下跨地域连接的流量传输费由CDT产品统一计费。
带宽
输入跨地域连接的带宽值。单位:Mbps。
高级配置
保持默认值,即开启所有高级配置。
-
使用VPC对等连接实现跨VPC互联
本文使用VPC对等连接实现的是同账号跨地域VPC互联,如果您要使用VPC对等连接实现其他VPC互联场景,例如跨账号VPC互联,请参见使用VPC对等连接实现VPC私网互通。
-
创建VPC对等连接。
-
登录对等连接管理控制台,在顶部菜单栏处,选择发起端VPC所在地域。
本文指定VPC1为发起端,选择华东1(杭州)地域。
-
如果您是初次使用VPC对等连接,请在VPC对等连接页面,单击开通CDT功能,然后在弹出的对话框单击确定开通。
-
在VPC对等连接页面,单击创建对等连接,配置以下参数信息。
选择发起端VPC实例,接收端账号类型选择同账号,接收端地域类型选择跨地域,链路类型选择金,接收端地域选择华东2(上海),选择接收端VPC实例,然后单击确定。
-
-
配置VPC对等连接路由。
-
在VPC对等连接页面,找到已创建的VPC对等连接,在发起端VPC实例列单击配置路由条目,为VPC1添加去往VPC2的路由条目,以便后续客户端可以通过VPC1访问VPC2。在配置路由条目对话框中,名称填写
to-SH,目标网段选择 IPv4 网段并填写172.16.0.0/16,下一跳选择对等连接实例,单击确定。 -
(可选)在接收端VPC实例列单击配置路由条目,为VPC2添加去往VPC1的路由条目。
完成该步骤后,VPC1和VPC2可实现私网互通。如果您不需要VPC1和VPC2实现私网互通,可跳过该步骤。
-
步骤二:在SSL服务端添加跨VPC网段
在SSL服务端中添加VPC2网段,VPN网关才会允许客户端访问该网段下的资源。
如果客户端要同时访问多个跨VPC资源,需要在SSL服务端中添加所有跨VPC网段。
-
登录VPN网关管理控制台。
-
在左侧导航栏,选择网间互联 - VPN - SSL服务端。
-
在顶部状态栏处,选择SSL服务端的地域。
-
在SSL服务端页面,找到目标SSL服务端,在操作列单击编辑。
-
在编辑SSL服务端面板,单击添加本端网段,添加VPC2网段,然后单击确定。
步骤三:配置去往客户端的路由
云企业网
在VPC1中将去往客户端的路由发布至云企业网,VPC2通过云企业网与客户端互通。
- 登录专有网络管理控制台。
-
在顶部菜单栏,选择VPC1的地域。
- 在左侧导航栏,单击路由表。
-
在路由表页面,找到VPC1的路由表,单击路由表ID。
-
在页签,找到去往客户端的路由,在专有网络路由发布状态 列单击发布 。在路由表详情页,单击自定义路由条目 Tab,查看目标网段为
10.10.10.0/24的路由条目,确认专有网络路由发布状态列显示云企业网 已发布。如需取消发布,可单击撤回。
VPC对等连接
登录对等连接管理控制台。在VPC对等连接页面,找到已创建的VPC对等连接。在接收端VPC实例列单击配置路由条目,为VPC2配置去往客户端的路由。
如果客户端要同时访问多个跨VPC资源,需要在每个跨VPC路由表中添加去往客户端的路由。
在弹出的配置路由条目对话框中,设置名称为to-SSL-VPN,目标网段为10.10.10.0/24,下一跳选择对等连接实例,然后单击确定。
步骤四:测试连通性
完成上述配置后,客户端已经可以访问VPC2下的资源。同时,VPC2下的资源也可以访问客户端。
-
打开客户端的命令行窗口。
-
执行
ifconfig命令查看已建立SSL-VPN连接的接口。 -
执行
ping <ECS IP地址> -I <SSL-VPN隧道接口>命令,使用SSL-VPN隧道接口尝试访问ECS2实例,如果客户端可以收到如下的回复报文,则证明客户端已经可以访问VPC2内资源。说明执行ping命令前,确保ECS2安全组规则和客户端侧访问控制规则允许ICMP协议消息通过。
[root@iZ Z ~]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.32.133 netmask 255.255.255.0 broadcast 172.16.32.255 xxx xxx xxx xxx xxx lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 xxx xxx xxx xxx tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500 inet 10.10.10.6 netmask 255.255.255.255 destination 10.10.10.5 xxx xxx xxx xxx [root@iZ Z ~]# ping 172.16.20.218 -I tun0 PING 172.16.20.218 (172.16.20.218) from 10.10.10.6 tun0: 56(84) bytes of data. 64 bytes from 172.16.20.218: icmp_seq=1 ttl=61 time=49.3 ms 64 bytes from 172.16.20.218: icmp_seq=2 ttl=61 time=9.72 ms 64 bytes from 172.16.20.218: icmp_seq=3 ttl=61 time=9.68 ms 64 bytes from 172.16.20.218: icmp_seq=4 ttl=61 time=9.73 ms ^Z [1]+ Stopped ping 172.16.20.218 -I tun0 [root@iZb Z ~]# -
登录VPC2下的ECS2实例,执行
ping <客户端虚拟地址>命令,尝试访问客户端,如果ECS2可以收到如下的回复报文,则证明ECS2也可以访问客户端。[root@iZuf 8c1Z ~]# ping 10.10.10.6 PING 10.10.10.6 (10.10.10.6) 56(84) bytes of data. 64 bytes from 10.10.10.6: icmp_seq=1 ttl=61 time=9.79 ms 64 bytes from 10.10.10.6: icmp_seq=2 ttl=61 time=9.47 ms 64 bytes from 10.10.10.6: icmp_seq=3 ttl=61 time=9.46 ms 64 bytes from 10.10.10.6: icmp_seq=4 ttl=61 time=9.45 ms ^C [1]+ Stopped ping 10.10.10.6 [root@iZuf641 8c1Z ~]#
常见问题
将客户端路由发布至云企业网后,流量测试不通怎么办?
如果创建VPC连接和跨地域连接时您开启了所有高级配置,转发路由器默认会自动完成路由的传播和学习。但如果您未开启所有高级配置,自定义了路由条目,或者您的环境中存在路由冲突,可能会导致转发路由器无法学习到路由或者导致路由创建失败,进而导致流量不通。请登录相关产品控制台,逐个排查VPC互联场景中每个实例的路由,确保各个实例下拥有去往跨VPC和客户端的路由,如果缺失相关路由,请手动添加。具体操作,请参见为企业版转发路由器添加自定义路由条目和添加自定义路由条目。