本文为您介绍Linux、Mac、Windows和Android客户端如何通过SSL-VPN连接专有网络VPC(Virtual Private Cloud)。

背景信息

本文以下图场景为例,为您介绍Linux、Mac、Windows和Android客户端如何使用SSL-VPN连接VPC。客户端远程接入VPC

前提条件

  • 您已经注册了阿里云账号。如未注册,请先完成账号注册
  • 客户端的私网网段和VPC的私网网段没有重叠。
  • 客户端可以访问互联网。
  • 您已经了解VPC中的云服务器ECS(Elastic Compute Service)实例所应用的安全组规则,并确保安全组规则允许客户端访问云上资源。具体操作,请参见查询安全组规则添加安全组规则

配置流程

客户端连接VPC流程图

步骤一:创建VPN网关

  1. 登录VPN网关管理控制台
  2. VPN网关页面,单击创建VPN网关
  3. VPN网关(包月)页面,根据以下信息配置VPN网关,然后单击立即购买并完成支付。
    名称 说明
    实例名称 输入VPN网关的实例名称。
    地域和可用区
    选择VPN网关的地域。
    说明 确保VPC的地域和VPN网关的地域相同。
    网关类型 选择待创建的VPN网关类型。本文选择普通型
    VPC 选择待连接的VPC。
    指定交换机 是否为VPN网关指定交换机实例。本文选择
    带宽规格 选择VPN网关的带宽规格,单位:Mbps。

    带宽规格是VPN网关所具备的公网带宽峰值。

    IPsec-VPN 是否开启IPsec-VPN功能。本文选择关闭
    SSL-VPN 是否开启SSL-VPN功能。本文选择开启
    SSL连接数 选择需要连接的客户端的数量。
    说明 开启SSL-VPN功能后才可配置SSL连接数
    计费周期 选择购买时长。关于计费的更多信息, 请参见计费说明
  4. 返回VPN网关页面,查看创建的VPN网关。

    刚创建好的VPN网关的状态是准备中,约1~5分钟会变成正常状态。正常状态就表明VPN网关已完成初始化,可以正常使用。

步骤二:创建SSL服务端

  1. 在左侧导航栏,选择网间互联 > VPN > SSL服务端
  2. 在顶部菜单栏,选择SSL服务端的地域。
    说明 请确保SSL服务端的地域和已创建的VPN网关的地域相同。
  3. SSL服务端页面,单击创建SSL服务端
  4. 创建SSL服务端面板,根据以下信息配置SSL服务端,然后单击确定
    • 名称:输入SSL服务端的名称。
    • VPN网关:选择已创建的VPN网关。
    • 本端网段:以CIDR地址块的形式输入要连接的VPC网络的网段。

      单击添加本端网段可添加多个本端网段,本端网段可以是任何VPC或交换机的网段,也可以是本地网络的网段。

    • 客户端网段:以CIDR地址块的形式输入客户端连接服务端时使用的网段。
      注意
      • 客户端网段的子网掩码位数在16至29位之间。
      • 请确保客户端网段和本端网段不冲突。
      • 在指定客户端网段时,建议您使用10.0.0.0/8、172.16.0.0/12和192.168.0.0/16网段及其子网网段。如果您的客户端网段需要指定为公网网段,您需要将公网网段设置为VPC的用户网段,以确保VPC可以访问到该公网网段。关于用户网段的更多信息,请参见什么是用户网段?如何配置用户网段?
    • 高级配置:使用默认高级配置。
    更多信息,请参见创建SSL服务端

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

  1. 在左侧导航栏,选择网间互联 > VPN > SSL客户端
  2. SSL客户端页面,单击创建SSL客户端证书
  3. 创建SSL客户端证书面板,输入客户端证书名称并选择对应的SSL服务端,然后单击确定
  4. SSL客户端页面,找到已创建的客户端证书,然后在操作列单击下载

步骤四:配置客户端

以下内容为您介绍如何配置Linux、Windows、Mac和Android客户端。

Linux客户端

  1. 打开命令行窗口。
  2. 执行以下命令安装OpenVPN客户端。
    yum install -y openvpn
  3. 将已下载的SSL客户端证书解压拷贝至/etc/openvpn/conf/目录。
  4. 进入/etc/openvpn/conf/目录,执行以下命令建立VPN连接。
    openvpn --config /etc/openvpn/conf/config.ovpn --daemon

Windows客户端

  1. 下载并安装OpenVPN客户端(Windows版本)
  2. 将已经下载的SSL客户端证书解压拷贝至OpenVPN\config目录。
    本文将证书解压拷贝到C:\Program Files\OpenVPN\config目录,请您根据安装路径将证书解压拷贝至您真实的目录。
  3. 启动OpenVPN客户端,单击Connect建立VPN连接。

Mac客户端(Tunnelblick)

以下内容为您介绍如何使用Tunnelblick软件在Mac客户端与VPN网关之间建立VPN连接。

  1. 下载Tunnelblick软件。
    本文使用3.8.6a版本的Tunnelblick软件。
  2. 安装Tunnelblick软件。
    安装Tunnelblick
    序号 说明
    双击已下载的Tunnelblick软件安装包。
    双击Tunnelblick图标。
    选择我有配置文件
    单击确定
  3. 将在步骤三中下载的SSL客户端证书解压。
  4. 将已解压的config.ovpn文件上传至Tunnelblick软件,建立VPN连接。
    Mac-建立VPN连接
    序号 说明
    双击Tunnelblick图标,打开Tunnelblick软件。
    将已解压的文件config.ovpn拖动至配置文件夹下。
    选择只有我
    单击连接

Mac客户端(OpenVPN)

以下内容为您介绍如何使用OpenVPN软件在Mac客户端与VPN网关之间建立VPN连接。

  1. 打开命令行窗口。
  2. 如果您的客户端尚未安装homebrew,执行以下命令安装homebrew。
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  3. 执行以下命令安装OpenVPN客户端。
    brew install openvpn
  4. 将在步骤三中下载的SSL客户端证书解压拷贝至配置目录。
    1. 备份/usr/local/etc/openvpn文件夹下的所有配置文件。
    2. 执行以下命令删除OpenVPN的配置文件。
      rm /usr/local/etc/openvpn/*
    3. 执行以下命令将已经下载的SSL客户端证书拷贝到配置目录。
      cp cert_location /usr/local/etc/openvpn/

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

  5. 执行以下命令解压证书。
    cd  /usr/local/etc/openvpn/
    unzip /usr/local/etc/openvpn/certs6.zip
  6. 执行以下命令建立VPN连接。
    sudo /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/config.ovpn

Android客户端

  1. 下载并安装OpenVPN客户端(Android版本)
    本文使用Android 9.0版本的客户端,并安装了3.0.5版本的OpenVPN客户端。
  2. 将在步骤三中下载的SSL客户端证书传输至Android客户端,并解压证书。
    说明
    • 如果您的Android客户端无解压软件,您可以在电脑端解压证书然后将解压后的文件传输至Android客户端。
    • 请确保解压后的文件在同一个文件夹下,如下图所示。
    文件保存位置
  3. 打开OpenVPN客户端,导入config.ovpn文件,添加VPN连接。
    导入config文件
    序号 说明
    选择OVPN Profile连接方式。
    在存储目录中找到config.ovpn文件。
    单击IMPORT,导入config.ovpn文件。
    系统自动读取config.ovpn文件中的信息,显示待连接的VPN网关的公网IP地址。单击ADD,添加VPN连接。
  4. 单击滑动按钮,开启VPN连接。
    开启OpenVPN

步骤五:测试连通性

在客户端尝试访问VPC内的ECS实例,测试网络连通性。

常见问题

使用OpenVPN在Mac客户端建立VPN连接后,如何断开VPN连接?

  1. 打开Mac客户端的命令行窗口。
  2. 执行以下命令搜索OpenVPN进程,并记录进程号。
    ps aux | grep openvpn
  3. 执行以下命令关闭OpenVPN进程。
    kill -9 <进程号>

M1版本的Mac客户端如何使用OpenVPN建立VPN连接?

如果您使用的是M1版本的Mac客户端,建议您使用Tunnelblick软件建立VPN连接。具体操作,请参见Mac客户端(Tunnelblick)