在企业网络和远程办公日益普及的今天,安全可靠的虚拟私人网络(VPN)已成为连接异地分支机构、保障数据传输隐私的重要手段,对于运行 CentOS 7 的服务器用户来说,搭建一个稳定且兼容性强的 IPsec/L2TP(Internet Protocol Security / Layer 2 Tunneling Protocol)VPN 服务,是一种成熟且广泛采用的方案,本文将详细讲解如何在 CentOS 7 系统中部署这一组合,包括安装依赖、配置 IPSec 协议栈(使用 strongSwan)、设置 L2TP 用户认证(通过 xl2tpd),以及常见问题排查。
确保你的 CentOS 7 服务器已更新至最新状态,并具备公网 IP 地址(或可被外部访问的内网地址),登录服务器后执行以下命令:
sudo yum update -y sudo yum install -y epel-release sudo yum install -y strongswan xl2tpd ppp ipsec-tools
配置 strongSwan 的主文件 /etc/strongswan.conf,重点启用 IKEv1 和 ESP 加密协议,并指定证书路径(若使用预共享密钥,可跳过证书部分):
charon {
load_modular = yes
plugins {
attr {
# 可选:用于分配客户端 IP
}
}
}
ipsec {
strictcrlpolicy = no
uniqueids = never
}
connections {
l2tp-ipsec {
left = %any
leftid = @yourdomain.com
leftcert = server-cert.pem
leftsendcert = always
right = %any
rightauth = eap-mschapv2
rightdns = 8.8.8.8, 8.8.4.4
rightsourceip = 192.168.100.0/24
auto = route
dpddelay = 30s
dpddelay = 30s
dpdtimeout = 120s
dpdaction = clear
ike = aes256-sha1-modp1024!
esp = aes256-sha1!
rekey = yes
keylife = 1h
fragmentation = yes
}
}
eap {
method = mschapv2
auth = pubkey
}
然后配置 /etc/ipsec.secrets 文件,添加预共享密钥(PSK)或证书私钥:
PSK "your_strong_pre_shared_key"
接着配置 xl2tpd,编辑 /etc/xl2tpd/xl2tpd.conf,定义隧道接口和本地 IP 池:
[global] port = 1701 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 = l2tp-server ppp debug = yes pppoptfile = /etc/ppp/options.l2tpd length bit = yes
创建 /etc/ppp/options.l2tpd 文件,定义 PPP 协议选项:
+mschap-v2
ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8
ms-dns 8.8.4.4
asyncmap 0
auth
crtscts
lock
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
配置用户账号:编辑 /etc/ppp/chap-secrets,格式为 用户名 * 密码 *,
testuser * mypassword *
启动服务并设置开机自启:
sudo systemctl enable ipsec xl2tpd sudo systemctl start ipsec xl2tpd
确认防火墙开放端口(如 iptables 或 firewalld):
- UDP 500 (IKE)
- UDP 4500 (NAT-T)
- UDP 1701 (L2TP)
完成上述步骤后,客户端(Windows、iOS、Android)可通过输入服务器 IP、用户名密码、选择 L2TP/IPsec 方式连接,此方案支持多用户并发、高安全性、跨平台兼容,是 CentOS 7 环境下构建企业级远程接入的理想选择,遇到问题时,检查日志 /var/log/secure 和 journalctl -u strongswan 是快速定位故障的关键。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速