随着企业对远程访问安全性的要求日益提高,虚拟私人网络(VPN)成为连接分支机构与总部、远程员工接入内网的重要手段,虽然 CentOS 6 已于 2024 年初停止维护,但在一些遗留系统中仍广泛存在,本文将详细讲解如何在 CentOS 6 系统上搭建 OpenVPN 服务,为这类老环境提供稳定、安全的远程接入方案。

确保你拥有一个运行 CentOS 6 的服务器(建议为最小化安装),并具备 root 权限,你需要一台公网 IP 地址,用于外部用户通过该地址连接到你的 OpenVPN 服务。

第一步:更新系统和安装依赖包
执行以下命令更新系统软件包:

yum update -y

然后安装编译所需工具和 OpenVPN 所需依赖:

yum install -y gcc make openssl-devel lzo-devel pam-devel

第二步:下载并编译 OpenVPN
CentOS 6 的默认仓库中 OpenVPN 版本较旧(通常为 2.1.x),建议从官网下载最新稳定版(如 2.5.7),注意:由于 CentOS 6 内核版本较低,部分高版本 OpenVPN 可能无法正常运行,因此选择兼容版本至关重要。

cd /tmp
wget https://swupdate.openvpn.net/community/releases/openvpn-2.5.7.tar.gz
tar -xzf openvpn-2.5.7.tar.gz
cd openvpn-2.5.7
./configure --enable-static --disable-shared --with-lzo-headers=/usr/include --with-lzo-lib=/usr/lib
make && make install

第三步:生成证书和密钥(使用 Easy-RSA)
OpenVPN 使用 PKI(公钥基础设施)进行身份认证,我们用 Easy-RSA 工具来管理证书:

cd /etc/openvpn/
mkdir easy-rsa
cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
chmod +x /etc/openvpn/easy-rsa/vars

编辑 /etc/openvpn/easy-rsa/vars 文件,修改 KEY_COUNTRY, KEY_PROVINCE, KEY_CITY 等字段为你所在地区信息。

接着初始化 CA 和生成服务器证书:

cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-key client1
./build-dh

这些步骤会生成 ca.crt, server.crt, server.key, dh2048.pem 和客户端证书文件。

第四步:配置 OpenVPN 服务端
创建主配置文件 /etc/openvpn/server.conf如下:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

第五步:启动服务并配置防火墙
启用 OpenVPN 服务:

chkconfig openvpn on
service openvpn start

开放防火墙端口(若未禁用 iptables):

iptables -A INPUT -p udp --dport 1194 -j ACCEPT
service iptables save

第六步:客户端配置
将服务器证书(ca.crt)、客户端证书(client1.crt)、私钥(client1.key)打包发送给客户端,并创建 .ovpn 配置文件:

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

至此,你在 CentOS 6 上成功搭建了一个基于证书认证的 OpenVPN 服务,可支持多用户安全远程接入,尽管 CentOS 6 已不再受官方支持,但其稳定性使得它仍可用于特定场景,建议后续逐步迁移到 CentOS Stream 或 Rocky Linux 等长期支持版本,以获得更好的安全性和功能扩展性。

在 CentOS 6 上搭建 OpenVPN 服务的完整指南(适用于老旧系统环境)  第1张

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