在CentOS系统上搭建VPS与VPN服务的完整指南,从环境准备到安全配置

dfbn6 2026-04-05 免费VPN 3 0

作为一名网络工程师,我经常需要为远程团队或个人用户提供安全、稳定的网络接入方案,近年来,基于VPS(虚拟专用服务器)搭建私有VPN服务成为许多用户首选的方式,尤其在CentOS操作系统环境下,因其稳定性高、社区支持强而备受青睐,本文将详细介绍如何在CentOS 7/8/9系统上部署和配置OpenVPN服务,实现从VPS环境准备到客户端连接的全流程。

确保你的VPS已经安装并运行CentOS系统,推荐使用CentOS Stream或CentOS Linux 7/8 LTS版本,因为它们长期支持且兼容性好,登录VPS后,建议先更新系统软件包:

sudo yum update -y

安装必要的工具,如EPEL仓库、firewalld防火墙管理器和OpenVPN服务本身:

sudo yum install epel-release -y
sudo yum install openvpn easy-rsa firewalld -y

Easy-RSA是用于生成证书和密钥的工具,它是OpenVPN认证体系的核心,我们通过以下步骤初始化证书颁发机构(CA):

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
cp vars.example vars

编辑vars文件,根据实际需求修改国家代码、组织名称等字段,然后执行:

./easyrsa init-pki
./easyrsa build-ca

接着生成服务器证书和密钥:

./easyrsa gen-req server nopass
./easyrsa sign-req server server

再为客户端生成证书(可批量生成多个客户端证书):

./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

完成证书生成后,复制相关文件到OpenVPN配置目录:

cp pki/ca.crt pki/issued/server.crt pki/private/server.key /etc/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 "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

启用IP转发功能以支持路由:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

配置防火墙规则,允许UDP 1194端口并设置NAT转发:

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

最后启动OpenVPN服务并设为开机自启:

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

至此,VPS上的OpenVPN服务已成功部署,用户只需下载客户端配置文件(包含ca.crt、client.crt、client.key),并用OpenVPN客户端导入即可连接,为了进一步提升安全性,建议启用双重认证(如使用Google Authenticator)或定期更换证书。

此方案适用于中小企业、远程办公、家庭用户等多种场景,既经济又灵活,作为网络工程师,掌握此类技能不仅能提升运维效率,还能为客户构建更安全可靠的网络环境。

在CentOS系统上搭建VPS与VPN服务的完整指南,从环境准备到安全配置

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