×

CentOS配置L2TP/IPsec VPN

hqy hqy 发表于2019-03-23 01:30:02 浏览3265 评论0

抢沙发发表评论

以CentOS为例配置L2TP/IPsec,其实不单CentOS,其他系列系统(如Ubuntu等)如此配置,L2TP也能正常使用。

首先,安装strongSwan和xl2tpd,不用Openswan是因为据说OSX会连不上。

这个简单,直接yum或apt-get就行了。

以防万一,还是把命令发出来:

mp-wp-inline-eea5d7d3b8adc0b3eda024cdd6653803" style="white-space: pre-wrap; background-color: rgb(254, 254, 254); border: 1px solid rgb(204, 204, 204); box-shadow: rgb(238, 238, 238) 0px 0px 4px; color: rgb(68, 68, 68); font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 12px; line-height: 18px; font-family: monaco, "andale mono", "courier new"; margin-top: 15px; margin-bottom: 15px; padding: 10px 12px; word-break: break-all; word-wrap: break-word;">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的图:
qq%e6%88%aa%e5%9b%be20161005114435

转载请注明转自:kn007的个人博客的《CentOS配置L2TP/IPsec VPN


打赏

本文链接:https://www.kinber.cn/post/406.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客