文档

Linux客户端双因子认证

更新时间:

本文以Linux客户端为例为您介绍如何通过SSL-VPN双因子认证后接入专有网络VPC。

前提条件

开始前,请确保满足以下条件:

  • 您已经购买了应用身份服务(IDaaS)实例,并且已经在阿里云上维护了IDaaS的用户信息。更多信息,请参见创建账户/组织

    重要

    VPN网关的双因子认证功能仅支持旧版IDaaS实例。关于旧版IDaaS实例的更多说明,请参见1.x 旧版实例变更方案

  • 您已经创建了专有网络。具体操作,请参见创建和管理专有网络

场景示例

某公司在华东1(杭州)地域创建了专有网络VPC,网段为192.168.1.0/24。因业务发展,出差员工需要使用Linux客户端访问云上VPC资源。

双因子认证 如上图,您可以在云上创建VPN网关,配置SSL服务端并开启双因子认证。Linux客户端通过SSL-VPN接入云上VPC,不仅要完成证书认证,还需要完成双因子认证(IDaaS实例下用户名和密码的认证),认证通过后才可以访问云上资源,此过程提高了VPN连接的安全性和可管理性。

配置步骤

双因子认证

步骤一:创建VPN网关

VPN网关是一款基于互联网的网络连接服务,通过加密通道的方式实现企业数据中心、企业办公网络或Internet终端与阿里云专有网络安全可靠的连接。

重要

如果您之间已经购买了VPN网关,且希望使用已购买的VPN网关实现本文场景,可以跳过本步骤,需确保已经购买的VPN网关满足以下条件:

  • 如果您的VPN网关是2020年03月05日00时00分00秒之前创建的,且未进行过升级,您需要升级VPN网关版本,才能使用双因子认证功能。具体操作,请参见升级VPN网关

    • 如果您的VPN网关是2020年03月05日00时00分00秒之前创建的,已经进行过升级,可直接使用双因子认证。

    • 如果您的VPN网关是2020年03月05日00时00分00秒之后创建的,可直接使用双因子认证。

  • VPN网关需开启SSL-VPN功能。具体操作,请参见开启SSL-VPN功能

  1. 登录VPN网关管理控制台
  2. 在顶部菜单栏处,选择专有网络的地域。

    本示例选择华东1(杭州)

    说明

    确保VPC的地域和VPN网关的地域相同。

  3. 在左侧导航栏,选择网间互联 > VPN > VPN网关

  4. VPN网关页面,单击创建VPN网关

  5. 在VPN网关的购买页面,根据以下信息配置VPN网关然后单击立即购买完成支付。

    配置

    说明

    实例名称

    输入VPN网关的实例名称。

    地域和可用区

    选择VPN网关的地域。本示例选择华东1(杭州)

    网关类型

    选择网关类型。

    网络类型

    选择网络类型。本示例选择公网

    隧道

    系统直接展示当前地域IPsec-VPN连接支持的隧道模式。

    VPC

    选择要连接的VPC。

    虚拟交换机

    从VPC实例中选择一个交换机实例。

    • IPsec-VPN连接的隧道模式为单隧道时,您仅需要指定一个交换机实例。
    • IPsec-VPN连接的隧道模式为双隧道时,您需要指定两个交换机实例。
    说明
    • 系统默认帮您选择第一个交换机实例,您可以手动修改或者直接使用默认的交换机实例。
    • 创建VPN网关实例后,不支持修改VPN网关实例关联的交换机实例,您可以在VPN网关实例的详情页面查看VPN网关实例关联的交换机以及交换机所属可用区的信息。

    虚拟交换机2

    从VPC实例中选择第二个交换机实例。

    IPsec-VPN连接的隧道模式为单隧道时,无需配置该项。

    带宽规格

    选择VPN网关的带宽规格。

    带宽规格是VPN网关所能使用的公网带宽,单位:Mbps。

    IPsec-VPN

    选择开启或关闭IPsec-VPN功能,IPsec-VPN功能可以将本地数据中心与VPC或不同的VPC之间进行连接。本示例选择关闭

    SSL-VPN

    选择开启或关闭SSL-VPN功能,SSL-VPN功能允许您从任何位置的单台计算机连接到VPC。本示例选择开启

    SSL连接数

    选择您需要同时连接的客户端最大规格。本示例选择5

    说明

    本选项只有在选择开启了SSL-VPN功能后才可配置。

    计费周期

    选择购买时长。

    您可以选择是否自动续费:

    • 按月购买:自动续费周期为1个月。

    • 按年购买:自动续费周期为1年。

    服务关联角色

    单击创建关联角色,系统自动创建服务关联角色AliyunServiceRoleForVpn。

    VPN网关使用此角色来访问其他云产品中的资源,更多信息,请参见AliyunServiceRoleForVpn

    若本配置项显示为已创建,则表示您的账号下已创建了该角色,无需重复创建。

步骤二:创建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.1.0/24

    • 客户端网段:以CIDR地址块的形式输入客户端连接服务端时使用的网段。本示例输入10.0.0.0/24

    • 高级配置:打开高级配置,并完成以下配置。

      • 协议:选择SSL连接使用的协议,支持UDP和TCP。本示例使用默认配置。

      • 端口:SSL连接使用的端口。本示例使用默认配置。

      • 加密算法:SSL连接使用的加密算法,支持AES-128-CBC、AES-192-CBC、AES-256-CBC。本示例使用默认配置。

      • 是否压缩:是否对传输数据进行压缩处理。本示例使用默认配置。

      • 双因子认证:打开双因子认证,然后选择IDaaS实例。

        说明
        • 如果您是首次使用双因子认证功能,请先完成授权后再创建SSL服务端。

        • 开启双因子认证功能后,客户端与VPN网关之间建立SSL-VPN连接时,系统将会对客户端进行二次认证。第一次为默认的SSL客户端证书的认证,客户端通过SSL客户端证书认证后,系统将使用IDaaS实例中的用户名和密码对客户端进行第二次认证(不支持通过IDaaS短信认证功能对客户端进行第二次认证),第二次认证通过后才会建立SSL-VPN连接。

(可选)步骤三:配置云产品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实例。

  • 本页导读 (1)
文档反馈