主流的标准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客户端访问配置参考网址: