本文以Linux客户端为例为您介绍如何通过SSL-VPN双因子认证后接入专有网络VPC。
前提条件
开始前,请确保满足以下条件:
- 您已经购买了应用身份服务(IDaaS)实例,并且已经在阿里云上维护了IDaaS的用户信息。更多信息,请参见组织机构和账户。
说明 阿里云云盾应用身份服务IDaaS(Alibaba Cloud Identity as a Service)致力于统一身份认证领域,实现一个账号打通所有应用服务。开启并选择IDaaS实例后,SSL拨号客户端不仅要完成证书密钥认证,在启动OpenVPN后还需要用户名和密码的认证,认证通过后才可以访问云上资源,减少SSL-VPN登录认证风险。
- 您已经创建了专有网络。具体操作,请参见创建和管理专有网络。
场景示例
某公司在华东1(杭州)地域创建了专有网络VPC,网段为192.168.1.0/24。因业务发展,出差员工需要使用Linux客户端访问云上VPC资源。

如上图,您可以在云上创建VPN网关,配置SSL服务端并开启双因子认证。Linux客户端通过SSL-VPN接入云上VPC,不仅要完成证书认证,还需要完成双因子认证,认证通过后才可以访问云上资源,此过程提高了VPN连接的安全性和可管理性。
步骤一:创建VPN网关
VPN网关是一款基于互联网的网络连接服务,通过加密通道的方式实现企业数据中心、企业办公网络或Internet终端与阿里云专有网络安全可靠的连接。
重要 请确保您的VPN网关是2020年03月05日00时00分之后创建的,否则不支持双因子认证功能。
- 登录VPN网关管理控制台。
- 在顶部菜单栏处,选择专有网络的地域。
- 在左侧导航栏,选择。
- 在VPN网关页面,单击创建VPN网关。
- 在VPN网关的购买页面,根据以下信息配置VPN网关然后单击立即购买完成支付。
配置 |
说明 |
实例名称 |
输入VPN网关的实例名称。 |
地域和可用区 |
选择VPN网关的地域。本示例选择华东1(杭州)。
|
网关类型 |
选择网关类型。 |
VPC |
选择要连接的VPC。 |
指定交换机 |
是否指定VPN网关创建在VPC中的某一个交换机下。本示例选择否。
|
带宽规格 |
选择VPN网关的带宽规格。
带宽规格是VPN网关所能使用的公网带宽,单位:Mbps。
|
IPsec-VPN |
选择开启或关闭IPsec-VPN功能,IPsec-VPN功能可以将本地数据中心与VPC或不同的VPC之间进行连接。本示例选择否。
|
SSL-VPN |
选择开启或关闭SSL-VPN功能,SSL-VPN功能允许您从任何位置的单台计算机连接到VPC。本示例选择否。
|
SSL连接数 |
选择您需要同时连接的客户端最大规格。本示例选择5。
说明 本选项只有在选择开启了SSL-VPN功能后才可配置。
|
计费周期 |
选择购买时长。
您可以选择是否到期自动续费:
- 按月购买:自动续费周期为1个月。
- 按年购买:自动续费周期为1年。
|
步骤二:创建SSL服务端
SSL-VPN基于OpenVPN架构,您需要通过SSL-VPN服务端来指定要连接的IP地址段和客户端连接时使用的IP地址段,并开启双因子认证。
- 登录VPN网关管理控制台。
- 在左侧导航栏,选择。
- 在顶部菜单栏处,选择SSL服务端的地域。
本示例选择华东1(杭州)。
- 在SSL服务端页面,单击创建SSL服务端。
- 在创建SSL服务端面板,根据以下信息配置SSL服务端,然后单击确定。
- 名称:输入SSL服务端的名称。
- VPN网关:选择步骤一中创建的VPN网关。
- 本端网段:以CIDR地址块的形式输入客户端通过SSL-VPN连接要访问的网段。本示例输入192.168.0.0/24。
- 客户端网段:以CIDR地址块的形式输入客户端连接服务端时使用的网段。本示例输入10.0.0.0/24。
- 高级配置:打开高级配置,并完成以下配置。
- 协议:选择SSL连接使用的协议,支持UDP和TCP。本示例使用默认配置。
- 端口:SSL连接使用的端口。本示例使用默认配置。
- 加密算法:SSL连接使用的加密算法,支持AES-128-CBC、AES-192-CBC、AES-256-CBC。本示例使用默认配置。
- 是否压缩:是否对传输数据进行压缩处理。本示例使用默认配置。
- 双因子认证:打开双因子认证,然后选择IDaaS实例。
说明 如果您是首次使用双因子认证功能,请先完成授权后再创建SSL服务端。
(可选)步骤三:配置云产品AD认证
双因子认证默认支持使用IDaaS的用户名和密码进行认证,您可以选择配置AD认证。配置成功后,SSL-VPN具备AD认证能力。如果您仅需要使用IDaaS的用户名和密码进行认证,请忽略该步骤。
- 登录云盾IDaaS管理控制台。
- 在实例列表页面,找到目标IDaaS实例,在操作列单击管理。
- 在左侧导航栏,选择,然后单击添加认证源。
- 在添加认证源页面,找到LDAP,在其操作列单击添加认证源。
- 在添加认证源(LDAP)面板,创建LDAP认证源。
- 在认证源页面,找到目标认证源,在其状态列单击
图标,然后在弹出的对话框中,单击确定。
- 在左侧导航栏,选择。
- 在安全设置页面,单击云产品AD认证页签。
- 选择创建的AD认证源,启用该功能并单击保存设置。
步骤四:创建并下载SSL客户端证书
根据SSL服务端配置,创建并下载SSL客户端证书。
- 登录VPN网关管理控制台。
- 在左侧导航栏,选择。
- 在顶部菜单栏处,选择SSL客户端的地域。
本示例选择华东1(杭州)。
- 在SSL客户端页面,单击创建SSL客户端证书。
- 在创建SSL客户端证书面板,根据以下信息配置SSL客户端证书,然后单击确定。
- 名称:输入SSL客户端证书的名称。
- SSL服务端:选择步骤二中创建的SSL服务端。
- 在SSL客户端页面,找到已创建的SSL客户端证书,然后在操作列单击下载。
SSL客户端证书会下载到本地。
步骤五:配置客户端
完成以下操作,配置Linux客户端。
- 在Linux客户端,执行以下命令安装OpenVPN客户端。
- 将步骤四中下载的证书解压拷贝到/etc/openvpn/conf/目录。
- 执行以下命令将文件拷贝到配置目录:
cp cert_location /usr/local/etc/openvpn/conf/
cert_location
是步骤四中下载的SSL客户端证书的路径,例如:/Users/example/Downloads/certs6.zip。
- 执行以下命令解压证书文件
unzip /usr/local/etc/openvpn/conf/certs6.zip
- 执行以下命令启动Openvpn客户端软件,并完成用户名密码验证。
openvpn --config /etc/openvpn/conf/config.ovpn --daemon

步骤六:测试连通性
完成以下操作,测试Linux客户端与云上VPC的连通性。
- 登录Linux客户端。
- 通过
ping
命令访问VPC下的ECS实例的IP地址,验证通信是否正常。
说明 请确保测试的ECS实例的安全组规则允许Linux客户端远程连接。详细信息,请参见
ECS安全组配置案例。
经测试,Linux客户端可以正常访问ECS实例。