Centos7部署IKEv2/IPSec VPN Server

主流的标准VPN协议有:

  • PPTP
  • L2TP/IPSec
  • IPsec/XAuth (“Cisco IPsec”) (“IKEv1”)
  • IKEv2/IPSec
  • WireGuard

从上到下协议逐渐先进,PPTP最老旧,WireGuard最新。本教程主要研究的对象是IKEv2/IPSec VPN,由于它的客户端早就被集成进大多数操作系统当中了,所以无需再去找客户端下载安装使用,便利性拉满,同时也是较先进协议,所以选择IKEv2/IPSec.

本教程使用Github开源项目构建:https://github.com/hwdsl2/setup-ipsec-vpn

本教程使用脚本自动搭建,手动太过于麻烦,得不偿失,吃力不讨好。

阅读本教程时,需要自行修改必要参数!


1.准备部署环境

  • 系统:centos7.9-2009

2.安装必备软件

yum update -y
yum install -y bash-completion wget

Tip:执行完毕后需要断开SSH连接重新登录

3.搭建IKEv2/IPSec

3-1.自动部署脚本:

wget https://get.vpnsetup.net -O vpn.sh && sudo VPN_DNS_NAME='vpn.example.com' VPN_DNS_SRV1=1.1.1.1 VPN_CLIENT_NAME='YOUR_NAME' sh vpn.sh

3-2.开启IKEv2-only模式:

wget https://get.vpnsetup.net/ikev2only -O ikev2only.sh && sudo bash ikev2only.sh

4.管理用户:

查看所有用户:
sudo ikev2.sh --listclients

添加一个用户:
sudo ikev2.sh --addclient [client name]

吊销一个用户:
sudo ikev2.sh --revokeclient [client name]

删除吊销用户:
sudo ikev2.sh --deleteclient [client name]

查看当前在线用户:
ipsec trafficstatus

查看状态:
ipsec status

5.其他参数:

升级Libreswan
wget https://get.vpnsetup.net/upg -O vpnup.sh && sudo sh vpnup.sh

卸载 VPN
wget https://get.vpnsetup.net/unst -O unst.sh && sudo bash unst.sh

<查看IPSec版本>
ipsec --version

6.安装Google BBR加速

wget -N --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && bash bbr.sh

Tip:执行完成后需要重启服务器

lsmod | grep bbr

Tip:如果有返回值,则证明安装成功。

7.IKEv2/IPSec VPN日志:

  • Libreswan服务的日志文件路径:/var/log/secure

Libreswan服务的当前输出日志:

tail -f /var/log/secure

日志关键词分析:

建立连接:authenticated peer
断开连接:deleting connection

7.IKEv2/IPSec客户端访问配置参考网址: