centos6 下 flexgw 部署

简介

flexgw 提供了open和SNAT的基础服务。

主要有以下功能点:

  1. IPSec Site-to-Site 功能。可快速的帮助你将两个不同的VPC 私网以IPSec Site-to-Site 的方式连接起来。
  2. 拨号VPN 功能。可让你通过拨号方式,接入VPC 私网,进行日常维护管理。
  3. SNAT 功能。可方便的设置Source NAT,以让VPC 私网内的VM 通过Gateway VM 访问外网。

软件组成:

Strongswan
open

程序说明:

ECS VPN(即本程序)
  • 目录:/usr/local/flexgw
  • 数据库文件:/usr/local/flexgw/instance/website.db
  • 日志文件:/usr/local/flexgw/logs/website.log
  • 启动脚本:/etc/init.d/flexgw 或/usr/local/flexgw/website_console
  • 实用脚本:/usr/local/flexgw/scripts
保留原来的flexgw的启动方式 service flexgw start/stop/restart
「数据库文件」保存了我们所有的VPN 配置,建议定期备份。如果数据库损坏,可通过「实用脚本」目录下的initdb.py 脚本对数据库进行初始化,初始化之后所有的配置将清空。
Strongswan
  • 目录:/etc/strongswan
  • 日志文件:/var/log/strongswan.charon.log
  • 启动脚本:/usr/sbin/strongswan
如果strongswan.conf 配置文件损坏,可使用备份文件/usr/local/flexgw/rc/strongswan.conf 进行覆盖恢复。
ipsec.conf 和ipsec.secrets 配置文件,由/usr/local/flexgw/website/vpn/sts/templates/sts 目录下的同名文件自动生成,请勿随便修改。
open
  • 目录:/etc/open
  • 日志文件:/etc/open/open.log
  • 状态文件:/etc/open/open-status.log
  • 原启动脚本:/etc/init.d/open
server.conf 配置文件,由/usr/local/flexgw/website/vpn/dial/templates/dial 目录下的同名文件自动生成,请勿随便修改。
 

部署说明

环境要求
程序包下载地址
https://codeload.github.com/alibaba/flexgw/zip/master
OS: Centos 6.5/RHEL 6/AliOS 6.2
注:请以root 身份执行下面步骤的命令。
设置系统环境
编辑/etc/sysctl.conf 文件:
  • Disable redirects.
  • sysctl -a | egrep "ipv4.*(accept|send)_redirects" | awk -F "=" '{print $1"= 0"}'
请编辑sysctl.conf 文件,将上面配置的值均设为0。配置文件里没有的,请添加上。
  • enable ip forward.
net.ipv4.ip_forward = 1
请编辑sysctl.conf 文件,将该配置的值设置为1。
  • 执行命令sysctl -p
安装依赖的软件包
以root 身份执行:
  • yum install strongswan open zip curl wget
安装flexgw rpm 包
该包可以通过手动编译完成
# yum install -y git rpm-build python-pip zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel
# pip install python-build
# cd flexgw-master/packaging/rpm/ # sh mkrpm.sh
#rpm -ivh flexgw-1.1.0-1.el7.centos.x86_64.rpm

  

初始化配置
  • 初始化strongswan 配置文件:
cp -fv /usr/local/flexgw/rc/strongswan.conf /etc/strongswan/strongswan.conf  
  • 初始化open 配置文件:
cp -fv /usr/local/flexgw/rc/open.conf /etc/open/server/server.conf 
设置strongswan
  • 将/etc/strongswan/strongswan.d/charon/dhcp.conf 配置文件: 注释掉“load = yes” 这行。
  • 清空密钥配置文件:
> /etc/strongswan/ipsec.secrets
测试运行strongswan
  • strongswan start
  • strongswan status
  • strongswan stop
初始化
手工执行以下命令:
/etc/init.d/initflexgw
大约10秒左右,flexgw 就会自动配置好,并启动。启动完毕之后,访问https://公网IP 即可看到登录界面。
查看机器上服务端口启动了443端口以及开启了python的进程,说明启动成功了。
netstat -ntplu | grep 443
ps uax | grep flexgw
程序启动和重启命令
/etc/init.d/flexgw start|stop|restar
 
问题:
  open当前默认安装都为2.4.8版本高于该程序依赖的版本2.3.2了,所以配置完成登录成功后,点击拨号vpn会出现500的错误,该错误一般是在有客户端拨号上之后就会出现500错误,当没有client拨号连接时候有时候访问正常
解决方案:
  编辑/usr/local/flexgw/website/vpn/dial/services.py该文件的224行,'ct': data[7] 修改为'ct': data[8]

 修改后重启open以及flexgw

/etc/init.d/open restart

/etc/init.d/flexgw restart

 登录后配置

打开页面后就可以进行相应的配置
1、访问https://公网ip
使用系统账号即可登录该系统,这里用root账号进行登录
 
2、启动拨号vpn服务
进入拨号vpn----vpn服务管理,确保GateWay VM启动了VPN拨号服务

 

  • 启动VPN 服务:仅启动本机的拨号VPN。
  • 停止VPN 服务:停止本机的拨号VPN。已经连接上的隧道将全部断开。
  • 配置下发&重载:进行拨号VPN 「设置」时,该动作会自动进行。但某些情况下,如果你想重新生成VPN 服务端配置,可手动执行该操作。
3、进行设置,选择拨号vpn---设置
 
  • 通信协议:可选"UDP"、"TCP"。注:每次修改保存后,请重新下载客户端配置文件。
  • 虚拟IP 地址池:即VPN Server 分配给客户端的虚拟IP 地址池。本例为:10.8.8.0/24
  • 允许client 间通信:本例子中,这里请选“是”。
  • 允许单个账号同时在线:可选“是”或“否”。
  • 子网网段:即允许拨号client 访问的子网。如果不需要client 访问子网,填写VPN GateWay VM 私网IP 即可:10.171.112.120/32,我这里设置为需要访问的内网地址10.0.3.0/24
4、添加账号
点击vpn拨号----新增账号
5、添加SANT使client能够访问vpn服务服务器所在内网的其他服务器
点击SANT----SANT新增
 
在上面的例子中,虚拟地址池为10.8.8.0/24,子网网段为10.0.3.0/24,则需要配置SNAT: 10.8.0.0/24 ➔ 本vpn服务器内网的IP
 
6、客户端配置,根据不同的客户端进行下载对应的客户端软件即可
点击拨号vpn----客户端下载
配置文件以及ca从服务器上下载下来,进行修改EIP为GateWay VM 的公网地址
/usr/local/flexgw/rc/open-client.ovpn #配置文件路径
/usr/local/flexgw/instance/ca.crt #ca证书文件下载路径
  • 修改配置文件:将配置文件中的「remote IP」字段修改为GateWay VM 的公网地址。
  • Windows 平台:安装完客户端后,将配置文件client.ovpn和ca.crt 文件放到安装目录下的config 文件夹中。然后启动open-gui.exe,根据提示进行连接。
  • Linux 平台:在配置文件client.conf 和ca.crt 的目录下执行命令:open client.conf,根据提示进行连接。若要以daemon 形式在后台执行,请执行:open client.conf & 来建立连接。
  • 注:在Linux 平台下载客户端时,需要关闭证书验证。wget 请加上参数--no-check-certificate, curl 请加上参数--insecure。
mac平台下没有对应的客户端下载软件,可以通过网上进行下载该工具进行下载
Tunnelblick_3.7.1beta02_build_4810.dmg(因为这里不能上传大文件就不在这里放了,可以从网上进行搜索下载)
安装之后只需要将open的配置文件拉进配置列表中即可,会自行进行安装配置该证书
  
7、验证
当客户端vpn配置好以后,能ping通内网其他机器或者访问内网其他服务即配置完成。
以上仅为工作中使用,整个配置流程,其他功能使用详细可以登录vpn管理台后查看文档。
 
原文参考:
 

posted @ 2019-11-20 17:39  Jabe  阅读(1148)  评论(0编辑  收藏  举报