CentOS系统中配置OpenVPN服务的完整指南,从安装到安全连接

dfbn6 2026-05-11 vpn 2 0

在企业网络或远程办公场景中,虚拟私人网络(VPN)是保障数据传输安全的重要手段,CentOS作为广泛使用的Linux发行版,因其稳定性与安全性,在服务器部署中备受青睐,本文将详细介绍如何在CentOS 7/8系统上搭建并配置OpenVPN服务,实现安全、可靠的远程访问。

确保你拥有一个运行CentOS的服务器,并具备root权限,建议使用最小化安装版本以减少潜在攻击面,通过以下步骤完成OpenVPN服务的部署:

第一步:更新系统并安装依赖
执行命令同步软件源并升级系统:

sudo yum update -y

然后安装OpenVPN及相关工具:

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

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

第二步:初始化PKI(公钥基础设施)
复制默认的EasyRSA脚本目录:

sudo cp -r /usr/share/easy-rsa/ /etc/openvpn/
sudo chown -R root:root /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa/

编辑vars文件,设置国家、组织等信息(如CN=China, O=YourCompany),随后执行:

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

这一步会生成根证书(ca.crt),用于后续所有客户端和服务端的身份验证。

第三步:生成服务器证书和密钥

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

接着生成Diffie-Hellman密钥交换参数(耗时较长):

sudo ./easyrsa gen-dh

第四步:配置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
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 /var/log/openvpn-status.log
verb 3

此配置启用UDP协议、分配子网、推送DNS及路由规则,适用于大多数场景。

第五步:启动并设置开机自启

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

第六步:生成客户端证书
为每个用户生成单独的客户端证书(如client1):

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

并将ca.crtclient1.crtclient1.key打包发送给客户端设备。

测试连接:在Windows或Linux客户端安装OpenVPN GUI,导入证书文件后即可建立加密隧道,若遇到问题,请检查防火墙是否开放UDP 1194端口(firewall-cmd --add-port=1194/udp --permanent),并确认SELinux未阻止服务运行。

通过以上步骤,你已成功在CentOS上搭建了一个可扩展、高安全性的OpenVPN服务,该方案适合中小型企业部署,兼顾易用性与可控性,是远程办公的理想选择。

CentOS系统中配置OpenVPN服务的完整指南,从安装到安全连接

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