本文将介绍如何使用VPN网关的SSL-VPN功能从Linux客户端远程访问部署在经典网络中的云资源。
如果您已经配置了SSL-VPN,您仅需要根据文档中的步骤五将经典网络中的ECS实例连接到VPC,即可实现通过SSL-VPN远程接入经典网络的需求。

前期条件
- 客户端能访问互联网。
- 建议您创建一个新的VPC,并将VPC的网段设置为172.16.0.0/12。如果您选择用已有的VPC,VPC必须满足下表中的约束条件:
VPC网段 限制 172.16.0.0/12 该VPC中不存在目标网段为10.0.0.0/8的自定义路由条目。 您可以在VPC控制台的路由表详情页面查看已添加的路由条目。
192.168.0.0/16 -
该VPC中不存在目标网段为10.0.0.0/8的自定义路由条目。
-
需要在经典网络ECS实例中增加192.168.0.0/16指向私网网卡的路由。您可以使用提供的脚本添加路由,单击此处下载路由脚本。
说明 在运行脚本前,请仔细阅读脚本中包含的readme文件。
-
步骤一:创建VPN网关
如果您是经典网络,在VPC内购买的VPN网关配合ClassicLink功能也可以在经典网络中使用。
- 登录VPN网关管理控制台。
- 在顶部菜单栏,选择VPC所属的地域。本示例选择华东1(杭州)。
说明 确保VPC实例的地域与VPN网关实例的地域相同。
- 在左侧导航栏,选择 。
- 在VPN网关页面,单击创建VPN网关。
- 在购买页面,根据以下信息配置VPN网关,然后单击立即购买并完成支付。
配置 说明 实例名称 输入VPN网关的实例名称。 地域 选择VPN网关的地域。本示例选择华东1(杭州)。 专有网络 选择要连接的VPC。 指定交换机 是否指定VPN网关创建在VPC中的某一个交换机下。本示例选择否。 带宽峰值 选择VPN网关的带宽规格。 带宽规格是VPN网关所能使用的公网带宽,单位:Mbps。
流量 默认按流量计费。 IPsec-VPN 选择开启或关闭IPsec-VPN功能,IPsec-VPN功能可以将本地数据中心与VPC或不同的VPC之间进行连接。本示例选择否。 SSL-VPN 选择开启或关闭SSL-VPN功能,SSL-VPN功能允许您从任何位置的单台计算机连接到VPC。本示例选择否。 SSL连接数 选择您需要同时连接的客户端最大规格。本示例选择5。 购买时长 选择购买时长。 目前,仅支持按小时计费。
- 返回VPN网关页面,查看创建的VPN网关。
刚创建好的VPN网关的状态是准备中,约两分钟左右会变成正常状态。正常状态就表明VPN网关完成了初始化,可以正常使用了。
步骤二:创建SSL服务端
- 在左侧导航栏,选择 。
- 在顶部菜单栏,选择SSL服务端的地域。
- 在SSL服务端页面,单击创建SSL服务端,然后在创建SSL服务端面板,根据以下信息配置SSL服务端。
-
名称:输入SSL服务端的名称。
-
VPN网关:选择步骤一中创建的VPN网关。
-
本端网段:以CIDR地址块的形式输入要连接的经典网络ECS实例的内网网段。单击添加本端网段添加多个本端网段。
在本例中,本端网段为10.1.0.0/16和10.2.0.0/16。说明 如果新建ECS实例的IP地址不在已配置的本端网段内,需要添加对应的本端网段。 -
客户端网段:以CIDR地址块的形式输入客户端连接服务端时使用的IP地址。该客户端网段必须是VPN网关所在的VPC的网段的子集。
在本例中,客户端网段为172.16.10.0/24。说明 客户端网段不是您本地的客户端现有的地址,而是用来分配给客户端通过SSL-VPN访问的IP地址。 -
高级配置:使用默认高级配置。
-
双因子认证:开启或关闭双因子认证。如果开启双因子认证,您还需要选择IDaaS实例。
-
步骤三:创建客户端证书
- 在左侧导航栏,选择 。
- 在SSL客户端页面,单击创建SSL客户端证书。
- 在创建SSL客户端证书对话框,根据以下信息配置SSL客户端证书,然后单击确定。
- 名称:输入SSL客户端证书的名称。
- SSL服务端:选择步骤二中创建的SSL服务端。
- 在SSl客户端页面,找到已创建的客户端证书,然后在操作列单击下载,客户端证书会下载到本地。
步骤四:配置客户端
- 执行以下命令安装OpenVPN客户端。
yum install -y openvpn
- 将步骤三中下载的证书解压拷贝到/etc/openvpn/conf/目录。
- 执行以下命令启动Openvpn客户端软件。
openvpn --config /etc/openvpn/conf/config.ovpn --daemon
步骤五:建立ClassicLink连接
- 登录专有网络管理控制台。
- 选择目标专有网络的地域,然后单击目标专有网络的实例ID。
- 在专有网络详情页面,单击开启ClassicLink。
- 登录ECS管理控制台。
- 在左侧导航栏,选择 。
- 选择一个或多个目标经典网络的ECS实例,选择
- 在弹出的连接专有网络对话框中选择目标VPC,单击确定。
- 在左侧导航栏,选择 。
- 在安全组页面,单击创建安全组,然后按照如下配置添加访问规则:
-
规则方向:入方向。
-
添加方式:手动添加。
-
授权策略:允许。
-
优先级:1。
-
协议类型:全部。
-
端口范围:全部。
-
授权对象:输入需要通过VPN网关访问本ECS实例的私网地址,如172.16.3.44/32。
在Linux终端执行ifconfig命令,在返回的网络配置信息中找到类似inet 172.16.10.6 --> 172.16.10.5 netmask 0xffffffff
的信息,其中172.16.10.6
就是客户端IP(安全组中配置的授权对象)。说明 如果无法通过VPN网关访问ECS实例,可能是客户端IP发生了变化,您需要重新添加安全组规则。
-
- 查看ECS实例的状态。
配置完成后,您就可以从Linux客户端访问已连接的经典网络ECS实例中部署的应用了。