IPsecVPN 服务器一键安装脚本
IPsec VPN 服务器一键安装脚本
使用 Linux 脚本一键快速搭建自己的 IPsec VPN 服务器。支持 IPsec/L2TP, Cisco IPsec 和 IKEv2 协议。你只需提供自己的 VPN 登录凭证,然后运行脚本自动完成安装。
IPsec VPN 可以加密你的网络流量,以防止在通过因特网传送时,你和 VPN 服务器之间的任何人对你的数据的未经授权的访问。在使用不安全的网络时,这是特别有用的,例如在咖啡厅,机场或旅馆房间。
我们将使用 Libreswan 作为 IPsec 服务器,以及 xl2tpd 作为 L2TP 提供者。
快速使用
首先,在你的 Linux 服务器* 上全新安装以下系统之一:
Ubuntu, Debian, CentOS/RHEL, Rocky Linux, AlmaLinux, Amazon Linux 2 或者 Alpine Linux
使用以下命令快速搭建 IPsec VPN 服务器:
1. 脚本安装
搭建方式1:
wget https://git.io/vpnstart -qO vpn.sh && sudo sh vpn.sh
搭建方式2:
你也可以使用 curl 下载再执行:
curl -fsSL https://git.io/vpnstart -o vpn.sh && sudo sh vpn.sh
你的 VPN 登录凭证将会被自动随机生成,并在安装完成后显示在屏幕上。
2. docker镜像安装
另外,你也可以使用预构建的 Docker 镜像。
docker部署:
docker run \
--name ipsec-vpn-server \
--restart=always \
-v ikev2-vpn-data:/etc/ipsec.d \
-v /lib/modules:/lib/modules:ro \
-p 500:500/udp \
-p 4500:4500/udp \
-d --privileged \
hwdsl2/ipsec-vpn-server
如果你在上述 docker run 命令中没有指定 env 文件,VPN_USER 会默认为 vpnuser,并且 VPN_IPSEC_PSK 和 VPN_PASSWORD 会被自动随机生成。要获取这些登录信息,可以查看容器的日志:
]# docker logs ipsec-vpn-server
在命令输出中查找这些行:
Connect to your new VPN with these details:
Server IP: 你的VPN服务器IP
IPsec PSK: 你的IPsec预共享密钥
Username: 你的VPN用户名
Password: 你的VPN密码
在命令输出中也会包含 IKEv2 配置信息(如果启用)。要开始使用 IKEv2,请参见 配置并使用 IKEv2 VPN。
[可选步骤] 备份自动生成的 VPN 登录信息(如果有)到当前目录:
docker cp ipsec-vpn-server:/etc/ipsec.d/vpn-gen.env ./
功能特性
- 新: 增加支持更高效的 IPsec/XAuth ("Cisco IPsec") 和 IKEv2 模式
- 新: 现在可以下载 VPN 服务器的预构建 Docker 镜像
- 全自动的 IPsec VPN 服务器配置,无需用户输入
- 封装所有的 VPN 流量在 UDP 协议,不需要 ESP 协议支持
- 可直接作为 Amazon EC2 实例创建时的用户数据使用
- 包含 sysctl.conf 优化设置,以达到更佳的传输性能
系统要求
一个专用服务器或者虚拟专用服务器 (VPS),全新安装以下操作系统之一:
- Ubuntu 20.04 或者 18.04
- Debian 11*, 10* 或者 9
- CentOS 7, Rocky Linux 8 或者 AlmaLinux 8**
- Red Hat Enterprise Linux (RHEL) 8 或者 7
- Amazon Linux 2
- Alpine Linux 3.15 或者 3.14
这也包括各种公共云服务中的 Linux 虚拟机,比如 DigitalOcean, Vultr, Linode, Microsoft Azure 和 OVH。Amazon EC2 用户可以使用 CloudFormation 或者 用户数据 快速部署。
安装选项:
选项 1: 使用脚本随机生成的 VPN 登录凭证(完成后会在屏幕上显示):
wget https://git.io/vpnsetup -qO vpn.sh && sudo sh vpn.sh
选项 2: 编辑脚本并提供你自己的 VPN 登录凭证。
wget https://git.io/vpnsetup -nv -O vpn.sh
nano -w vpn.sh
[替换为你自己的值: YOUR_IPSEC_PSK, YOUR_USERNAME 和 YOUR_PASSWORD]
sudo sh vpn.sh
在安装成功之后,推荐 配置 IKEv2:
# 使用默认选项配置 IKEv2
sudo ikev2.sh --auto# 或者你也可以自定义 IKEv2 选项
sudo ikev2.sh
选项3:
将你自己的 VPN 登录凭证定义为环境变量。
# 所有变量值必须用 '单引号' 括起来
# *不要* 在值中使用这些字符: \ " '
wget https://git.io/vpnsetup -nv -O vpn.sh
sudo VPN_IPSEC_PSK='你的IPsec预共享密钥' \
VPN_USER='你的VPN用户名' \
VPN_PASSWORD='你的VPN密码' \
sh vpn.sh
在安装成功之后,依然推荐 配置 IKEv2选项:
# 1.使用默认选项配置 IKEv2
sudo ikev2.sh --auto
# 2.或者你也可以自定义 IKEv2 选项
sudo ikev2.sh
备选方案
如果无法通过wget下载,点这里查看解决方案,你也可以使用curl下载。
例如:
curl -fsSL https://git.io/vpnsetup -o vpn.sh
sudo sh vpn.sh
参考连接:
https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-zh.md
用户管理
查看或更改 IPsec PSK:
IPsec PSK(预共享密钥)保存在文件 /etc/ipsec.secrets。所有的 VPN 用户将共享同一个 IPsec PSK。该文件的格式如下:
%any %any : PSK "你的IPsec预共享密钥"
1.服务器启停
如果要更换一个新的 PSK,可以编辑此文件。不要在值中使用这些字符:\ " '
更换完成后重启服务:
service ipsec restart
service xl2tpd restart
2.查看 VPN 用户:
cat /etc/ppp/chap-secrets
cat /etc/ipsec.d/passwd # 这个文件中的密码以加盐哈希值的形式保存。该步骤可以借助比如 openssl 工具来完成:
# 以下命令的输出为:密码1的加盐哈希值
# 将你的密码用 '单引号' 括起来
openssl passwd -1 '密码1'
3. 更新用户信息:
wget -nv -O add_vpn_user.sh https://bit.ly/addvpnuser
sudo bash add_vpn_user.sh '要添加的用户名' '密码'
# 或者
更新用户:
sudo bash add_vpn_user.sh '要更新的用户名' '新密码'
4.删除一个 VPN 用户
# 下载脚本
wget -nv -O del_vpn_user.sh https://bit.ly/delvpnuser# 运行脚本并按提示操作
删除用户:
sudo bash del_vpn_user.sh '要删除的用户名'
IPsecVPN 服务器一键安装脚本的更多相关文章
- Odoo Linux服务器一键安装脚本使用指南
Odoo安装脚本介绍 为了帮助更多Linux服务器维护人员快速部署Odoo,为此开源智造(OSCG)基于André Schenkels曾经开放的openerp-install-scripts所构建的基 ...
- SSR服务端一键安装脚本
支持新协议混淆,SSR服务端一键安装脚本 Shadowsocks-R 是项目 shadowsocks 的增强版,用于方便地产生各种协议接口.实现为在原来的协议外套一层编码和解码接口,不但可以伪装成 ...
- Centos7搭建pptp一键安装脚本
废话不多说,先上脚本地址:Centos7一键pptp 使用: wget http://files.cnblogs.com/files/wangbin/CentOS7-pptp-host1plus.sh ...
- L2TP/IPSec一键安装脚本
本脚本适用环境:系统支持:CentOS6+,Debian7+,Ubuntu12+内存要求:≥128M更新日期:2017 年 05 月 28 日 关于本脚本:名词解释如下L2TP(Layer 2 Tun ...
- *** Python版一键安装脚本
本脚本适用环境:系统支持:CentOS 6,7,Debian,Ubuntu内存要求:≥128M日期:2018 年 02 月 07 日 关于本脚本:一键安装 Python 版 *** 的最新版.友情提示 ...
- k3s单机版安装部署 附一键安装脚本
作者:SRE运维博客 博客地址: https://www.cnsre.cn/ 文章地址:https://www.cnsre.cn/posts/211109907029/ 相关话题:https://ww ...
- DSS+Linkis Ansible 单机一键安装脚本
DSS+Linkis Ansible 单机一键安装脚本 一.简介 为解决繁琐的部署流程,简化安装步骤,本脚本提供一键安装最新版本的DSS+Linkis环境:部署包中的软件采用我自己编译的安装包,并且为 ...
- CentOS 6、7下pptp vpn一键安装脚本
之前有折腾过<CentOS 6.7下IPSEC/L2TP VPN一键安装脚本>,不稳定.不支持IOS,因此换成pptp,并已经添加到<lnmp一键安装包>.这个脚本可以单独使用 ...
- LAMP最新源码一键安装脚本
Linux+Apache+MySQL+PHP (脚本可以选择是否安装+Pureftpd+User manager for PureFTPd+phpMyAdmin+memcache),添加虚拟主机请执行 ...
- LNMP、LAMP、LANMP一键安装脚本(定期更新)[转]
这个脚本是使用shell编写,为了快速在生产环境上部署LNMP/LAMP/LANMP(Linux.Nginx/Tengine.MySQL/MariaDB/Percona.PHP),适用于CentOS/ ...
随机推荐
- docker 应用篇————docker 自定义网络[十八]
前言 看下如何自定义网络. 正文 在了解自定义网络之前呢? 需要明白一件事. 就是其实我们在启动docker的时候是有默认参数的. docker run -d -p --name tomcat01 - ...
- Consul的服务注册与发现(简单介绍)
Consul的注册中心的安装及配置 1.consul下载 2.开发模式启动consul consul agent -dev 3.验证测试 通过以下地址可以访问Consul的首页: http://loc ...
- webkit简介
WebKit是一款开源的浏览器引擎,主要用于渲染HTML网页和执行JavaScript代码.WebKit起源于苹果公司,最初是为了开发Safari浏览器而创建的.现在,它已经成为许多浏览器(如苹果的S ...
- seaJS简介
所有版本的 zip 包请在这里下载:seajs/tags 解压后,目录说明如下: dist -- sea.js 等压缩好的文件,直接可用 docs -- 使用文档 lib -- 给 Node.js 用 ...
- 一些奇奇怪怪的js知识
0.关于前端为什么typeof null 得到的结果是 object 对于 null 来说,很多人会认为他是个对象类型,其实这是错误的. 虽然 `typeof null` 会输出 `object`,但 ...
- HarmonyOS NEXT应用开发案例—使用弹簧曲线实现抖动动画及手机振动效果案例
介绍 本示例介绍使用vibrator.startVibration方法实现手机振动效果,用animateTo显示动画实现点击后的抖动动画. 效果图预览 使用说明 加载完成后显示登录界面,未勾选协议时点 ...
- 问题排查不再愁,Nacos 上线推送轨迹功能
简介: 微服务体系下,注册中心的调用和配置变更是家常便饭,例如阿里每天就有百万级变更.亿级推送.可是,一旦出现调用或配置异常,问题排查就成了用户最大的困惑:是注册和配置中心导致的,还是上下游业务自身的 ...
- 使用Databricks进行零售业需求预测的应用实践
简介:本文从零售业需求预测痛点.商店商品模型预测的实践演示,介绍Databricks如何助力零售商进行需求.库存预测,实现成本把控和营收增长. 作者:李锦桂 阿里云开源大数据平台开发工程师 本文从零 ...
- 一文读懂容器存储接口 CSI
简介: 在<一文读懂 K8s 持久化存储流程>一文我们重点介绍了 K8s 内部的存储流程,以及 PV.PVC.StorageClass.Kubelet 等之间的调用关系.接下来本文将将重点 ...
- 百信银行基于 Apache Hudi 实时数据湖演进方案
简介: 本文介绍了百信银行实时计算平台的建设情况,实时数据湖构建在 Hudi 上的方案和实践方法,以及实时计算平台集成 Hudi 和使用 Hudi 的方式. 本文介绍了百信银行实时计算平台的建设情况, ...