随着远程办公和网络安全需求的不断增长,搭建一个稳定、安全的虚拟私人网络(VPN)成为许多企业与个人用户的刚需,L2TP(Layer 2 Tunneling Protocol)结合 IPsec(Internet Protocol Security)是一种广泛使用的协议组合,它既支持多平台连接,又具备较强的数据加密能力,本文将以 CentOS 7/8 为例,详细介绍如何在 Linux 系统上部署 L2TP/IPsec VPN 服务,包括安装、配置、防火墙设置及常见问题解决方法。
确保你的 CentOS 系统已更新至最新版本,并拥有 root 权限或 sudo 权限,我们使用 openswan 和 xl2tpd 这两个开源软件来实现 L2TP/IPsec 功能,openswan 负责 IPsec 协议栈,xl2tpd 则负责 L2TP 隧道建立。
第一步:安装必要软件包
执行以下命令安装所需组件:
yum install -y openswan xl2tpd
第二步:配置 IPsec(/etc/ipsec.conf)
编辑 /etc/ipsec.conf 文件,添加如下内容:
config setup
protostack=netkey
plutodebug=all
dumpdir=/var/log/pluto/
nat_traversal=yes
conn l2tp-psk
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
left=%any
leftprotoport=17/1701
right=%any
rightprotoport=17/1701
type=transport
auth=esp
esp=3des-sha1
第三步:配置预共享密钥(/etc/ipsec.secrets)
添加一行用于身份验证的密钥:
%any %any : PSK "your_pre_shared_key_here"
请将 "your_pre_shared_key_here" 替换为实际强密码,建议包含大小写字母、数字和特殊字符。
第四步:配置 xl2tpd(/etc/xl2tpd/xl2tpd.conf)
添加如下配置:
[global]
listen-addr = your_server_ip
[lns default]
ip range = 192.168.100.100-192.168.100.200
local ip = 192.168.100.1
require chap = yes
refuse pap = yes
require authentication = yes
name = l2tp-server
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd
length bit = yes
第五步:设置 PPP 选项(/etc/ppp/options.l2tpd)
创建并编辑该文件,内容如下:
+mschap-v2
ipcp-accept-local
ipcp-accept-remote
noccp
auth
mtu 1400
mru 1400
lock
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
第六步:配置用户账户(/etc/ppp/chap-secrets)
添加允许连接的用户名和密码:
username * password *
第七步:启用 IP 转发与防火墙规则
编辑 /etc/sysctl.conf 启用转发:
net.ipv4.ip_forward = 1
执行 sysctl -p 生效,然后配置 iptables:
iptables -A INPUT -p udp --dport 500 -j ACCEPT iptables -A INPUT -p udp --dport 4500 -j ACCEPT iptables -A INPUT -p udp --dport 1701 -j ACCEPT iptables -A FORWARD -s 192.168.100.0/24 -d 0.0.0.0/0 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE
重启服务:
systemctl restart ipsec systemctl restart xl2tpd systemctl enable ipsec xl2tpd
常见问题排查:
- 若连接失败,请检查
/var/log/pluto.log和/var/log/messages中的日志。 - 确保服务器公网 IP 可访问,且端口未被防火墙屏蔽。
- 若客户端提示“无法建立隧道”,请确认 IPsec 密钥一致、防火墙规则正确。
通过以上步骤,你可以在 CentOS 上成功搭建一个功能完整的 L2TP/IPsec VPN 服务,满足日常远程访问与数据加密需求。

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN






