L2TP+IPSec一键安装脚本

技术 52378 次围观 107 次吐槽

2016 年 04 月 18 日更新:
L2TP一键安装脚本

=====以下文章发表于 2013 年 03 月 19 日=====

用VPS在墙上打洞还有一种叫L2TP,也是常见的一种方式。本脚本结合了L2TP(Layer 2 Tunneling Protocol)和IPSec(Internet Protocol Security),安装的软件包版本分别是openswan-2.6.38、xl2tpd-1.2.4,和PPTP的不同之处请戳这里查看。
同样要保证你的VPS是在外面的自由世界中,且VPS是基于Xen或KVM的。
注意:基于 OpenVZ 虚拟化技术的 VPS 需要开启TUN/TAP才能正常使用,购买 VPS 时请先咨询服务商是否支持开启 TUN/TAP
检测是否支持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 说明正常

终端里运行以下命令:

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

执行后会要求输入一些信息,如「Please input IP-Range:」意为输入本地IP段范围(本地电脑连接到VPS后给分配的一个本地IP地址),直接回车意味着输入默认值10.1.2;「Please input PSK:」PSK意为预共享密钥,即指定一个密钥将来在连接时需要用到,直接回车意味着输入默认值vpn。
输入了IP段范围和PSK之后,程序会显示你的VPS当前的IP(IPV4)、L2TP的本地IP(默认的话是10.1.2.1)、分配给客户端的IP段(默认的话是10.1.2.2-10.1.2.254)以及你所设置的PSK(默认的话是vpn),确认无误后,按任意键,程序便会开始自动配置。
安装完之后,会显示VPS当前的IP「ServerIP:VPS当前公网IP」、默认用户名「username:vpn」、默认用户名的密码「password:随机生成的6位字符串」、预共享密钥「PSK:你所设置的PSK,如果你之前没有设置则为默认值vpn」。

出现如下图所示(下列图片来源于vpsyou.com)则说明OK了。
L2TP图一
要想增加用户怎么办呢?很简单,用任一文本编辑器打开/etc/ppp/chap-secrets,按照其中既有的用户格式添加即可。
客户端设置(以 Windows XP 为例):
创建一个VPN新建连接向导:
L2TP图二

L2TP图三

公司名可以任意指定
L2TP图四

L2TP图五

L2TP图六

L2TP图七

L2TP图八

L2TP图九
设置完成后一般即可顺利连接。注意:XP 用户:请确保“控制面板->管理工具->服务”中的 IPSEC 服务被启动。如你遇到其他问题,可在此文下面留言。

转载请注明:秋水逸冰 » L2TP+IPSec一键安装脚本

发表评论
取消评论
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
表情

已有评论 (107)

  1. L2TP的IPSEC在OpenVZ 真的没辙了吗?
    你胡来哥1年前 (2016-10-17)回复
  2. Starting xl2tpd: [FAILED] Please wait a moment... Verifying installed system and configuration files Version check and ipsec on-path [OK] Libreswan 3.18 (netkey) on 2.6.32-431.el6.x86_64 Checking for IPsec support in kernel [OK] NETKEY: Testing XFRM related proc values ICMP default/send_redirects [OK] ICMP default/accept_redirects [OK] XFRM larval drop [OK] Pluto ipsec.conf syntax [OK] Hardware random device [N/A] Checking rp_filter [OK] Checking that pluto is running [OK] Pluto listening for IKE on udp 500 [OK] Pluto listening for IKE/NAT-T on udp 4500 [OK] Pluto ipsec.secret syntax [OK] Checking 'ip' command [OK] Checking 'iptables' command [OK] Checking 'prelink' command does not interfere with FIPS [PRESENT] Checking for obsolete ipsec.conf options [OK] Opportunistic Encryption [DISABLED] 这意味着L2TP 没有启动成功吧?
    天盛1年前 (2016-09-18)回复
    • 这是意味着 xl2tpd 启动失败,而不是 ipsec 的问题。
      秋水逸冰1年前 (2016-09-19)回复
  3. 谢谢teddysun。入手了https://www.ufovps.com/cart.php?a=add&pid=1,kvm的然后配置使用了脚本。全部通过。
    freer1年前 (2016-09-18)回复
  4. 已经入手 https://bandwagonhost.com/cart.php?a=confproduct&i=0 没有安装成功 L2TP,目前是否不支持?
    汗母1年前 (2016-09-01)回复
  5. 老大,为什么不用yum装libreswan 用epel的源就好了。。后续升级什么的更方便啊 yum install -y epel-release多方便,,
    大坑2年前 (2016-04-26)回复
  6. Checking your system to see if IPsec got installed and started correctly: Version check and ipsec on-path [OK] Linux Openswan U2.6.38/K(no kernel code presently loaded) Checking for IPsec support in kernel [FAILED] SAref kernel support [N/A] Hardware RNG detected, testing if used properly [FAILED] Hardware RNG is present but 'rngd' or 'clrngd' is not running. No harware random used! Checking that pluto is running [FAILED] whack: Pluto is not running (no "/var/run/pluto/pluto.ctl") Checking for 'ip' command [OK] Checking /bin/sh is not /bin/dash [OK] Checking for 'iptables' command [OK] Opportunistic Encryption Support [DISABLED] 这个样子是什么问题,我该如何解决
    sos10262年前 (2016-04-11)回复
  7. 什么什么安全错误的……我用别人的那个就可以链接
    qamar2年前 (2016-02-12)回复
    • 不推荐使用,这已经是2年前的脚本了。
      秋水逸冰2年前 (2016-02-12)回复
  8. 十分感谢有制作一键安装,不然我都不知道应该怎么办,国内vpn太不给力
    var2年前 (2016-02-08)回复
  9. 请问如何卸载 感谢 我是小白
    chuck2年前 (2015-12-21)回复
  10. Version check and ipsec on-path [OK] Linux Openswan U2.6.38/K(no kernel code presently loaded) Checking for IPsec support in kernel [FAILED] SAref kernel support [N/A] Checking that pluto is running [FAILED] whack: Pluto is not running (no "/var/run/pluto/pluto.ctl") Checking for 'ip' command [OK] Checking /bin/sh is not /bin/dash [OK] Checking for 'iptables' command [OK] Opportunistic Encryption Support [DISABLED] ———————————————————— 这个好像用不了吧?
    nuomi2年前 (2015-12-19)回复
  11. 谢谢! shadowsocks 这个最近确实很慢
    大力2年前 (2015-11-17)回复
  12. Version check and ipsec on-path [OK] Linux Openswan U2.6.38/K(no kernel code presently loaded) Checking for IPsec support in kernel [FAILED] SAref kernel support [N/A] Checking that pluto is running [FAILED] whack: Pluto is not running (no "/var/run/pluto/pluto.ctl") Checking for 'ip' command [OK] Checking /bin/sh is not /bin/dash [OK] Checking for 'iptables' command [OK] Opportunistic Encryption Support [DISABLED] 我也是这个情况,连不上,TUN和PPP已经打开。
    w2年前 (2015-10-07)回复
  13. 博主你好,我使用了您提供的脚本以后运行结果如下(tun和ppp测试均正常,且已经部署过pptp服务) 请问还有救吗?T_T Version check and ipsec on-path [OK] Linux Openswan U2.6.38/K(no kernel code presently loaded) Checking for IPsec support in kernel [FAILED] SAref kernel support [N/A] Checking that pluto is running [FAILED] whack: Pluto is not running (no "/var/run/pluto/pluto.ctl") Checking for 'ip' command [OK] Checking /bin/sh is not /bin/dash [OK] Checking for 'iptables' command [OK] Opportunistic Encryption Support [DISABLED]
    Sean Pearce2年前 (2015-10-06)回复
    • 我的也是这种情况
      Sword2年前 (2015-10-07)回复
    • 我也是这样,连不上
      w2年前 (2015-10-07)回复
    • OpenVZ的VPS就不要玩了。 我在N个都支持tun和ppp的OpenVZ VPS测试过,没有一个成功的,因为内核不支持,但是KVM和XEN架构的大多都可以用。脚本安装完成后需要重启IPSec服务和开启iptables并设置转发规则。
      Jack2年前 (2015-10-14)回复
    • Checking for IPsec support in kernel [FAILED] 这个问题可以 参考以下方案 1)修改/etc/ipsec.conf文件,加进去一句话,version 2.0 2)执行ipsec setup start 我是用第二种方法解决的
      xxhjkl2年前 (2016-03-21)回复
  14. 服务配置好后,手机可以正常连上去。。但是电脑却连接不了(win10没显示错误代码,但是之后用win7连接显示809错误,这要怎么解决)
    maple2年前 (2015-09-25)回复
  15. 秋水兄 你好,可以写个 Cisco AnyConnect 的一键脚本造福大家吗? 最近Shadowsocks和这个L2TP都不好用了,特慢还经常丢包掉线,这段时间感觉墙越来越高啊!期待你推出 AnyConnect 一键脚本,谢谢!
    jack2年前 (2015-09-06)回复
    • 这个网上有现成的,你去 Github 上一搜便知。
      秋水逸冰2年前 (2015-09-06)回复
      • github上只有centos7的,能不能搞个centos6的一键安装脚本呢?
        hunter2年前 (2016-03-14)回复
        • 这个,最近没时间折腾这个。 要不你就换成CentOS 7 好了
          秋水逸冰2年前 (2016-03-14)回复