随着远程办公和安全访问需求的日益增长,搭建一个稳定、安全的虚拟私有网络(VPN)服务成为许多企业与个人用户的刚需,CentOS 6.5 虽然已经停止官方支持(EOL),但因其系统稳定性与广泛兼容性,仍被部分遗留系统使用,本文将详细介绍如何在 CentOS 6.5 上部署基于 IPsec/L2TP 的 VPN 服务,实现安全远程访问内网资源。

确保你拥有一个运行 CentOS 6.5 的服务器,并具备 root 权限,建议使用最小化安装以减少潜在漏洞,第一步是更新系统软件包:

yum update -y

安装必要的软件包,包括 Openswan(IPsec 实现)、xl2tpd(L2TP 守护进程)以及用于身份验证的 ppp 和 ipsec-tools:

yum install -y openswan xl2tpd ppp ipsec-tools

配置 Openswan 是关键步骤,编辑 /etc/ipsec.conf 文件,定义主连接参数:

config setup
    protostack=netkey
    nat_traversal=yes
    virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
conn L2TP-PSK-NAT
    rightsubnet=vhost:%priv
    also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
    authby=secret
    pfs=no
    auto=add
    keyingtries=3
    rekey=no
    ikelifetime=8h
    keylife=1h
    type=transport
    left=%defaultroute
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/1701

然后配置共享密钥文件 /etc/ipsec.secrets,添加如下内容(请替换为强密码):

%any %any : PSK "your_strong_pre_shared_key"

重启 IPsec 服务并加载配置:

service ipsec restart
chkconfig ipsec on

下一步是配置 L2TP 服务,编辑 /etc/xl2tpd/xl2tpd.conf

[global]
ip range = 192.168.100.100-192.168.100.200
local ip = your_server_public_ip
require authentication = yes
refuse chap = no
refuse pap = no
[lns default]
ip range = 192.168.100.100-192.168.100.200
local ip = your_server_public_ip
require authentication = yes

创建用户认证文件 /etc/ppp/chap-secrets,格式为:

username * password * 
john * mypassword *

接着启用 PPP 和 L2TP 服务:

service xl2tpd restart
chkconfig xl2tpd on

开放防火墙端口(若未关闭):

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
service iptables save

完成上述步骤后,客户端可使用 Windows 自带的“连接到工作场所”功能或第三方工具(如 StrongSwan 或 Cisco AnyConnect)连接,输入服务器公网 IP 和用户名密码即可建立安全隧道。

需要注意的是,CentOS 6.5 已不再受支持,存在已知漏洞风险,建议仅用于测试环境或受限网络,生产环境中应优先考虑迁移到较新的 Linux 发行版(如 CentOS Stream 8+ 或 AlmaLinux),尽管如此,掌握此过程对理解传统 IPsec/L2TP 架构仍具有重要价值。

在 CentOS 6.5 系统上搭建 IPsec/L2TP VPN 服务的完整指南  第1张

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