两步教你利用VPN进行混合云架构连通 | U刻
  • 两步教你利用VPN进行混合云架构连通

    栏目:技术分享

    混合云中进行网络连通,主要是通过互联网建立VPN和专线接入UConnect,在本文中将会介绍通过互联网建立VPN进行连接。

    (图:VPN连通混合云架构示意图)

    如上图所示,通过VPN方式连接公有云和用户数据中心包括以下两部分:

    • 用户端安装VPN软件
    • UCloud端创建IPSec VPN网关

     

    用户端安装VPN软件
    在用户端安装VPN软件有较多的选择,比较常见的有racoon和strongswan等,在此以strongswan为例进行介绍。

    因上strongswan目前尚未很好地集成到各Linux发行版中的软件源中,建议采用编译源码的方式进行安装。本文以Centos7.2为例,阐述了strongswan的安装配置过程。

    一、安装

    1. 下载strongswan源码
    前往strongswan官网https://strongswan.org/download.html下载strongswan,建议选择5.x或更新的版本。

    2. 安装依赖库
    sudo yum install bzip2 gmp‐devel

    3. 解压下载的源码
    tar xjvf strongswan‐x.x.x.tar.bz2
    cd strongswan‐x.x.x

    4. 配置strongswan
    ./configure ‐‐prefix=/usr ‐‐sysconfdir=/etc

    如果此步骤失败,较大原因是是由于系统缺少依赖库导致,建议依据错误信息判断缺少的库,并使用yum安装,直到该步骤通过。

    5. 编译安装
    make
    sudo make install

    二、配置

    strongswan支持IKEv1,IKEv2两种协议和多种认证方式,本文以较为常用的IKEv1和pre share key认证方式进行说明。

    需要更改的strongswan配置文件:
    1. /etc/ipsec.conf: ipsec隧道协商策略配置文件
    2. /etc/ipsec.secrets: ike协商密钥配置文件

    /etc/ipsec.conf配置示例:

    假如如下信息:

    您VPC的网段为10.2.0.0/16,VPC中IPSec VPN网关IP为192.168.1.1;
    您IDC的网段为10.1.0.0/16,本机IP地址(本地IPSec VPN网关的IP)为192.168.0.1。

    则有如下配置:
    # ipsec.conf ‐ strongSwan IPsec configuration file
    # basic configuration
    config setup
    # strictcrlpolicy=yes
    # uniqueids = no
    # Add connections here.
    # Sample VPN connections
    conn sample‐self‐signed
    left=192.168.0.1
    leftsubnet=10.1.0.0/16
    right=192.168.1.1
    rightsubnet=10.2.0.0/16
    keyexchange=ikev1
    ike=aes128‐sha1‐modp3072
    esp=aes128‐sha1
    authby=psk
    auto=start

    其中#开头的行为注释行,conn 起始的配置段(以缩进表示)为IPSec隧道配置,每个配置文件可以有多个conn 配置表示多条隧道连接。

    conn配置解释:

    • Left:本机的IP地址
    • Leftsubnet:IDC中需要通过IPSec网关的网段(如您有多个网段需要通过IPSec隧道,则需要配置多个conn,可参考man ipsec.conf )
    • Right: VPC中IPSec网关的ip地址
    • Rightsubnet: VPC中需要通过IPSec隧道的子网(如您有多个网段需要通过IPSec隧道,则需要配置多个conn,可参考man ipsec.conf )
    • IKE:IKE的协商参数,格式为: 加密算法-哈希算法-dhgrou
    • ESP:ESP协议的协商算法,格式同ike。当存在dhgroup配置项时表示开启PFS选项
    • Auto: 隧道的建立方式,start为strongswan启动时自动协商并建立该隧道,其他选项参考man ipsec.conf
    • /etc/ipsec.secrets配置格式为:
      对端网关IP : PSK “密码”

    假设VPC网关IP为192.168.1.1, 共享密钥为1234abc, 则实际配置文件如下:
    # ipsec.secrets ‐ strongSwan IPsec secrets file
    192.168.1.1 : PSK “1234abc”

    三、运行
    Strongswan自身提供了IPSec命令行工具控制strongswan服务。

    1. 启动strongswan
    ipsec start
    2. 停止strongswan
    ipsec stop
    3. 查找strongswan连接状态
    ipsec update

    更多用法可参考manpage, man ipsec。

    四、添加路由
    添加路由,使您从IDC子网到VPC子网的流量通过本网关。

    UCloud端创建IPSec VPN网关

    创建VPN网关实例
    创建VPN网关时,您需要填写的内容主要分两部分:网关信息与IP设置。网关信息中,除了网关名称,备注,业务组等基本信息,还需要选择此网关所在的VPC网络,VPN网关必须属于某一个VPC网络。另外有两种网关规格可供选择。IP设置中绑定IP的带宽,请和VPN规格情况结合,选定适当的带宽。

    (图:创建VPN网关实例)

    创建客户网关
    创建客户网关时,需注意,客户网关IP是您本地网络的网关设备IP,客户网关是一个虚拟的概念,它代表您本地网关在UCloud上的投射,方便您创建管理隧道。

    (图:创建客户端网关)

    创建隧道
    创建隧道时除了隧道名称,备注,业务组等信息,还需要选择隧道对应的VPN网关或客户网关,如果没有创建VPN网关或客户网关,则不能建立隧道。

    (图: 创建隧道)

    IKE规则
    IKE目前仅支持V1版本,您需要填写预共享秘钥,预共享秘钥的格式为unicode。这是基本的IKE设置。在您没有选择高级选项时,使用的是我们的默认配置。使用默认配置时,如果发起隧道连接是由客户网关发起,UCloud VPN网关为接受端时,VPN网关做协商。如果VPN网关发起连接,客户网关作为接受端时,则以默认配置发起,需要对端配置协商模式或者相同配置才能建立起隧道,默认配置见配置项表。

    如您需要配置除了预共享秘钥外的更多的选项,可以打开高级选项进行配置。

    (图:创建IKE规则)

    IPSec规则
    在IPSec配置中,需要配置本端网段,与对端网段。本端网段是指您在创建VPC时,在VPC下创建的子网。对端网段是您希望能够连通的您本地机房的子网。您在UCloud的VPC上配置的子网不能与您本地网关的网段重合。 本端网段与对端网段的连接如下图:

    (图: 创建IPSec规则)

    除了子网的基础配置,如果您没有更改高级选项中的配置更改,则使用的是我们的默认配置,和IKE一样,使用默认配置时,如果发起隧道连接是由客户网关发起,UCloud VPN网关为接受端时,VPN网关做协商。如果VPN网关发起连接,客户网关作为接受端时,则以默认配置发起,需要对端配置协商模式或者相同配置才能建立起隧道。

    管理网关
    当您创建了多个VPN网关和多个客户网关时,您可以在VPN网关或客户网关的列表页对网关进行管理。VPN网关管理,您可以解绑现在绑定在VPN网关上的弹性IP,绑定其他IP。但进行此操作后,需要先删除VPN网关上创建的隧道。

    (图: IPSec VPN管理界面)

    查看监控
    VPN网关监控了绑定弹性IP的出入流量,您可以在VPN网关页面中查取到监控视图。隧道监控提供了隧道状态变化监控及隧道出入流量的变化。

    (图:IPSec VPN监控视图)

    总结
    本文中介绍了使用VPN方式连接混合云架构,在用户端可以选择strongswan创建VPN服务,在UCloud云端使用IPsec VPN网关,连接建立后需要进行测试,之后即可进行数据传输等。

    关于strongswan等软件安装、使用的更多信息,请查看官方文档。关于UCloud IPSec VPN网关的更多信息,请点击“阅读原文”。(https://docs.ucloud.cn/network/ipsec/index)

    19