在当前企业网络和远程办公日益普及的背景下,虚拟专用网络(VPN)已成为保障数据传输安全的重要工具,作为Linux发行版中广受信赖的稳定系统,CentOS因其长期支持和良好的兼容性,成为许多网络工程师部署OpenVPN服务的首选平台,本文将详细介绍如何在CentOS 7或8环境中搭建OpenVPN服务,包括环境准备、证书生成、服务器配置、防火墙设置以及客户端连接步骤,帮助读者快速构建一个安全可靠的私有网络通道。
确保你拥有一个运行CentOS 7或8的服务器,并具备root权限或sudo权限,建议使用最小化安装版本以减少不必要的服务干扰,更新系统软件包是第一步,执行命令:
sudo yum update -y
安装EPEL源和OpenVPN相关组件,EPEL提供额外的软件包支持,而Easy-RSA用于管理SSL/TLS证书:
sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
证书管理是OpenVPN安全性的核心,使用Easy-RSA初始化证书颁发机构(CA):
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,设置国家、组织等信息,然后执行以下命令生成CA密钥对:
./clean-all ./build-ca
接下来生成服务器证书和密钥:
./build-key-server server
为每个客户端生成独立证书:
./build-key client1
最后生成Diffie-Hellman参数和TLS密钥:
./build-dh openvpn --genkey --secret ta.key
完成证书生成后,复制必要文件到OpenVPN配置目录:
cp ca.crt ca.key server.crt server.key dh2048.pem ta.key /etc/openvpn/
编辑主配置文件/etc/openvpn/server.conf,关键配置项如下:
port 1194:指定监听端口(可选UDP或TCP)proto udp:推荐使用UDP协议提升性能dev tun:创建TUN设备用于点对点隧道ca ca.crt,cert server.crt,key server.key:引用证书路径dh dh2048.pem和tls-auth ta.key 0:启用TLS验证增强安全性server 10.8.0.0 255.255.255.0:分配客户端IP地址段push "redirect-gateway def1 bypass-dhcp":强制客户端流量走VPNpush "dhcp-option DNS 8.8.8.8":推送DNS服务器
启动OpenVPN服务并设置开机自启:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
若服务器运行在防火墙环境下(如firewalld),需开放UDP 1194端口:
sudo firewall-cmd --add-port=1194/udp --permanent sudo firewall-cmd --reload
客户端配置方面,可使用OpenVPN GUI(Windows)或手动配置Linux客户端,配置文件包含服务器地址、证书路径及认证方式,通过分发客户端证书和配置文件,即可实现安全远程访问内网资源。
在CentOS上搭建OpenVPN不仅技术成熟、文档丰富,还能满足中小企业或个人用户对网络安全的高要求,掌握此技能,意味着你已具备构建基础网络防护体系的能力。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速