【转】Debian9搭建VPN(L2TP/IPSec)服务器搭建 一键安装脚本

参考一键安装脚本:

linux系统(CentOS6+,Debian7+,Ubuntu12+)搭建VPN(L2TP/IPSec)一键安装脚本

安装时,由于我修改了PSK,造成了部分乱码,结果死活连接不上,后面在

/etc/ipsec.secrets

文件下把PSK改成了 “classnotes.cn”

再连接,终于成功登陆。

但是还有个问题,使用IPsec方式无法连接到服务器,还没查到原因。

需要使用的命令:

l2tp -a 新增用户

l2tp -d 删除用户

l2tp -m 修改现有的用户的密码

l2tp -l 列出所有用户名和密码

l2tp -h 列出帮助信息

ipsec status (查看 IPSec 运行状态)

ipsec verify (查看 IPSec 检查结果)

/etc/init.d/ipsec start|stop|restart|status (CentOS6 下使用)

/etc/init.d/xl2tpd start|stop|restart (CentOS6 下使用)

systemctl start|stop|restart|status ipsec (CentOS7 下使用)

systemctl start|stop|restart xl2tpd (CentOS7 下使用)

service ipsec start|stop|restart|status (Debian/Ubuntu 下使用)

service xl2tpd start|stop|restart (Debian/Ubuntu 下使用)

linux系统(CentOS6+,Debian7+,Ubuntu12+)搭建VPN(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 是基于 openswan 的 fork,所以现在各个发行版基本已经看不到 openswan 的身影了。

当然也有使用 strongswan 的。

之所以要更新 L2TP 一键安装脚本,是因为随着各个 Linux 发行版不断推陈出新,原有的脚本已经不适应现在的需求。

本脚本通过编译安装最新版 libreswan 来实现 IPSec(CentOS7 下则是全部 yum 安装),yum 或 apt-get 来安装 xl2tpd,再根据各个发行版的使用方法不同,部署防火墙规则。

写在前面:

基于 OpenVZ 虚拟化技术的 VPS 需要开启TUN/TAP才能正常使用,购买 VPS 时请先咨询服务商是否支持开启 TUN/TAP。

OpenVZ 虚拟的 VPS 需要系统内核支持 IPSec 才行。也就是说,母服务器的内核如果不支持的话那就没办法,只能换 VPS。

因此,一般不建议在 OpenVZ 的 VPS 上安装本脚本。脚本如果检测到该 VPS 为 OpenVZ 架构,会出现警告提醒。

如何检测是否支持TUN模块?

执行命令:

cat /dev/net/tun

如果返回信息为:cat: /dev/net/tun: File descriptor in bad state 说明正常

如何检测是否支持ppp模块?

执行命令:

cat /dev/ppp

如果返回信息为:cat: /dev/ppp: No such device or address 说明正常

当然,脚本在安装时也会执行检查,如果不适用于安装,脚本会予以提示。

使用方法:

root 用户登录后,运行以下命令:

wget --no-check-certificate https://raw.githubusercontent.com/teddysun/across/master/l2tp.sh

chmod +x l2tp.sh

./l2tp.sh

如果报错一般是系统没有安装wget

-bash: wget: command not found

如果系统是centos 执行

 sudo yum -y install wget

 然后再次执行脚本

正常情况下执行后,会有如下交互界面

Please input IP-Range:

(Default Range: 192.168.18):

输入本地IP段范围(本地电脑连接到VPS后给分配的一个本地IP地址),直接回车意味着输入默认值192.168.18

Please input PSK:

(Default PSK: teddysun.com):

PSK意为预共享密钥,即指定一个密钥将来在连接时需要用到,直接回车意味着输入默认值teddysun.com

Please input Username:

(Default Username: teddysun):

Username意为用户名,即第一个默认用户。直接回车意味着输入默认值teddysun

Please input teddysun’s password:

(Default Password: Q4SKhu2EXQ):

输入用户的密码,默认会随机生成一个10位包含大小写字母和数字的密码,当然你也可以指定密码。

ServerIP:your_server_main_IP

显示你的 VPS 的主 IP(如果是多 IP 的 VPS 也只显示一个)

Server Local IP:192.168.18.1

显示你的 VPS 的本地 IP(默认即可)

Client Remote IP Range:192.168.18.2-192.168.18.254

显示 IP 段范围

PSK:teddysun.com

显示 PSK

Press any key to start…or Press Ctrl+c to cancel

按下任意按键继续,如果想取消安装,请按Ctrl+c键

安装完成后,脚本会执行 ipsec verify 命令并提示如下:

If there are no [FAILED] above, then you can connect to your

L2TP VPN Server with the default Username/Password is below:

ServerIP:your_server_IP

PSK:your PSK

Username:your usename

Password:your password

If you want to modify user settings, please use command(s):

l2tp -a (Add a user)

l2tp -d (Delete a user)

l2tp -l (List all users)

l2tp -m (Modify a user password)

Welcome to visit https://teddysun.com/448.html

Enjoy it!

如果你要想对用户进行操作,可以使用如下命令:

l2tp -a 新增用户

l2tp -d 删除用户

l2tp -m 修改现有的用户的密码

l2tp -l 列出所有用户名和密码

l2tp -h 列出帮助信息

其他事项:

1、脚本在安装完成后,已自动启动进程,并加入了开机自启动。

2、脚本会改写 iptables 或 firewalld 的规则。

3、脚本安装时,会即时将安装日志写到 /root/l2tp.log 文件里,如果你安装失败,可以通过此文件来寻找错误信息。

使用命令:

ipsec status (查看 IPSec 运行状态)

ipsec verify (查看 IPSec 检查结果)

/etc/init.d/ipsec start|stop|restart|status (CentOS6 下使用)

/etc/init.d/xl2tpd start|stop|restart (CentOS6 下使用)

systemctl start|stop|restart|status ipsec (CentOS7 下使用)

systemctl start|stop|restart xl2tpd (CentOS7 下使用)

service ipsec start|stop|restart|status (Debian/Ubuntu 下使用)

service xl2tpd start|stop|restart (Debian/Ubuntu 下使用)

更新日志

2017 年 05 月 28 日:

升级 libreswan 到版本 3.20。

修正 libreswan 的若干配置问题。

修正 xl2tpd 的端口监听配置问题。

修正在 CentOS 6 对 libevent2 的依赖问题,改为 yum 安装 libevent2-devel。

测试表明,在内网环境的 VPS 里(如AWS, IDCF,GCE,腾讯云,阿里云等)也可以正常使用了。

2017 年 02 月 25 日:

升级 libreswan 到版本 3.19。

2016 年 09 月 12 日:

修正了在 CentOS 6 下 libevent2 依赖的问题;

新增了一个 -m 选项,用以修改现有用户的密码。

2016 年 08 月 13 日:

修正 Debian 8 下的 sd-daemon.h: No such file or directory 问题,是由于缺少依赖包 libsystemd-daemon-dev 导致的。

2016 年 08 月 05 日:

升级 libreswan 到版本 3.18。

2016 年 06 月 10 日:

脚本在安装完成后,新增了几个命令,便于操作用户

l2tp -a 新增用户

l2tp -d 删除用户

l2tp -l 列出所有用户

l2tp -h 列出帮助信息

2016 年 04 月 25 日:

4、在Vultr 的 Debian 7的系统模板下安装时,软件包 libcurl4-nss-dev 会出现依赖错误。如下所示:

The following packages have unmet dependencies:

libcurl4-nss-dev : Depends: libldap2-dev but it is not going to be installed

Depends: librtmp-dev but it is not going to be installed

而 libldap2-dev 和 librtmp-dev 又依赖了其他几种软件包。总之最后的依赖关系如下:

libldap2-dev : Depends: libldap-2.4-2 (= 2.4.31-2+deb7u1) but 2.4.31+really2.4.40+dfsg-1+deb8u1~bpo70+1 is to be installed

librtmp-dev : Depends: libgnutls-dev but it is not going to be installed

libgnutls-dev : Depends: libp11-kit-dev (>= 0.4) but it is not going to be installed

libp11-kit-dev : Depends: libp11-kit0 (= 0.12-3) but 0.20.7-1~bpo70+1 is to be installed

那么解决办法就是把最底层的依赖包 libp11-kit0 先卸载掉,然后再安装 libcurl4-nss-dev 即可。

apt-get -y remove libp11-kit0

apt-get -y --no-install-recommends install libcurl4-nss-dev wget

然后再运行脚本安装即可。

2016 年 04 月 22 日:

修复了在 Ubuntu 16.04 下因为默认缺少 python 命令而导致 ipsec verify 等命令不能用的问题。

2016 年 04 月 19 日:

修复了在 Debian 7 下因为 libnss3 和 libnspr4 的版本过低而导致编译 libreswan 失败的问题。

2016 年 04 月 18 日:

目前在 Debian 7 上测试的结果,因为 libnss3 和 libnspr4 的版本过低而导致编译 libreswan 失败。临时解决办法是 dpkg 安装 libnss3_3.17.2 和 libnspr4_4.10.7 的 deb 包后重试。

参考链接:

https://libreswan.org/wiki/3.14_on_Debian_Wheezy

https://github.com/libreswan/libreswan

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,755评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,369评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,799评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,910评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,096评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,159评论 3 411
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,917评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,360评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,673评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,814评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,509评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,156评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,123评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,641评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,728评论 2 351

推荐阅读更多精彩内容

  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    极客学院Wiki阅读 7,240评论 0 3
  • 不知不觉易趣客已经在路上走了快一年了,感觉也该让更多朋友认识知道易趣客,所以就谢了这篇简介,已做创业记事。 易趣客...
    Physher阅读 3,410评论 1 2
  • 双胎妊娠有家族遗传倾向,随母系遗传。有研究表明,如果孕妇本人是双胎之一,她生双胎的机率为1/58;若孕妇的父亲或母...
    邺水芙蓉hibiscus阅读 3,696评论 0 2
  • 晴天,拥抱阳光,拥抱你。雨天,想念雨滴,想念你。 我可以喜欢你吗可以啊 我还可以喜欢你吗可以,可是你要知道我们不可...
    露薇霜凝阅读 1,209评论 1 2