系统准备:ubuntu16.04
下载安装包
sudo apt-get install strongswan xl2tpd ppp lsof
配置参数

1.开启IP转发功能
执行 vi /etc/sysctl.con,在末尾添加以下参数。

net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1

配置成功后,启用配置sysctl -p

2.配置ipsec.conf文件
先拷贝一份默认配置文件mv ipsec.conf ipsec.conf.bak,创建一个新的ipsec.conf文件。
vi /etc/ipsec.conf

version 2
config setup
conn L2TP-PSK-noNAT
    authby=secret
    auto=add
    keyingtries=3
    ikelifetime=8h
    keylife=1h
    ike=aes256-sha1
    esp=aes256-sha1
    type=transport
    #left这里写的是服务器的IP地址
    left=192.168.23.76
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any
    dpddelay=10
    dpdtimeout=20
    dpdaction=clear

3.配置IPsec PSK
vi /etc/ipsec.secrets,%any标识服务器地址,秘钥需要加上" "
在这里插入图片描述
4.配置xl2tp文件
先拷贝一份默认配置mv /etc/xl2tpd/xl2tpd.conf /etc/xl2tpd/xl2tpd.conf.bak,创建一份新配置vi /etc/xl2tpd/xl2tpd.conf,具体参数如下。

[global]
ipsec saref = yes
saref refinfo = 30
;debug avp = yes
;debug network = yes
debug state = yes
;debug tunnel = yes
[lns default]
ip range = 12.168.100.100-12.168.100.200
local ip = 12.168.100.1  
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

local ip = 12.168.100.1服务器l2tp的IP地址,ip range = 12.168.100.100-12.168.100.200客户端l2tp分配的地址池。注释的几个是调试参数,若出现问题,可将注释去掉,查看报错原因。

pppoptfile = /etc/ppp/options.xl2tpd指定调用option.xl2tp文件,因此需要在ppp目录下创建这个文件vi /etc/ppp/options.xl2tpd,配置内容如下。

require-mschap-v2
ms-dns 8.8.8.8
ms-dns 114.114.114.114
auth
mtu 1200
mru 1000
crtscts
hide-password
modem
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4

ms-dns 为需要 vpn 客户端使用的 dns 服务器.
5.添加用户名密码
vi /etc/ppp/chap-secrets,内容如下。注意用户名密码需要加上" "
在这里插入图片描述
5.配置转发
开启 gre 协议,并打开服务器 47 和 1723 号端口

sudo iptables -A INPUT -p gre -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 47 -j ACCEPT

开启NAT转发

sudo iptables -t nat -A POSTROUTING -s 12.168.100.0/24 -o ens33 -j MASQUERADE

ens33为主机的网卡名称。

测试连接

每次修改配置都需要重启服务器。

ipsec restart
service xl2tpd restart

连接日志可在系统日志中查看tail -f /vat/log/syslog
在这里插入图片描述
这是我用的一台路由器连接的状态,可正常连接。
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐