在现代企业网络环境中,远程办公、跨地域访问和数据加密传输已成为刚需,OpenVPN 是一个开源、灵活且安全的虚拟私人网络(VPN)解决方案,支持多种认证方式和强大的加密机制,本文将详细介绍如何在 CentOS 7 系统上搭建 OpenVPN 服务器,帮助你构建一个稳定、可扩展的私有网络通道。
确保你的 CentOS 7 服务器已安装并更新至最新状态,登录到服务器后执行以下命令:
sudo yum update -y sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
这一步安装了 OpenVPN 和用于证书管理的 Easy-RSA 工具包,我们配置证书颁发机构(CA)和服务器证书,进入 Easy-RSA 目录:
cd /usr/share/easy-rsa/ cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa/ cd /etc/openvpn/easy-rsa/
编辑 vars 文件,设置国家、省份、组织名称等信息,
export KEY_COUNTRY="CN" export KEY_PROVINCE="Beijing" export KEY_CITY="Beijing" export KEY_ORG="MyCompany" export KEY_EMAIL="admin@mycompany.com" export KEY_OU="IT Department"
运行以下命令生成 CA 密钥对:
./clean-all ./build-ca
然后生成服务器证书:
./build-key-server server
为客户端生成证书(可批量生成多个):
./build-key client1
生成 Diffie-Hellman 参数(此过程可能需要几分钟):
./build-dh
配置 OpenVPN 服务,复制默认配置文件:
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/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 "route 192.168.1.0 255.255.255.0" # 推送内网路由 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
启用 IP 转发功能以支持 NAT:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
配置防火墙规则(使用 firewalld):
firewall-cmd --add-port=1194/udp --permanent firewall-cmd --add-masquerade --permanent firewall-cmd --reload
启动 OpenVPN 服务:
systemctl enable openvpn@server systemctl start openvpn@server
客户端连接时,需准备 .ovpn 配置文件,内容包括服务器地址、证书路径、用户名密码等,建议使用 TLS 认证增强安全性,并定期轮换证书。
通过以上步骤,你已在 CentOS 7 上成功部署了一个功能完整的 OpenVPN 服务器,支持多用户接入、内网穿透和端到端加密,该方案适用于中小企业或个人开发者,具备高可用性和良好扩展性,网络安全是持续的过程,建议结合日志监控、访问控制列表(ACL)和定期审计来提升整体防护能力。

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






