在当今企业网络架构中,远程办公和跨地域访问已成为常态,为了保障数据传输的安全性与私密性,虚拟专用网络(VPN)技术成为不可或缺的基础设施,作为一款稳定、开源且功能强大的工具,OpenVPN 是 Linux 系统上部署安全远程访问服务的理想选择,本文将详细介绍如何在 CentOS 7 操作系统中配置 OpenVPN 服务,包括环境准备、证书生成、服务器端设置、客户端配置及防火墙规则调整,帮助网络管理员快速搭建一个可靠的企业级 VPN 网络。
确保你有一台运行 CentOS 7 的服务器,并具备 root 权限或 sudo 权限,建议使用最小化安装版本以减少不必要的服务干扰,安装前更新系统软件包:
sudo yum update -y
接着安装 OpenVPN 和 Easy-RSA(用于证书管理):
sudo yum install openvpn easy-rsa -y
Easy-RSA 是 OpenVPN 官方推荐的证书签发工具,能简化 PKI(公钥基础设施)的创建过程,我们将其配置文件复制到标准路径:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑 vars 文件,设置国家、组织等基本信息(如 CN=China, O=YourCompany),这将在生成证书时自动填充字段。
执行初始化操作并生成 CA 根证书:
source ./vars ./clean-all ./build-ca
随后生成服务器证书和密钥:
./build-key-server server
为每个客户端生成独立的证书和密钥(例如客户名为 client1):
./build-key client1
生成 Diffie-Hellman 参数和 TLS 密钥交换文件(提升安全性):
./build-dh openvpn --genkey --secret ta.key
现在开始配置 OpenVPN 服务,复制示例配置文件并进行修改:
cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn/ vi /etc/openvpn/server.conf
关键配置项包括:
port 1194:指定监听端口(默认 UDP)proto udp:使用 UDP 协议提高性能dev tun:创建点对点隧道ca ca.crt、cert server.crt、key server.key:引用生成的证书dh dh2048.pem:指定 Diffie-Hellman 参数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 服务器地址
保存后启用 IP 转发功能,在 /etc/sysctl.conf 中添加:
net.ipv4.ip_forward = 1
应用更改:
sysctl -p
配置防火墙允许 OpenVPN 流量(若启用 firewalld):
firewall-cmd --permanent --add-port=1194/udp firewall-cmd --permanent --add-masquerade firewall-cmd --reload
启动并设置开机自启 OpenVPN 服务:
systemctl enable openvpn@server systemctl start openvpn@server
客户端方面,需将以下文件打包分发给用户:ca.crt、client1.crt、client1.key 和 ta.key,然后根据操作系统(Windows、Linux、macOS)使用对应客户端(如 OpenVPN GUI 或官方客户端)导入配置文件即可连接。
通过以上步骤,你已在 CentOS 7 上成功部署了 OpenVPN 服务,为远程办公提供了加密、安全、可控的网络接入方式,后续可根据需求扩展用户权限、日志审计或集成双因素认证,进一步增强安全性。

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






