首先安装 strongswan 和 xl2tpd:
yum install strongswan xl2tpd
记得开启 IP 转发,修改 /etc/sysctl.conf (不修改也能正常)修改如下:
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
并重启使之生效。(执行 sysctl -p 应该也是可以的,但一定要验证一下,实
在不行就重启吧。)
接下来修改 /etc/strongswan/ipsec.conf 文件,如下:
config setup
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
conn l2tp
keyexchange=ikev1 # IKE 版本
left=<对外 IP>
leftsubnet=0.0.0.0/0
leftprotoport=17/1701
authby=secret
leftfirewall=no
right=%any
rightprotoport=17/%any
type=transport
auto=add
修改/etc/strongswan/ipsec.secrets 文件(没有此文件就新建一个):
# ipsec.secrets - strongSwan IPsec secrets file
: PSK "
"
IPsec 的部分就完成了,接下来是 L2TP。
/etc/xl2tpd/xl2tpd.conf 文件的 [lns default] 部分如下:
[lns default]
ip range = 10.10.0.2-10.10.0.100
local ip = 10.10.0.1
require chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
bps = 1000000
PPP 的部分,这里只设定了 chap 验证
/etc/ppp/options.xl2tpd (要把 crtscts,lock 屏蔽,不然会报错)
8.8.8.8
8.8.4.4
ms-dns
ms-dns
noccp
auth
crtscts
idle 600
mtu 1200
mru 1200
nodefaultroute
debug
lock
proxyarp
connect-delay 2500
连接密码文件 /etc/ppp/chap-secrets :
# Secrets for authentication using CHAP
# client
secret
server
*
IP addresses
*
还要记得开放 500,1701 和 4500 端口,并配置 iptables 转发规则。
注:没有开启 firewalld 的话,开启转发规则的命令如下:
iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -o eth0 -j MASQUERADE
然后开启服务: