本文为您介绍如何在Linux、Mac和Windows客户端通过阿里云经典网络建立SSL-VPN连接,实现客户端远程访问部署在经典网络中的云资源。
场景示例
本文以下图场景为例。客户端需要先与专有网络VPC(Virtual Private Cloud)建立SSL-VPN连接,然后通过VPC的ClassicLink功能将经典网络连接至该VPC,使该VPC作为流量中转站,建立客户端与经典网络的连接。
配置流程

说明 如果您已经配置了SSL-VPN,您只需要在经典网络中的ECS实例与VPC之间建立ClassicLink连接,即可实现通过SSL-VPN远程接入经典网络的需求。具体操作,请参见
步骤五:建立ClassicLink连接。
前提条件
- 您已经创建了一个VPC。具体操作,请参见搭建IPv4专有网络。
VPC的网段需满足对应的约束条件:
VPC网段 |
限制 |
172.16.0.0/12 |
该VPC中不存在目标网段为10.0.0.0/8的自定义路由条目。 |
10.0.0.0/8 |
- 该VPC中不存在目标网段为10.0.0.0/8的自定义路由条目。
- 确保和经典网络ECS实例通信的交换机的网段在10.111.0.0/16内。
|
192.168.0.0/16 |
- 该VPC中不存在目标网段为10.0.0.0/8的自定义路由条目。
- 需要在经典网络ECS实例中增加192.168.0.0/16指向私网网卡的路由。您可以使用提供的脚本添加路由,下载路由脚本。
说明 在运行脚本前,请仔细阅读脚本中包含的readme.txt文件。
|
- 本地IDC中要与经典网络互通的私网网段必须属于VPC的网段,且不能和VPC内交换机的网段冲突,否则无法通信。
步骤一:创建VPN网关
在使用SSL-VPN功能前,您必须创建一个VPN网关。成功创建VPN网关后,系统会为VPN网关分配一个公网IP地址。
- 登录VPN网关管理控制台。
- 在VPN网关页面,单击创建VPN网关。
- 在VPN网关页面,根据以下信息配置VPN网关,然后单击立即购买并完成支付。
配置 |
说明 |
实例名称 |
VPN网关的实例名称。 |
地域 |
选择VPN网关的地域。
|
网关类型 |
选择待创建的VPN网关类型。本示例选择普通型。
|
网络类型 |
选择待创建的VPN的网络类型。本示例选择公网。
|
专有网络 |
选择要连接的VPC。 |
指定交换机 |
选择是否指定VPN网关所属的交换机。本示例选择否。
|
带宽峰值 |
选择VPN网关的带宽规格。带宽规格是VPN网关所具备的公网带宽峰值。 |
流量 |
VPN网关默认按使用流量计费。更多信息,请参见按量计费。
|
IPsec-VPN |
选择是否开启IPsec-VPN功能。本示例选择关闭。
|
SSL-VPN |
选择是否开启SSL-VPN功能。本示例选择开启。
|
SSL连接数 |
选择您需要同时连接的客户端最大规格。 |
购买时长 |
VPN网关默认按小时计费。 |
服务关联角色 |
单击创建关联角色,系统自动创建服务关联角色AliyunServiceRoleForVpn。
VPN网关使用此角色来访问其他云产品中的资源,更多信息,请参见AliyunServiceRoleForVpn。
若本配置项显示为已创建,则表示您的账号下已经创建了该角色,无需重复创建。
|
- 返回VPN网关页面,查看创建的VPN网关。
VPN网关的创建一般需要1~5分钟,刚创建的VPN网关状态是准备中,约2分钟后会变成正常状态。正常状态表示VPN网关完成初始化,可以正常使用。
步骤二:创建SSL服务端
创建VPN网关后,您需要使用VPN网关创建一个SSL服务端,为后续创建SSL-VPN连接做准备。
- 在左侧导航栏,选择。
- 在顶部菜单栏,选择SSL服务端的地域。
- 在SSL服务端页面,单击创建SSL服务端。
- 在创建SSL服务端面板,配置SSL服务端,然后单击确定。
配置 |
说明 |
名称 |
输入SSL服务端的名称。 |
VPN网关 |
选择步骤一中创建的VPN网关。
|
本端网段 |
以CIDR地址块的形式输入要连接的经典网络ECS实例的内网网段。单击添加本端网段可添加多个本端网段。
本示例中,本端网段为10.1.0.0/16和10.2.0.0/16。
说明 如果新建ECS实例的IP地址不在已配置的本端网段内,需要添加对应的本端网段。
|
客户端网段 |
以CIDR地址块的形式输入客户端连接服务端时使用的网段,系统将从该网段中为客户端分配IP地址,客户端将使用被分配的IP地址访问VPC中的资源。该客户端网段必须是VPN网关所在的VPC网段的子集。
本示例中,客户端网段为172.16.10.0/24。
|
高级配置 |
使用默认高级配置。 |
步骤三:创建客户端证书
创建SSL服务端后,您还需根据SSL服务端创建SSL客户端证书。
- 在左侧导航栏,选择。
- 在SSL客户端页面,单击创建SSL客户端证书。
- 在创建SSL客户端证书面板,输入客户端证书名称并选择对应的SSL服务端,然后单击确定。
- 在SSL客户端页面,找到已创建的客户端证书,然后在操作列单击下载,下载生成的客户端证书。
步骤四:配置客户端
下载SSL客户端证书后,您需要将客户端证书安装到客户端,安装完成后,客户端可以与VPN网关建立SSL-VPN连接。以下内容分别为您介绍如何配置Linux、Mac和Windows客户端。
配置Linux客户端
- 执行以下命令,安装OpenVPN客户端。
- 将下载的客户端证书解压并拷贝至/etc/openvpn/conf/目录。
- 执行以下命令,启动Openvpn客户端软件。
openvpn --config /etc/openvpn/conf/config.ovpn --daemon
配置Mac客户端
- 打开命令行窗口。
- 如果您的客户端尚未安装homebrew,执行以下命令安装homebrew。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 执行以下命令安装OpenVPN客户端。
- 将下载的SSL客户端证书解压并拷贝至配置目录。
- 备份/usr/local/etc/openvpn文件夹下的所有配置文件。
- 执行以下命令删除OpenVPN的配置文件。
rm /usr/local/etc/openvpn/*
- 执行以下命令拷贝已经下载的SSL客户端证书到/usr/local/etc/openvpn/配置目录。
cp cert_location /usr/local/etc/openvpn/
cert_location
是SSL客户端证书所在路径,例如:/Users/example/Downloads/certs6.zip。
- 执行以下命令解压证书。
cd /usr/local/etc/openvpn/
unzip /usr/local/etc/openvpn/certs6.zip
- 执行以下命令建立VPN连接。
sudo /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/config.ovpn
配置Windows客户端
- 下载并安装OpenVPN客户端。
- 将已经下载的SSL客户端证书解压拷贝到OpenVPN客户端安装路径下的OpenVPN\config目录。
- 启动OpenVPN客户端软件,单击Connect发起连接。
步骤五:建立ClassicLink连接
VPC提供ClassicLink功能,使经典网络的ECS实例可以和专有网络中的云资源通过内网互通。
- 开启ClassicLink功能。
- 登录专有网络管理控制台。
- 在顶部菜单栏处,选择专有网络的地域。
- 在专有网络页面,找到目标专有网络,单击专有网络的ID。
- 在专有网络详情页面,单击页面右上方的开启ClassicLink。
- 在开启ClassicLink对话框中,单击确定。
开启ClassicLink后,ClassicLink的状态变更为
已开启。

- 登录ECS管理控制台。
- 在左侧导航栏,选择。
- 选择ECS实例所属的地域。
- 连接专有网络。
- 在实例列表页面,找到目标经典网络实例,然后在操作列选择。
- 在连接专有网络对话框,选择要连接的专有网络,然后单击确定。
- 配置ClassicLink安全组规则。
- 单击前往实例安全组列表添加classicLink安全组规则,然后单击添加ClassicLink安全组规则。
- 在添加ClassicLink安全组规则对话框,根据以下信息配置ClassicLink安全组规则,然后单击确定。
配置 |
说明 |
经典网络安全组 |
显示经典网络安全组的名称。 |
选择专有网络安全组 |
选择专有网络的安全组。 |
授权方式 |
选择一种授权方式:
- 经典网络 <=> 专有网络:相互授权访问,推荐使用这种授权方式。
- 经典网络 => 专有网络:授权经典网络ECS访问专有网络内的云资源。
- 专有网络 => 经典网络:授权专有网络内的云资源访问经典网络ECS。
|
协议类型 |
选择授权通信的协议。 |
端口范围 |
选择授权通信的端口。端口的输入格式为xx/xx,例如授权80端口,则输入80/80。 |
优先级 |
设置该规则的优先级。数字越小,优先级越高。 |
描述 |
输入安全组描述。 |
- 返回ECS管理控制台,单击右侧的配置图标,在弹出的对话框中选择连接状态,然后单击确定,查看ECS实例的连接状态。