. centos l2tp服务器 .
L2TP协议核心作用
L2TP(Layer 2 Tunneling Protocol)通过封装PPP帧实现点对点隧道传输,与IPSec配合建立加密数据传输通道,保障远程网络接入安全性。
服务器环境准备
- CentOS 7/8 操作系统
- root权限操作账户
- 关闭SELinux:
setenforce 0
- 禁用防火墙冲突:
systemctl stop firewalld
核心组件安装
yum install epel-release -y
yum install xl2tpd libreswan -y
xl2tpd处理L2TP隧道连接,libreswan提供IPSec加密支持。
IPSec配置
/etc/ipsec.conf 加入配置段:
conn L2TP-PSK
authby=secret
pfs=no
auto=add
keyingtries=3
ikelifetime=8h
keylife=1h
type=transport
left=%defaultroute
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
/etc/ipsec.secrets 添加预共享密钥:
%any : PSK "Your_Shared_Key"
xl2tpd服务配置
/etc/xl2tpd/xl2tpd.conf 修改:
[global]
ipsec saref = yes
[lns default]
ip range = 10.10.0.100-200
local ip = 10.10.0.1
require chap = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
/etc/ppp/options.xl2tpd 配置:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
auth
mtu 1200
mru 1200
nodefaultroute
debug
proxyarp
用户配置 /etc/ppp/chap-secrets:
username * password *
系统内核与防火墙
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
firewall-cmd --permanent --add-service=ipsec
firewall-cmd --permanent --add-port=1701/udp
firewall-cmd --permanent --add-port=4500/udp
firewall-cmd --reload
服务启动验证
systemctl start ipsec xl2tpd
systemctl enable ipsec xl2tpd
ipsec verify
检查服务状态:systemctl status xl2tpd
应显示active (running)
客户端连接测试
使用Windows/Linux/macOS客户端配置:
- 服务器地址:公网IP或域名
- 预共享密钥
- 用户凭证
排错处理
- 检查所有配置文件语法
- 验证UDP 500/4500端口开放
- 查看日志:
journalctl -u xl2tpd
- 禁用网络过滤规则