文档

在经典网络中使用SSL-VPN

更新时间:

本文为您介绍如何在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地址。

  1. 登录VPN网关管理控制台
  2. VPN网关页面,单击创建VPN网关
  3. VPN网关(包月)页面,根据以下信息配置VPN网关,然后单击立即购买并完成支付。

    配置

    说明

    实例名称

    VPN网关的实例名称。

    地域和可用区

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

    说明

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

    网关类型

    选择待创建的VPN网关类型。本示例选择普通型

    网络类型

    选择待创建的VPN的网络类型。本示例选择公网

    隧道

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

    VPC

    选择要连接的VPC。

    虚拟交换机

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

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

    虚拟交换机2

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

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

    带宽规格

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

    IPsec-VPN

    选择是否开启IPsec-VPN功能。本示例选择关闭

    SSL-VPN

    选择是否开启SSL-VPN功能。本示例选择开启

    SSL连接数

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

    计费周期

    选择购买时长。关于计费的更多信息, 请参见计费说明

    服务关联角色

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

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

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

  4. 返回VPN网关页面,查看创建的VPN网关。

    VPN网关的创建一般需要1~5分钟,刚创建的VPN网关状态是准备中,约2分钟后会变成正常状态。正常状态表示VPN网关完成初始化,可以正常使用。

步骤二:创建SSL服务端

创建VPN网关后,您需要使用VPN网关创建一个SSL服务端,为后续创建SSL-VPN连接做准备。

  1. 在左侧导航栏,选择网间互联 > VPN > SSL服务端
  2. 在顶部菜单栏,选择SSL服务端的地域。
  3. SSL服务端页面,单击创建SSL服务端
  4. 创建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客户端证书。

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

  4. SSL客户端页面,找到已创建的客户端证书,然后在操作列单击下载,下载生成的客户端证书。

步骤四:配置客户端

下载SSL客户端证书后,您需要将客户端证书安装到客户端,安装完成后,客户端可以与VPN网关建立SSL-VPN连接。以下内容分别为您介绍如何配置Linux、Mac和Windows客户端。

配置Linux客户端

  1. 执行以下命令,安装OpenVPN客户端。

    yum install -y openvpn
  2. 将下载的客户端证书解压并拷贝至/etc/openvpn/conf/目录。

  3. 执行以下命令,启动Openvpn客户端软件。

    openvpn --config /etc/openvpn/conf/config.ovpn --daemon

配置Mac客户端

  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客户端证书到/usr/local/etc/openvpn/配置目录。

      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

配置Windows客户端

  1. 下载并安装OpenVPN客户端。

  2. 将已经下载的SSL客户端证书解压拷贝到OpenVPN客户端安装路径下的OpenVPN\config目录。

  3. 启动OpenVPN客户端软件,单击Connect发起连接。

步骤五:建立ClassicLink连接

VPC提供ClassicLink功能,使经典网络的ECS实例可以和专有网络中的云资源通过内网互通。

  1. 开启ClassicLink功能。

    1. 登录专有网络管理控制台

    2. 在顶部菜单栏处,选择专有网络的地域。

    3. 专有网络页面,找到目标专有网络,单击专有网络的ID。

    4. 在专有网络详情页面,单击页面右上方的开启ClassicLink

    5. 开启ClassicLink对话框中,单击确定

      开启ClassicLink后,ClassicLink的状态变更为已开启p5221

  2. 登录ECS管理控制台

  3. 在左侧导航栏,选择实例与镜像 > 实例

  4. 选择ECS实例所属的地域。

  5. 连接专有网络。

    1. 实例列表页面,找到目标经典网络实例,然后在操作列选择更多 > 网络和安全组 > 设置专有网络连接状态

    2. 连接专有网络对话框,选择要连接的专有网络,然后单击确定

  6. 配置ClassicLink安全组规则。

    1. 单击前往实例安全组列表添加classicLink安全组规则,然后单击添加ClassicLink安全组规则

      添加ClassicLink安全组规则
    2. 添加ClassicLink安全组规则对话框,根据以下信息配置ClassicLink安全组规则,然后单击确定

      配置

      说明

      经典网络安全组

      显示经典网络安全组的名称。

      选择专有网络安全组

      选择专有网络的安全组。

      授权方式

      选择一种授权方式:

      • 经典网络 <=> 专有网络:相互授权访问,推荐使用这种授权方式。

      • 经典网络 => 专有网络:授权经典网络ECS访问专有网络内的云资源。

      • 专有网络 => 经典网络:授权专有网络内的云资源访问经典网络ECS。

      协议类型

      选择授权通信的协议。

      端口范围

      选择授权通信的端口。端口的输入格式为xx/xx,例如授权80端口,则输入80/80。

      优先级

      设置该规则的优先级。数字越小,优先级越高。

      描述

      输入安全组描述。

  7. 返回ECS管理控制台,单击右侧的配置图标,在弹出的对话框中选择连接状态,然后单击确定,查看ECS实例的连接状态。

    图 1. 自定义列表选项自定义列表选项

    图 2. 连接状态选项连接状态选项

    图 3. 已连接状态已连接状态

    配置完成后,您可以从客户端远程访问已连接的经典网络ECS实例中部署的应用。

  • 本页导读 (1)