Secrets for authentication using CHAP

dfbn6 2026-04-03 半仙VPN 23 0

CentOS 7下搭建IPsec/L2TP VPN服务的完整指南(含配置与故障排查)

在企业网络和远程办公场景中,安全可靠的虚拟私人网络(VPN)是保障数据传输机密性和完整性的关键工具,CentOS 7作为一款稳定、开源的企业级Linux发行版,非常适合用于搭建IPsec/L2TP类型的VPN服务器,本文将详细介绍如何在CentOS 7系统上从零开始部署一个完整的IPsec/L2TP VPN服务,并提供常见问题的排查方法。

第一步:准备工作
确保你有一台运行CentOS 7的服务器,具备公网IP地址(或通过NAT映射访问),并已配置好基本网络环境,登录服务器后,执行以下命令更新系统:

sudo yum update -y

第二步:安装必要的软件包
我们使用ipsec-toolsxl2tpd来构建IPsec/L2TP服务,同时需要安装支持PPP认证的组件:

sudo yum install -y xl2tpd ipsec-tools ppp

第三步:配置IPsec(/etc/ipsec.conf)
编辑主配置文件,定义加密策略和共享密钥:

sudo vi /etc/ipsec.conf
config setup
    plutostart=no
    protostack=netkey
    dumpdir=/var/run/pluto/
conn L2TP-PSK-NAT
    rightsubnet=vhost:%priv
    also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
    authby=secret
    pfs=yes
    auto=add
    keyingtries=3
    rekey=no
    ikelifetime=8h
    keylife=1h
    type=transport
    left=%defaultroute
    leftid=@your_server_ip
    right=%any
    rightprotoport=17/1701
    dpddelay=10
    dpdtimeout=20
    dpdaction=clear

第四步:设置预共享密钥(/etc/ipsec.secrets)
创建密钥文件,其中your_pre_shared_key是你自定义的密码:

sudo vi /etc/ipsec.secrets

输入:

%any %any : PSK "your_pre_shared_key"

第五步:配置L2TP守护进程(/etc/xl2tpd/xl2tpd.conf)
编辑L2TP配置文件以启用UDP端口转发:

sudo vi /etc/xl2tpd/xl2tpd.conf

如下:

[global]
ipsec saref = yes
[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 = l2tpd
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

第六步:配置用户认证(/etc/ppp/options.xl2tpd)
创建选项文件,定义PPP连接参数:

sudo vi /etc/ppp/options.xl2tpd
ipcp-accept-local
ipcp-accept-remote
noauth
refuse-pap
refuse-chap
refuse-mschap
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
lock
novj
novjccomp
ncomp

第七步:创建用户账号(/etc/ppp/chap-secrets)
添加允许连接的用户名和密码:


第八步:启动服务并开放防火墙
启用IPsec和L2TP服务,开启必要端口(500/4500 UDP、1701 UDP):

sudo systemctl enable ipsec xl2tpd
sudo systemctl start ipsec xl2tpd
sudo firewall-cmd --add-port=500/udp --permanent
sudo firewall-cmd --add-port=4500/udp --permanent
sudo firewall-cmd --add-port=1701/udp --permanent
sudo firewall-cmd --reload

第九步:测试与故障排查
客户端可使用Windows自带的“连接到工作区”功能,选择L2TP/IPsec方式连接,若无法建立连接,请检查日志:

journalctl -u ipsec -f
journalctl -u xl2tpd -f

常见问题包括:预共享密钥不匹配、防火墙未放行端口、SELinux限制等,可通过关闭SELinux临时测试,或使用semanage命令调整策略。


通过上述步骤,你可以在CentOS 7上成功搭建一个功能完备、安全可靠的IPsec/L2TP VPN服务,该方案适用于小型企业或个人远程接入需求,具有良好的兼容性与稳定性,建议定期更新证书和密钥,提升安全性。

Secrets for authentication using CHAP

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