随着远程办公需求的快速增长,构建安全、稳定的虚拟私有网络(VPN)成为中小型企业不可或缺的基础设施,CentOS 6.8 虽然已进入 EOL(生命周期结束)状态,但仍有不少遗留系统依赖它运行,本文将详细介绍如何在 CentOS 6.8 上搭建一个基于 IPsec + L2TP 的企业级 VPN 服务,适用于 Windows、iOS 和 Android 客户端连接,确保数据传输加密与身份认证安全。

第一步:准备工作
确认服务器满足以下条件:

  • 公网 IP 地址(静态或动态均可,需支持端口映射)
  • CentOS 6.8 最小化安装(建议使用 x86_64 架构)
  • root 权限访问
  • 关闭 SELinux(setenforce 0 并修改 /etc/selinux/configSELINUX=disabled
  • 防火墙配置:开放 UDP 500(IKE)、UDP 4500(NAT-T)、UDP 1701(L2TP)以及 TCP 22(SSH)

第二步:安装必要软件包
使用 yum 安装 IPsec 和 L2TP 相关组件:

yum install -y xl2tpd ipsec-tools iptables-services

第三步:配置 IPsec(StrongSwan 替代方案)
由于 CentOS 6.8 默认使用 racoon(IPsec 工具),我们编辑 /etc/ipsec.conf

config setup
    plutodebug=control
    protostack=netkey
    nat_traversal=yes
    interfaces=%defaultroute
conn l2tp-psk
    authby=secret
    pfs=no
    auto=add
    keyingtries=3
    rekey=no
    type=transport
    left=YOUR_SERVER_IP
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/1701
    dpddelay=10s
    dpdtimeout=60s
    dpdaction=clear

创建预共享密钥文件 /etc/ipsec.secrets

YOUR_SERVER_IP %any : PSK "your_strong_pre_shared_key"

设置权限:chmod 600 /etc/ipsec.secrets

第四步:配置 L2TP 服务
编辑 /etc/xl2tpd/xl2tpd.conf

[global]
port = 1701
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 = no
pppoptfile = /etc/ppp/options.xl2tpd
[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 = no
pppoptfile = /etc/ppp/options.xl2tpd

第五步:设置用户认证
创建 /etc/ppp/options.xl2tpd

noauth
refuse-pap
refuse-chap
refuse-mschap
ms-dns 8.8.8.8
ms-dns 8.8.4.4
asyncmap 0
auth
crtscts
lock
modem
speed 115200
mtu 1400
mru 1400
proxyarp
debug
lock

添加用户账号:

echo "username * password *" >> /etc/ppp/chap-secrets

第六步:启用并启动服务

chkconfig ipsec on
chkconfig xl2tpd on
service ipsec start
service xl2tpd start

第七步:内核转发与 NAT 设置
开启 IP 转发:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
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 -p tcp -d 192.168.100.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE
service iptables save

至此,CentOS 6.8 上的 IPsec + L2TP VPN 服务已部署完成,客户端可通过 L2TP 协议连接,输入服务器公网 IP、用户名密码及预共享密钥即可接入,虽然 CentOS 6.8 已不推荐使用,但在特定场景下,该方案依然能提供可靠的企业级远程访问能力,运维人员应定期备份配置并评估迁移至现代 Linux 发行版(如 AlmaLinux 或 Rocky Linux)的可行性。

在 CentOS 6.8 系统中搭建 IPsec L2TP 企业级 VPN 服务完整指南  第1张

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