在现代企业网络架构中,虚拟私人网络(VPN)已成为保障远程访问安全、实现跨地域数据传输的重要手段,尤其对于运行CentOS操作系统的服务器环境,合理部署和管理VPN服务不仅能提升网络安全性,还能增强员工办公灵活性,本文将详细介绍如何在CentOS系统上搭建和配置OpenVPN服务,涵盖安装、证书生成、防火墙设置、客户端配置等关键步骤,帮助网络工程师快速构建一个稳定、安全的私有网络隧道。

确保你的CentOS服务器已更新至最新版本(推荐使用CentOS Stream或CentOS 7/8),登录服务器后,执行以下命令安装OpenVPN及相关依赖:

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

我们使用Easy-RSA工具生成SSL/TLS证书和密钥,这是OpenVPN认证的核心机制,将Easy-RSA模板复制到指定目录并初始化PKI(公钥基础设施):

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass

上述命令会创建根证书颁发机构(CA),无需密码可简化自动化部署,然后生成服务器证书和密钥:

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

接着生成客户端证书(每个用户都需要一个独立证书):

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

注意:client1是用户名,可根据实际需求替换为具体用户标识,完成后,将服务器证书、密钥及CA证书拷贝至OpenVPN配置目录:

sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt /etc/openvpn/

现在配置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"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

启动OpenVPN服务并设置开机自启:

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

配置防火墙允许UDP 1194端口通过:

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

客户端配置方面,需将上述生成的CA证书、客户端证书、密钥打包成.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

用户只需将此文件导入OpenVPN客户端即可连接,建议结合动态DNS(如No-IP)解决公网IP变动问题,并定期轮换证书以增强安全性。

在CentOS环境下搭建OpenVPN不仅技术成熟、社区支持完善,而且具备高度灵活性,通过本文所述流程,网络工程师可以快速部署一套面向用户的轻量级安全远程接入方案,满足企业对远程办公、分支机构互联等场景的需求,后续还可集成LDAP/AD身份认证、日志审计等功能,进一步提升运维效率与安全等级。

CentOS系统下搭建和配置VPN服务的完整指南,从基础到实战  第1张

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