在当前网络环境日益复杂的背景下,使用虚拟私人网络(VPN)已成为保障数据安全、远程办公和访问内网资源的重要手段,作为Linux系统中广泛应用的操作系统之一,CentOS因其稳定性与安全性深受企业用户青睐,本文将详细介绍如何在CentOS系统(以CentOS 7/8为例)上安装并配置OpenVPN服务,包括服务端部署、证书生成、防火墙设置以及客户端连接配置全过程,帮助网络工程师快速实现安全可靠的远程访问。

第一步:准备工作
确保你有一台运行CentOS的服务器,并拥有root权限,建议使用最小化安装版本,避免冗余软件干扰,首先更新系统包:

yum update -y

第二步:安装EPEL源和OpenVPN依赖
OpenVPN官方仓库未直接提供CentOS默认包,因此需要添加EPEL(Extra Packages for Enterprise Linux)源:

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

easy-rsa是用于生成SSL/TLS证书的工具包,是OpenVPN认证机制的核心组件。

第三步:配置证书颁发机构(CA)
创建证书目录并初始化PKI结构:

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

编辑vars文件,根据实际需求修改国家、组织等字段(如CN=China, O=MyCompany),然后执行:

source ./vars
./clean-all
./build-ca

这一步会生成CA根证书(ca.crt)和私钥(ca.key),是后续所有证书签发的基础。

第四步:生成服务器证书
执行以下命令生成服务器证书和密钥:

./build-key-server server

按提示输入相关信息,最后确认“Sign the certificate?”选择yes,完成后会生成server.crt和server.key文件。

第五步:生成客户端证书(可为多个用户生成)
例如为第一个客户端生成证书:

./build-key client1

同样按提示操作,如果需批量生成,重复此步骤即可。

第六步:生成Diffie-Hellman参数
这是加密通信的关键参数,提升安全性:

./build-dh

生成dh2048.pem文件。

第七步:配置OpenVPN服务端
复制模板配置文件并编辑:

cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn/
vi /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"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

注意:push "redirect-gateway"将客户端流量重定向至VPN,适合远程访问内网;若仅访问特定服务,可删除该行。

第八步:启用IP转发与防火墙规则
编辑/etc/sysctl.conf,取消注释:

net.ipv4.ip_forward = 1

执行:

sysctl -p

配置iptables(或firewalld)放行UDP 1194端口:

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

第九步:启动服务并设置开机自启

systemctl start openvpn@server
systemctl enable openvpn@server

第十步:客户端配置
将服务器生成的ca.crtclient1.crtclient1.keyta.key(用openvpn --genkey --secret ta.key生成)打包下发给客户端,客户端配置文件示例如下:

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服务已在CentOS上搭建完成,支持多用户安全接入,建议定期更新证书、监控日志、限制访问策略,确保长期稳定运行,此方案适用于中小型企业、远程办公及云服务器安全访问场景。

CentOS下搭建OpenVPN服务完整教程,从安装到客户端配置详解  第1张

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