vps架设ikev2(基于 Debian 6.x 搭建 PPTP / L2TP IPSec VPN)

博主:xiaoweixiaowei 2022-12-19 条评论


生活在一个拥有庞大局域网的国度,对 的需求是越来越大了,老是买吧不划算,自己用得特别多,还要跟那些用 玩美服的小屁孩一起堵,于是果断决定在 Linode 的一台闲置 VPS 上搭建一个。其中各种艰辛啊,Google 找回来的搭建方案又无数种,个个说法不一,又找遍基友们实践,最终终于把这个方案折腾出来了。(PS:Linode 是某朝重点关照对象,在使用 时要自行承受 IP 被 Ban 的风险。)

这台 VPS 是 Debian 6.0 系统的,Plan 是 Linode 1024,首先我们 SSH 登陆到终端,更新源

apt-get update

先来安装配置最基本的 PPTP 和 L2TP,PPTP 采用 d,L2TP 采用 xd。

apt-get install ppp d xd libpcap-dev

安装好之后先来配置 d。

mv /etc/ppp/d-options /etc/ppp/d-options.bak

touch /etc/ppp/d-options

nano /etc/ppp/d-options

name drefuse-paprefuse-chaprefuse-mschaprequire-mschap-v2require-mppe-128proxyarpnodefaultroutelocknobsdcompms-dns 8.8.8.8ms-dns 8.8.4.4

mv /etc/d.conf /etc/d.conf.bak

touch /etc/d.conf

nano /etc/d.conf

option /etc/ppp/d-optionsdebuglogwtmplocalip 10.0.22.1remoteip 10.0.22.9-250

d 弄好之后配置 xd,文件位于 /etc/xd/xd.conf

mv /etc/xd/xd.conf /etc/xd/xd.conf.baktouch /etc/xd/xd.confnano /etc/xd/xd.conf[global]ipsec saref = no[lns default]ip range = 10.0.23.10-10.0.23.255local ip = 10.0.23.1refuse chap = yesrefuse pap = yesrequire authentication = yesppp debug = yespppoptfile = /etc/ppp/options.xdlength bit = yes

然后再将 xd 附加到 ppp 中

mv /etc/ppp/options.xd /etc/ppp/options.xd.bak

touch /etc/ppp/options.xd

nano /etc/ppp/options.xd

require-mschap-v2refuse-mschapms-dns 8.8.8.8ms-dns 8.8.4.4asyncmap 0authcrtsctslockhide-passwordmodemdebugname dproxyarplcp-echo-interval 30lcp-echo-failure 4

配置完成之后就来搭建 IPSec。IPSec 的实现方案有很多,我们通常使用更加方便的 OpenSwan,直接使用 apt-get 安装即可,网上很多资料都说要自己编译,我编译了 N 个 Version 都是有问题的!后来直接安装反而成功了。

apt-get install openswan

安装的时候会出现一个窗口问你是否使用 X.509 证书验证,这个用不着,NO!安装完成后就可以开始配置。

mv /etc/ipsec.conf /etc/ipsec.conf.bak

touch /etc/ipsec.conf

nano /etc/ipsec.conf

version 2.0config setup nat_traversal=yes virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12 oe=off protostack=netkeyconn L2TP-PSK-NAT rightsubnet=vhost:%priv also=L2TP-PSK-noNATconn L2TP-PSK-noNAT authby=secret pfs=no auto=add keyingtries=3 rekey=no ikelifetime=8h keylife=1h type=transport left= leftprotoport=17/1701 right=%any rightprotoport=17/%any dpddelay=30 dpdtimeout=120 dpdaction=clear

这里要特别特别注意,IPSec 对格式很敏感,少了缩进或者少了个空行它都不行。Why you so diao?必须按照格式输入,我也提供样本下载,直接按自己实际情况修改就好了。

接着要配置自己的 IPSec 预共享密钥。

vps架设ikev2(基于 Debian 6.x 搭建 PPTP / L2TP IPSec VPN)

nano /etc/ipsec.secrets

%any: PSK\\\”\\\”**这里要空出一行**

要注意的是这个文件必须有一个空行,没有不行,我在这里纠结好久了。

配置好之后终端执行命令设置转发。

echo 1 > /proc/sys/net/ipv4/ip_forwardfor each in /proc/sys/net/ipv4/conf/*doecho 0 > $each/accept_redirectsecho 0 > $each/send_redirectsdone

执行后重启 IPSec 并验证成果

/etc/init.d/ipsec restart

ipsec verify

结果应该如下图,除了最后一个是 Disabled 以外其余均 OK,如果有其他选项 Failed 或者 Disabled 那就要检查下究竟上面哪一步有问题了。

最后,为了达到我们代理上网的目的,还要在 iptables 中转发一次,执行以下命令。

iptables -t nat -A POSTROUTING -j MASQUERADE

最后重启一次 xd 和 IPSec.

/etc/init.d/xd restart

/etc/init.d/ipsec restart

然后就可以添加我们的 账号,进行拨号测试了。

echo \\\”test * password *\\\” >> /etc/ppp/chap-secrets

拨号测试成功!

但转发设置在重启之后就会失效,需要重新设置,所以我们要将设置加入到自启动。Debian 6.0 的真正自启动是 /etc/init.d/rc.local,并不是/etc/rc.local,开始我也是出错在这里,将下面的内容添加到 rc.local 文件末端就可以。

#/sbin/iptables -t nat -A POSTROUTING -j MASQUERADEecho 1 > /proc/sys/net/ipv4/ip_forwardfor each in /proc/sys/net/ipv4/conf/*doecho 0 > $each/accept_redirectsecho 0 > $each/send_redirectsdone/etc/init.d/d restart/etc/init.d/xd restart/etc/init.d/ipsec restart###

保存,大功告成。

The End

发布于:2022-12-19,除非注明,否则均为 主机评测原创文章,转载请注明出处。