在企业网络或远程办公场景中,安全可靠的虚拟私人网络(VPN)是保障数据传输隐私和网络安全的关键工具,CentOS作为广泛应用于服务器环境的操作系统,其稳定性和安全性使其成为部署OpenVPN的理想平台,本文将详细介绍如何在CentOS系统上搭建并配置OpenVPN服务,包括安装、证书生成、服务器端配置、防火墙设置以及客户端连接步骤。
确保你有一台运行CentOS 7或8的服务器,并具备root权限,登录后,建议先更新系统软件包:
sudo yum update -y
接下来安装OpenVPN及相关依赖,CentOS默认仓库提供了openvpn和easy-rsa(用于证书管理):
sudo yum install openvpn easy-rsa -y
证书管理是OpenVPN的核心环节,使用easy-rsa生成密钥对,复制示例配置到指定目录:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,根据需要修改国家、组织等信息(如C=CN, O=MyCompany),然后执行以下命令生成CA证书和服务器证书:
./clean-all ./build-ca ./build-key-server server ./build-key client1 ./build-dh
这些操作会生成ca.crt、server.crt、server.key、dh2048.pem等关键文件。
现在配置OpenVPN服务器,创建主配置文件 /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
此配置启用UDP协议、私有子网10.8.0.0/24、自动推送DNS和路由规则,适合大多数场景。
启动OpenVPN服务并设置开机自启:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
为允许流量通过,需配置防火墙,若使用firewalld(CentOS默认):
sudo firewall-cmd --add-port=1194/udp --permanent sudo firewall-cmd --add-forward-port=port=1194:proto=udp:toaddr=10.8.0.1 --permanent sudo firewall-cmd --reload
将生成的客户端配置文件(client1.crt、client1.key、ca.crt)打包发送给用户,创建客户端配置文件 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
comp-lzo
verb 3
用户只需导入此文件到OpenVPN客户端(如Windows的OpenVPN GUI),即可安全连接至内网,整个过程完成后,用户可通过加密隧道访问内部资源,同时保护通信免受窃听和篡改。
通过以上步骤,你在CentOS上成功部署了一个功能完整的OpenVPN服务,既满足了远程接入需求,也保证了网络通信的安全性,建议定期更新证书和补丁,以应对潜在安全风险。

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






