随着远程办公和跨地域访问需求的日益增长,使用虚拟私人网络(VPN)已成为保障数据传输安全与隐私的重要手段,对于拥有VPS(虚拟专用服务器)资源的用户来说,在CentOS系统上部署OpenVPN是一种经济高效、稳定可控的选择,本文将详细介绍如何在CentOS 7或CentOS 8/9环境中从零开始搭建一个功能完整的OpenVPN服务,涵盖环境准备、证书生成、配置文件设置以及客户端连接步骤。

确保你的VPS已经安装并运行了CentOS操作系统(推荐使用CentOS Stream 9或CentOS 7作为长期支持版本),登录到服务器后,执行以下命令更新系统软件包:

sudo yum update -y

安装EPEL仓库(Extra Packages for Enterprise Linux),这是获取OpenVPN及相关工具的必要前提:

sudo yum install epel-release -y

然后安装OpenVPN和Easy-RSA(用于生成SSL/TLS证书):

sudo yum install openvpn easy-rsa -y

完成安装后,复制Easy-RSA模板到本地目录,并初始化PKI(公钥基础设施)环境:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa

编辑vars文件(位于/etc/openvpn/easy-rsa/vars),根据需要修改国家、组织、单位等信息(例如将KEY_COUNTRY="US"改为你的国家代码),保存后执行以下命令生成CA证书和密钥:

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

这些命令会依次生成根证书(CA)、服务器证书、客户端证书及Diffie-Hellman参数文件,建议为每个客户端单独生成证书以增强安全性。

将生成的证书和密钥复制到OpenVPN主配置目录:

cp keys/{ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn/

创建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"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

上述配置启用UDP协议、分配私有IP段、推送DNS设置,并开启压缩功能,若需启用日志记录,请确保/var/log/目录可写。

启动并启用OpenVPN服务:

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

检查防火墙是否允许UDP端口1194通过(若使用firewalld):

sudo firewall-cmd --permanent --add-port=1194/udp
sudo firewall-cmd --reload

客户端方面,只需将ca.crtclient1.crtclient1.key三个文件打包成.ovpn配置文件,示例内容如下:

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

将该文件导入OpenVPN客户端(如Windows上的OpenVPN GUI或Linux终端),即可成功连接至你搭建的VPS隧道。

本方案基于标准开源技术栈,具备高安全性、灵活性与可扩展性,适用于个人学习、小型团队或企业内网接入场景,注意定期更新证书、监控日志、合理设置访问权限,才能实现长期稳定的远程访问体验。

在CentOS VPS上搭建安全可靠的OpenVPN服务指南  第1张

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