在现代网络环境中,虚拟私人网络(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":强制客户端流量通过 VPN
  • push "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 不仅技术成熟,而且灵活性强,适合中小型企业或个人用户构建私有安全网络,只要遵循上述步骤,即可快速部署一个既安全又稳定的远程访问解决方案。

CentOS下搭建安全高效的VPN服务,从配置到优化的完整指南  第1张

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