在企业网络和远程办公日益普及的今天,虚拟私人网络(VPN)已成为保障数据安全、实现跨地域访问的重要工具,CentOS作为一款稳定可靠的Linux发行版,广泛应用于服务器环境,尤其适合部署OpenVPN这类开源VPN解决方案,本文将详细介绍如何在CentOS 7或CentOS 8/9系统中配置OpenVPN服务,包括安装、证书生成、服务配置、防火墙设置以及客户端连接步骤,帮助网络工程师快速搭建安全高效的私有网络通道。

确保你拥有一个运行CentOS的服务器,并具备root权限或sudo权限,我们以CentOS 8为例进行演示,第一步是更新系统并安装必要的软件包:

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

Easy-RSA 是用于生成SSL/TLS证书和密钥的工具,它是OpenVPN认证体系的核心组件,安装完成后,复制Easy-RSA模板到默认路径:

cp -r /usr/share/easy-rsa/3.0/* /etc/openvpn/

初始化PKI(公钥基础设施)并生成CA证书:

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

这里使用 nopass 参数是为了避免每次启动OpenVPN时都需要输入密码,适用于自动化部署场景,然后生成服务器证书和密钥:

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

接着生成客户端证书(每台客户端需单独生成):

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

你需要生成Diffie-Hellman参数和TLS密钥(增强安全性):

./easyrsa gen-dh
openvpn --genkey --secret ta.key

创建OpenVPN主配置文件 /etc/openvpn/server.conf如下(可根据实际需求调整):

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
tls-auth /etc/openvpn/ta.key 0
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

配置完成后,启用并启动OpenVPN服务:

sudo systemctl enable openvpn@server.service
sudo systemctl start openvpn@server.service

为了允许外部访问,还需配置防火墙(firewalld):

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

最后一步是配置客户端,将以下文件从服务器复制到客户端设备:

  • ca.crt(CA证书)
  • client1.crt(客户端证书)
  • client1.key(客户端私钥)
  • ta.key(TLS密钥)

创建客户端配置文件(如 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

将此文件导入OpenVPN客户端(Windows、Linux或移动设备),即可建立加密隧道,通过这种方式,你可以安全地访问内网资源,同时避免数据被窃听或篡改。

CentOS + OpenVPN 是一套成熟、灵活且安全的远程接入方案,特别适合中小型企业或个人开发者构建私有网络,掌握其配置流程,不仅能提升你的网络运维能力,也为未来部署更复杂的SD-WAN或零信任架构打下坚实基础。

CentOS系统下配置OpenVPN服务的完整指南,从安装到客户端连接详解  第1张

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