(转)【IPSEC】CentOS/Ubuntu一键安装IPSEC/IKEV2 VPN服务器

转载自quericy的博客(https://quericy.me)

花了点时间将上次的Ubuntu、CentOS搭建IPSec/IKEv2 VPN服务器全攻略整理成了一份一键安装的脚本。适用于WindowsPhone,iOS,Android和PC设备。有需要的童鞋可以拿来食用~ ~ ~ ~ CetnOS测试了下貌似没什么问题,Ubuntu的手里暂时没有空闲vps就没试了,其实也差不多的,欢迎测试和反馈

最新更新内容请见Github上的项目说明:https://github.com/quericy/one-key-ikev2-vpn
如有错误和建议,欢迎在Github上提交PR和issues~ ~ ~ ~ ~ ~

目录

  1. 安装说明:
  2. 特性
  3. 最近更新
  4. 服务端安装说明
  5. 客户端配置说明:
  6. 卸载方式:
  7. 分支说明
  8. PS:
  9. PS2:
  10. PS3:

安装说明:

用法很简单:
总结成一句话就是:除了类型要选对以外,其他的一路回车就好了23333

特性

  • 服务端要求:Ubuntu或者CentOS-6.*
  • 客户端:
    • iOS/OSX=>ikev1,ikev2
    • Andriod=>ikev1
    • WindowsPhone=>ikev2
    • 其他Windows平台=>ikev2
  • 可使用自己的私钥和根证书,也可自动生成
  • 证书可绑定域名或ip
  • 要是图方便可一路回车

最近更新

  • 使用新版strongswan(5.3.5),编译参数修改;
  • 优化iptables包处理;
  • 添加接口判断选择;
  • 加入对iOS9的ikev2支持;
  • DH组修改为2048,解决iOS9设备8分钟断开的问题;

服务端安装说明

  1. 下载脚本:

    wget --no-check-certificate https://raw.githubusercontent.com/quericy/one-key-ikev2-vpn/master/one-key-ikev2.sh
    • 注:如需使用其他分支的脚本,请将上述url中的master修改为分支名称,各分支区别详见本页的分支说明节点
  2. 运行(如果有需要使用自己的根证书请将私钥命名为ca.pem,将根证书命名为ca.cert.pem,放到脚本的相同目录下再运行该脚本):
    chmod +x one-key-ikev2.shbash one-key-ikev2.sh
  3. 等待自动配置部分内容后,选择vps类型(OpenVZ还是Xen、KVM),选错将无法成功连接,请务必核实服务器的类型。输入服务器ip或者绑定的域名(连接vpn时服务器地址将需要与此保持一致),以及证书的相关信息(C,O,CN),为空将使用默认值(default value),确认无误后按任意键继续
  4. 是否使用SNAT规则(可选).使用前请确保服务器具有不变的静态公网ip,可提升防火墙对数据包的处理速度.默认为不使用.
  5. 补充网卡接口信息,为空则使用默认值(Xen、KVM默认使用eth0,OpenVZ默认使用venet0).如果服务器使用其他公网接口需要在此指定接口名称,否则连接后可能无法访问外网)
  6. 输入两次pkcs12证书的密码(可以为空)
  7. 看到install Complete字样即表示安装完成。默认用户名密码将以黄字显示,可根据提示自行修改配置文件中的用户名密码,多用户则在配置文件中按格式一行一个(多用户时用户名不能使用%any),保存并重启服务生效。
  8. 将提示信息中的证书文件ca.cert.pem拷贝到客户端,修改后缀名为.cer后导入。ios设备使用Ikev1无需导入证书,而是需要在连接时输入共享密钥,共享密钥即是提示信息中的黄字PSK.

客户端配置说明:

  • 连接的服务器地址和证书保持一致,即取决于签发证书ca.cert.pem时使用的是ip还是域名;
  • Android/iOS/OSX 可使用ikeV1,认证方式为用户名+密码+预共享密钥(PSK);
  • iOS/OSX/Windows7+/WindowsPhone8.1+/Linux 均可使用IkeV2,认证方式为用户名+密码,均需要先导入证书,可将ca.cert.pem更改后缀名作为邮件附件发送给客户端,手机端也可通过浏览器导入,其中:
    • iOS/OSX 的远程ID和服务器地址保持一致,用户鉴定选择”用户名”.如果通过浏览器导入,将证书放在可访问的远程外链上,并在系统浏览器(Safari)中访问外链地址;
    • Windows PC 系统导入证书需要导入到“本地计算机”的”受信任的根证书颁发机构”,以”当前用户”的导入方式是无效的.推荐运行mmc添加本地计算机的证书管理单元来操作;
    • WindowsPhone8.1 登录时的用户名需要带上域信息,即wp”关于”页面的设备名称\用户名,也可以使用%any %any : EAP “密码”进行任意用户名登录,但指定了就不能添加其他用户名了.
    • WindowsPhone10 的vpn还存在bug(截至10586.164),ikeV2方式可连接但系统流量不会走vpn,只能等微软解决.
    • Windows10 也存在此bug,部分Win10系统连接后ip不变,没有自动添加路由表,使用以下方法可解决(本方法由 bigbigfish 童鞋提供):
      • 手动关闭vpn的split tunneling功能(在远程网络上使用默认网关);
      • 也可使用powershell修改,进入CMD窗口,运行如下命令:
        12345
        powershell    #进入ps控制台get-vpnconnection    #检查vpn连接的设置(包括vpn连接的名称)set-vpnconnection "vpn连接名称" -splittunneling $false    #关闭split tunnelingget-vpnconnection   #检查修改结果exit   #退出ps控制台

卸载方式:

  1. 进入脚本所在目录的strongswan文件夹执行:

    1
    make uninstall
  2. 删除脚本所在目录的相关文件(one-key-ikev2.sh,strongswan.tar.gz,strongswan文件夹,my_key文件夹).
  3. 卸载后记得检查iptables配置.

分支说明

  • master分支:经过测试的相对稳定的版本;
  • dev-debian分支:如需在Debian6/7 下使用,请使用该分支的脚本,该脚本由bestoa修改提供;
  • dev分支:开发分支,使用最新版本的strongswan,未进过充分测试,用于尝试和添加一些新的功能,未来可能添加对L2TP的兼容支持,以及对ipv6的支持;

PS:

  • 服务器重启后默认ipsec不会自启动,请命令手动开启,或添加/usr/local/sbin/ipsec start到自启动脚本文件中(如rc.local等):

    1
    ipsec start
  • 连上服务器后无法链接外网:
    • 打开sysctl文件:

      1
      vim /etc/sysctl.conf
    • 修改net.ipv4.ip_forward=1后保存并关闭文件
    • 使用以下指令刷新sysctl:
      1
      sysctl -p
    • 如遇报错信息,请重新打开/etc/syctl并将报错的那些代码用#号注释,保存后再刷新sysctl直至不会报错为止。

PS2:

脚本代码可访问github查看和下载:
GitHub

如需Debian系统的IKEV2一键安装脚本,可参考magic282童鞋的一键脚本:
https://github.com/magic282/One-Key-L2TP-IKEV2-Setup

PS3:

若需要优化TCP加速可参考本人的另一篇文章:更换Linux内核优化锐速,为shadowsocks和IkeV2加速

本次脚本更新支持iOS9,参考链接如下:
配置StrongSwan支持ios9 ikev2免证书登录
CentOS7下Strongswan架设IPSec-IKEv1, IKEv2, L2TP VPN
支持Android、iOS 9内置IPSec客户端的strongSwan 5.3.5配置
New iptables Gotchas - SNAT VS MASQUERADE

时间: 08-15

(转)【IPSEC】CentOS/Ubuntu一键安装IPSEC/IKEV2 VPN服务器的相关文章

Centos 7 一键安装openstack

系统:Centos7x64 单节点 CentOS yum 快速安装: # 安装RDO repo $ sudo yum install -y https://www.rdoproject.org/repos/rdo-release.rpm # 更新repo源 $ sudo yum update -y # 安装openstack-packstack $ sudo yum install -y openstack-packstack # 执行部署过程 $ packstack --allinone 访问

如何在Linux上安装一个开源VPN服务器

在本篇Linux教程中,我会在CentOS 7上安装一个OpenVPN服务.OpenVPN很容易使用,开源且拥有社区的支持.它的客户端支持Windows.Android和Mac.(转载)https://linux.cn/article-4733-1.html 从 https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html (它被墙一点都不奇怪,你知道的)下载安装包,Ubuntu用户也可以找到合适的安装包并安装.

CentOS7下安装配置PPTP VPN服务器

一.运行环境系统:CentOS Linux release 7.2.1511 (Core) 软件包:ppp-2.4.5-33.el7.x86_64pptpd-1.4.0-2.el7.x86_64iptables-1.4.21-17.el7.x86_64iptables-services-1.4.21-17.el7.x86_64 二.安装方式使用yum安装yum install -y ppp pptpd iptables 三.安装完毕后配置pptp1.配置DNS参数vim /etc/ppp/opt

CentOS/Ubuntu下安装Python-Pip

安装pip,最新版本为1.4 这里以1.3版本为例 wget http://pypi.python.org/packages/source/p/pip/pip-1.3.tar.gztar zxvf pip-1.3.tar.gzcd pip-1.3python setup.py install

CentOS 6、7下IPSEC/L2TP VPN一键安装脚本(openswan+xl2tpd)

CentOS 6.7下IPSEC/L2TP VPN一键安装脚本(openswan+xl2tpd) 概念性的东西这里不再赘述,网上有太多,一键安装脚本也有很多,但是很多不能用,能用的也仅仅只是在CentOS6下使用,CentOS7基本没看到这些安装脚本.于是花了一些时间来折腾测试,写这个脚本方便以后VPN的一键安装搭建.其中用的开源软件包是openswan和xl2tpd,,中间碰到过很多很多问题,如openswan和xl2tpd之间的兼容性问题. 请容许我这样做,脚本依赖<OneinStack>

L2TP/IPSec一键安装脚本

本脚本适用环境:系统支持:CentOS6+,Debian7+,Ubuntu12+内存要求:≥128M更新日期:2017 年 05 月 28 日 关于本脚本:名词解释如下L2TP(Layer 2 Tunneling Protocol)IPSec(Internet Protocol Security)IKEv2 (Internet Key Exchange v2)能实现 IPsec 的目前总体上有 openswan,libreswan,strongswan 这3种.libreswan 是基于 ope

树莓派:L2TP/IPsec VPN 服务器一键安装脚本

经试验,在树莓派上一次成功,很好用,谢谢原作者!!!此文转自:https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-zh.md IPsec VPN 服务器一键安装脚本 使用 Linux Shell 脚本一键快速搭建 IPsec VPN 服务器.支持 IPsec/L2TP 和 Cisco IPsec 协议,可用于 Ubuntu,Debian 和 CentOS 系统.你只需提供自己的 VPN 登录凭证,然后运行脚本自动完成安装. I

Ubuntu Or Debian L2TP VPN 一键安装脚本

#!/bin/bash if [ $(id -u) != "0" ]; then printf "Error: You must be root to run this tool!\n" exit 1 fi clear printf " #################################################### # # # This is a Shell-Based tool of l2tp installation # #

[实战]CentOS 6.x 基于ipsec搭建L2TP/PPTP VPN服务

一.环境CentOS6.6 x64EPEL扩展源 二.安装PPTP1.加载支持模块 #modprobe ppp-compress-18 && echo MPPE is ok 2.安装epel源 #rpm -ivh http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm 或 #yum install epel-release 3.开启包转发 #sysctl -w net.ipv4.ip_forward=1 4.