本文以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分之后创建的,否则不支持双因子认证功能。
  1. 登录VPN网关管理控制台
  2. 在顶部菜单栏处,选择专有网络的地域。
    本示例选择华东1(杭州)
    说明 确保VPC的地域和VPN网关的地域相同。
  3. 在左侧导航栏,选择网间互联 > VPN > VPN网关
  4. VPN网关页面,单击创建VPN网关
  5. 在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地址段,并开启双因子认证。

  1. 登录VPN网关管理控制台
  2. 在左侧导航栏,选择网间互联 > VPN > SSL服务端
  3. 在顶部菜单栏处,选择SSL服务端的地域。
    本示例选择华东1(杭州)
  4. SSL服务端页面,单击创建SSL服务端
  5. 创建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的用户名和密码进行认证,请忽略该步骤。

  1. 登录云盾IDaaS管理控制台
  2. 实例列表页面,找到目标IDaaS实例,在操作列单击管理
  3. 在左侧导航栏,选择认证 > 认证源,然后单击添加认证源
  4. 添加认证源页面,找到LDAP,在其操作列单击添加认证源
  5. 添加认证源(LDAP)面板,创建LDAP认证源。
    详细信息,请参见LDAP认证登录
    认证源创建成功后,您可以查看创建的认证源。认证源
  6. 认证源页面,找到目标认证源,在其状态列单击启用图标,然后在弹出的对话框中,单击确定
  7. 在左侧导航栏,选择设置 > 安全设置
  8. 安全设置页面,单击云产品AD认证页签。
  9. 选择创建的AD认证源,启用该功能并单击保存设置
    认证源

步骤四:创建并下载SSL客户端证书

根据SSL服务端配置,创建并下载SSL客户端证书。

  1. 登录VPN网关管理控制台
  2. 在左侧导航栏,选择网间互联 > VPN > SSL客户端
  3. 在顶部菜单栏处,选择SSL客户端的地域。
    本示例选择华东1(杭州)
  4. SSL客户端页面,单击创建SSL客户端证书
  5. 创建SSL客户端证书面板,根据以下信息配置SSL客户端证书,然后单击确定
    • 名称:输入SSL客户端证书的名称。
    • SSL服务端:选择步骤二中创建的SSL服务端。
  6. SSL客户端页面,找到已创建的SSL客户端证书,然后在操作列单击下载
    SSL客户端证书会下载到本地。

步骤五:配置客户端

完成以下操作,配置Linux客户端。

  1. 在Linux客户端,执行以下命令安装OpenVPN客户端。
    yum install -y openvpn
  2. 将步骤四中下载的证书解压拷贝到/etc/openvpn/conf/目录。
    1. 执行以下命令将文件拷贝到配置目录:
      cp cert_location /usr/local/etc/openvpn/conf/

      cert_location步骤四中下载的SSL客户端证书的路径,例如:/Users/example/Downloads/certs6.zip

    2. 执行以下命令解压证书文件
      unzip /usr/local/etc/openvpn/conf/certs6.zip
  3. 执行以下命令启动Openvpn客户端软件,并完成用户名密码验证。
    openvpn --config /etc/openvpn/conf/config.ovpn --daemon
    启动OpenVPN

步骤六:测试连通性

完成以下操作,测试Linux客户端与云上VPC的连通性。

  1. 登录Linux客户端。
  2. 通过ping命令访问VPC下的ECS实例的IP地址,验证通信是否正常。
    说明 请确保测试的ECS实例的安全组规则允许Linux客户端远程连接。详细信息,请参见ECS安全组配置案例

    经测试,Linux客户端可以正常访问ECS实例。