在当今远程办公和分布式团队日益普及的背景下,企业与个人用户对安全、稳定的远程访问需求不断增长,虚拟私人网络(VPN)作为实现这一目标的核心技术之一,能够加密通信流量并隐藏用户真实 IP 地址,从而保障数据传输的安全性,CentOS 作为一个稳定、开源且广泛应用于企业环境的操作系统,非常适合用于部署功能完整的 VPN 服务,本文将详细介绍如何在 CentOS 7 或 CentOS 8 上搭建一个基于 OpenVPN 的安全 VPN 服务器,并提供完整的配置步骤和最佳实践建议。
确保你有一台运行 CentOS 的物理机或虚拟机,具备公网 IP 地址(若使用云服务器如阿里云、腾讯云等),并拥有 root 权限,我们选择 OpenVPN 是因为其成熟、跨平台支持良好、社区活跃,且可以结合 Easy-RSA 工具实现证书管理。
第一步:更新系统并安装依赖包
sudo yum update -y sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
第二步:配置 OpenVPN 服务器
复制示例配置文件到 /etc/openvpn/server/ 目录:
sudo cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/server/
编辑配置文件 /etc/openvpn/server/server.conf,关键修改包括:
port 1194:设置监听端口(可改为其他非冲突端口)proto udp:推荐使用 UDP 协议以提高性能dev tun:使用隧道模式ca /etc/openvpn/easy-rsa/pki/ca.crt:CA 根证书路径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:Diffie-Hellman 参数
第三步:生成证书和密钥
进入 Easy-RSA 目录并初始化 PKI:
cd /etc/openvpn/easy-rsa/ sudo ./easyrsa init-pki sudo ./easyrsa build-ca nopass # 创建 CA 证书(不设密码) sudo ./easyrsa gen-req server nopass # 生成服务器证书请求 sudo ./easyrsa sign-req server server # 签署服务器证书 sudo ./easyrsa gen-dh # 生成 Diffie-Hellman 参数
第四步:启用 IP 转发和防火墙规则
编辑 /etc/sysctl.conf,添加:
net.ipv4.ip_forward = 1
执行 sysctl -p 生效。
配置 iptables 或 firewalld 放行 1194 端口并启用 NAT:
sudo firewall-cmd --add-port=1194/udp --permanent sudo firewall-cmd --add-masquerade --permanent sudo firewall-cmd --reload
第五步:启动并测试服务
sudo systemctl enable openvpn-server@server sudo systemctl start openvpn-server@server sudo systemctl status openvpn-server@server
为客户端生成证书和配置文件(使用 easyrsa gen-req client1 nopass 和 sign-req client client1),并将客户端配置文件(.ovpn)分发给用户。
注意事项:
- 定期更新 OpenVPN 和操作系统补丁;
- 使用强密码和定期轮换证书;
- 建议结合 Fail2Ban 防止暴力破解;
- 若需高可用,可考虑使用 Keepalived + OpenVPN 多节点架构。
通过以上步骤,你可以在 CentOS 上快速构建一个功能完善、安全性高的 OpenVPN 服务器,满足远程办公、分支机构互联等多种场景需求,这不仅提升了网络灵活性,也为组织的数据安全提供了坚实基础。

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

