在现代网络环境中,虚拟私人网络(VPN)已成为保障数据传输安全、实现远程访问和绕过地理限制的重要工具,对于使用 CentOS 操作系统的服务器管理员或企业IT人员而言,搭建一个稳定可靠的本地VPN服务不仅能够提升内部通信安全性,还能为移动办公用户提供便捷接入通道,本文将详细介绍如何在 CentOS 系统上部署 OpenVPN 服务,并涵盖基础配置、防火墙设置、客户端连接以及性能调优等关键步骤。
确保你有一台运行 CentOS 7 或 CentOS 8/9 的服务器,并具备 root 权限,推荐使用 CentOS Stream(最新版本)以获得更好的安全更新支持,安装前建议执行系统更新:
sudo yum update -y
安装 OpenVPN 和 Easy-RSA(用于证书管理),Easy-RSA 是生成数字证书的核心组件,用于身份认证和加密通信:
sudo yum install openvpn easy-rsa -y
安装完成后,初始化 PKI(公钥基础设施)环境,通常在 /usr/share/easy-rsa 目录中进行操作,但更推荐复制一份到自定义位置(如 /etc/openvpn/easy-rsa)以便管理:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑 vars 文件,根据你的组织信息修改默认参数(如国家、组织名、密钥长度),建议使用 2048 位或更高强度的 RSA 密钥以增强安全性,之后执行以下命令生成 CA 证书和服务器证书:
./clean-all ./build-ca # 生成根证书 ./build-key-server server # 生成服务器证书 ./build-key client1 # 生成客户端证书(可多个) ./build-dh # 生成 Diffie-Hellman 参数
完成证书生成后,需要配置 OpenVPN 主服务器文件,默认路径为 /etc/openvpn/server.conf,你可以基于模板创建并编辑该文件,关键配置项包括:
port 1194:指定监听端口(UDP 协议更高效)proto udp:选择协议(UDP 更快,TCP 更可靠)dev tun:创建隧道设备ca ca.crt,cert server.crt,key server.key,dh dh.pem:引用证书路径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 服务器
保存配置后,启动服务并设置开机自启:
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
为了使客户端连接成功,还需启用 IP 转发功能,编辑 /etc/sysctl.conf,添加:
net.ipv4.ip_forward = 1
然后应用更改:
sysctl -p
生成客户端配置文件(.ovpn应包含服务器地址、证书路径、协议和端口等信息,用户只需将此文件导入 OpenVPN 客户端(Windows/macOS/Linux 均支持)即可连接。
优化方面,可以考虑启用 TLS 加密、限制客户端并发数、定期轮换证书,以及部署日志监控(如使用 rsyslog 记录访问日志),结合 fail2ban 可有效防止暴力破解攻击。
在 CentOS 上搭建 OpenVPN 不仅技术成熟,而且灵活性强,适合中小型企业或个人用户构建私有安全网络,只要遵循上述步骤,即可快速部署一个既安全又稳定的远程访问解决方案。

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









