|
|
|
|
移动端

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

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

作者:UCloud产品团队来源:ucloud博客|2017-08-15 13:14

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

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

VPN连通混合云架构示意图

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

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

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

一、用户端安装VPN软件

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

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

1. 安装

(1) 下载strongswan源码

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

(2) 安装依赖库

  1. sudo yum install bzip2 gmp‐devel 

(3) 解压下载的源码

  1. tar xjvf strongswan‐x.x.x.tar.bz2 
  2. cd strongswan‐x.x.x 

(4) 配置strongswan

  1. ./configure ‐‐prefix=/usr ‐‐sysconfdir=/etc 

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

(5) 编译安装

  1. make 
  2. sudo make install 

2. 配置

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

需要更改的strongswan配置文件:

  • /etc/ipsec.conf: ipsec隧道协商策略配置文件
  • /etc/ipsec.secrets: ike协商密钥配置文件

(1) /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。

则有如下配置:

  1. # ipsec.conf ‐ strongSwan IPsec configuration file 
  2. # basic configuration 
  3. config setup 
  4. strictcrlpolicy=yes 
  5. uniqueids = no 
  6. # Add connections here. 
  7. # Sample VPN connections 
  8. conn sample‐self‐signed 
  9. left=192.168.0.1 
  10. leftsubnet=10.1.0.0/16 
  11. right=192.168.1.1 
  12. rightsubnet=10.2.0.0/16 
  13. keyexchange=ikev1 
  14. ike=aes128‐sha1‐modp3072 
  15. esp=aes128‐sha1 
  16. authby=psk 
  17. auto=start 

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

(2) 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配置格式为:
    1. 对端网关IP : PSK “密码” 
    2. 假设VPC网关IP为192.168.1.1, 共享密钥为1234abc, 则实际配置文件如下: 
    3. # ipsec.secrets ‐ strongSwan IPsec secrets file 
    4. 192.168.1.1 : PSK “1234abc” 

3. 运行

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

(1) 启动strongswan

  1. ipsec start 

(2) 停止strongswan

  1. ipsec stop 

(3) 查找strongswan连接状态

  1. ipsec update 

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

4. 添加路由

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

二、UCloud端创建IPSec VPN网关

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

(图:创建VPN网关实例)

1. 创建客户网关

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

(图:创建客户端网关)

2. 创建隧道

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

(图: 创建隧道)

3. IKE规则

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

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

(图:创建IKE规则)

4. IPSec规则

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

(图: 创建IPSec规则)

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

5. 管理网关

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

(图: IPSec VPN管理界面)

6. 查看监控

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

(图:IPSec VPN监控视图)

三、总结

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

【编辑推荐】

  1. 无缝混合云+SD-WAN ZStack联手大河云联开启云网新篇章
  2. 一次 Serverless 架构改造实践:基因样本比对
  3. 云计算架构下 Cloud TiDB的技术奥秘「上」
  4. 云计算架构下 Cloud TiDB的技术奥秘「下」
  5. 深入理解Serverless架构
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Linux环境下C编程指南

本书系统地介绍了在Linux平台下用C语言进行程序开发的过程,通过列举大量的程序实例,使读者很快掌握在Linux平台下进行C程序开发的方法和技...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊