提醒:本文最后更新于 2999 天前,文中所描述的信息可能已发生改变,请仔细核实。
所以发了这篇文章,以CentOS为例配置L2TP/IPsec,其实不单CentOS,其他系列系统(如Ubuntu等)如此配置,L2TP也能正常使用。
首先,安装strongSwan和xl2tpd,不用Openswan是因为据说OSX会连不上。
这个简单,直接yum或apt-get就行了。
以防万一,还是把命令发出来:
yum install strongswan xl2tpd -y
strongSwan主要是为了实现IPsec,而IPsec又是为了PSK,我喜欢这个。
先来配置strongSwan,在/etc/strongswan/ipsec.conf中:
config setup conn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 conn l2tp keyexchange=ikev1 #IKE协议版本 left=104.149.65.3 #服务器IP,自己修改为你自己的 leftsubnet=0.0.0.0/0 leftprotoport=17/1701 authby=secret #PSK认证 leftfirewall=no #不允许strongSwan更改防火墙规则 right=%any rightprotoport=17/%any type=transport # ipsec transport mode auto=add
重要的points,我已经写在上面了。基本上都是预设值。
接下来配置PSK密匙,在/etc/strongswan/ipsec.secrets中:
# ipsec.secrets - strongSwan IPsec secrets file : PSK "修改这里为你的PSK密匙"
这样就完成了strongSwan的配置了,接下来配置L2TP(xl2tpd)。
在/etc/xl2tpd/xl2tpd.conf中:
[global] listen-addr = 104.149.65.3 ;服务器IP,自己修改为你自己的,跟strongSwan保持一致 [lns default] ip range = 172.16.37.2-172.16.37.254 ;分配给客户端的ip local ip = 172.16.37.1 ;L2TP本地ip,也是客户端的网关 assign ip = yes require chap = yes refuse pap = yes ;默认就是拒绝pap的,但是如果你用PAM验证的话,那就要注释这句 require authentication = yes name = xl2tpd ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes
因为172.16.36.X被我分给了PPTP,所以L2TP用了172.16.37.X,这个看自己喜好,不影响。
接下来,编辑/etc/ppp/options.xl2tpd:
ipcp-accept-local ipcp-accept-remote ms-dns 8.8.8.8 ms-dns 8.8.4.4 noccp auth crtscts idle 1800 mtu 1460#这个根据实际,国情应该大部分是1460吧 mru 1460#这个根据实际,国情应该大部分是1460吧 nodefaultroute debug lock proxyarp connect-delay 5000 #login#如果你用了PAP在xl2tpd.conf中的话,那么去掉前面的注释
好了,如果你完全按我上面的配置,那么就是不使用PAP PAM的。
如果你改了用PAP PAM,那么还要修改/etc/pam.d/ppp,改为:
#%PAM-1.0 auth required pam_nologin.so auth required pam_unix.so account required pam_unix.so session required pam_unix.so
这样来达到请求,如果没该用PAP PAM,那就不用改。
以防万一,把原始的/etc/pam.d/ppp配置放上来:
#%PAM-1.0 auth include password-auth account required pam_nologin.so account include password-auth session include password-auth
最后一步,给L2TP添加用户,在/etc/ppp/chap-secrets中,按照如此规则填写,就像PPTP VPN一样。
# Secrets for authentication using CHAP # client server secret IP addresses 用户名 xl2tpd 密码 *
如果你用了PAP,那么记得修改/etc/ppp/pap-secrets,规则同上。
这样就完成了所有的配置,启动strongSwan和xl2tpd:
service strongswan start service xl2tpd start
这样便可正常使用了。
如果你跟我一样,配置了iptables防火墙规则,非许必丢,那么下面这些规则就需要了。
iptables -I INPUT -p udp --dport 500 -j ACCEPT iptables -I INPUT -p udp --dport 4500 -j ACCEPT iptables -I INPUT -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT iptables -t nat -A POSTROUTING -s 172.16.37.0/24 -o eth0 -j MASQUERADE iptables -t filter -I FORWARD -s 172.16.37.0/24 -d 172.16.37.0/24 -j DROP iptables -I FORWARD -s 172.16.37.0/24 -j ACCEPT iptables -I FORWARD -d 172.16.37.0/24 -j ACCEPT
以上完整取自我自用的配置,自己看着修改。
最后给一张Win10创建“使用预共享密钥的L2TP/IPsec”VPN的图:
转载请注明转自:kn007的个人博客的《CentOS配置L2TP/IPsec VPN》