在企业IT运维或教学实验中,我们常常会遇到需要在 CentOS 6 这类较老但仍在使用中的 Linux 发行版上部署远程访问服务的需求,由于 CentOS 6 已于 2024 年初停止官方支持,其安全性风险较高,但在特定遗留系统或教学环境中仍被广泛使用,本文将详细介绍如何在 CentOS 6 上安装并配置 OpenVPN,以实现安全的远程访问功能,帮助用户在有限条件下构建基本的虚拟私有网络(VPN)服务。

确保你拥有一个运行 CentOS 6 的服务器(建议为最小化安装),并具备 root 权限,你需要一个公网 IP 地址和一个域名(可选,用于证书命名),本教程基于 CentOS 6.10 版本进行测试,所有命令均在该环境下验证通过。

第一步:更新系统并安装依赖包
登录服务器后,执行以下命令更新软件源并安装必要工具:

yum update -y
yum install -y epel-release
yum install -y gcc make openssl-devel lzo-devel pam-devel

这些依赖项是编译 OpenVPN 和生成证书所必需的。lzo-devel 支持压缩,能提升传输效率;pam-devel 用于身份认证扩展。

第二步:下载并编译 OpenVPN
OpenVPN 官方未提供 CentOS 6 的预编译 RPM 包,因此需从源码编译,前往官网或 GitHub 获取最新稳定版本(如 openvpn-2.5.7.tar.gz):

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 --disable-plugins --enable-static
make && make install

注意:这里使用了 --disable-plugins 避免兼容性问题,且编译为静态链接以便部署。

第三步:创建 PKI(公钥基础设施)证书体系
OpenVPN 使用 OpenSSL 生成证书和密钥,我们使用 Easy-RSA 工具包(已随 OpenVPN 源码附带):

cd /usr/share/easy-rsa/
cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa/2.0/

编辑 vars 文件,修改如下变量:

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyOrg"
export KEY_EMAIL="admin@myorg.com"

然后执行:

source ./vars
./clean-all
./build-ca
./build-key-server server
./build-key client1
./build-dh

这将生成服务器端证书、客户端证书及 Diffie-Hellman 参数文件。

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

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

此配置启用 UDP 协议,分配子网 10.8.0.0/24 给客户端,并推送内网路由,使客户端可访问局域网资源。

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

chkconfig openvpn on
service openvpn start

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

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

第六步:分发客户端配置
client1.crtclient1.keyca.crtta.key(用 openvpn --genkey --secret ta.key 生成)打包,创建客户端配置文件(如 client.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
tls-auth ta.key 1
comp-lzo
verb 3

至此,你已在 CentOS 6 上成功部署 OpenVPN 服务,虽然该系统已过期,但其架构清晰,适合学习 OpenVPN 原理,建议仅用于测试或内部培训,生产环境应尽快迁移到 CentOS Stream 或 AlmaLinux 等现代发行版。

CentOS 6 系统下搭建 OpenVPN 服务的完整指南(适用于老旧环境迁移与教学场景)  第1张

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