百度网盘连接:
链接: https://pan.baidu.com/s/1Z-116arwux6SMjZwhwHx3A 提取码: 6lcm
系统: centos7.6.181
内核: 3.10.0-957.12.2
1.Linux使用xl2tpd建立l2tp隧道:
服务端配置:
网盘下载安装包,然后安装
rpm -ivh ppp-2.4.5-34.el7_7.x86_64.rpm xl2tpd-1.3.15-1.el7.x86_64.rpm
1.1、在 xl2tpd.conf 文件中配置 pppoptfile
vi /etc/xl2tpd/xl2tpd.conf
[lns default]
ip range = 192.168.0.2-192.168.0.20
local ip = 192.168.0.1
refuse chap = yes
require pap = yes
name = vpn_company
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
1.2、设置安全认证
vi /etc/ppp/options.xl2tpd
noccp
noauth
idle 1800
mtu 1410
mru 1410
nodefaultroute
connect-delay 5000
1.3、配置 L2TP 用户认证
vi /etc/ppp/chap-secrets
test * test *
vi /etc/ppp/pap-secrets
#如果配置pap认证,应该把chap-secrets里的用户密码删除
test * test *
systemctl restart xl2tpd
1.4、配置转发(连通外网eth1)
echo “net.ipv4.ip_forward = 1” >> /etc/sysctl.conf
sysctl -p
如有防火墙,需要配置:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE //(centos6)
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o eth1 -j MASQUERADE -s 192.168.0.0/24
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 0 -p gre -j ACCEPT
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
2、客户端配置
2.1、配置客户端认证信息
vi /etc/ppp/peers/vpn_company
remotename vpn_company
user “test”
password “test”
ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-mschap-v2
noccp
noauth
noipdefault
mtu 1410
mru 1410
usepeerdns
debug
connect-delay 5000
2.2、配置 lac
vi /etc/xl2tpd/xl2tpd.conf
[lac vpn_company]
lns = 192.168.159.132
pppoptfile = /etc/ppp/peers/vpn_company
ppp debug = yes
systemctl restart xl2tpd
3、在客户端建立 L2TP 连接
连接到指定 lac
echo ‘c vpn_company’ > /var/run/xl2tpd/l2tp-control
vpn_company 为 /etc/xl2tpd/xl2tpd.conf 中配置的 lac 名称
成功建立连接后,可以看到如下 ppp 网卡信息
ppp0 Link encap:点对点协议
inet 地址:192.168.0.2 点对点:192.168.0.1 掩码:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1410 跃点数:1
接收数据包:4 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:4 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:3
接收字节:58 (58.0 B) 发送字节:76 (76.0 B)
关闭 L2TP 连接
echo “d vpn_company” > /var/run/xl2tpd/l2tp-control