在当今远程办公和分布式团队日益普及的背景下,建立一个稳定、安全的虚拟私人网络(VPN)服务已成为企业与个人用户的刚需,OpenVPN 是目前最成熟、开源且广泛使用的 VPN 解决方案之一,尤其适合在 Linux 系统上部署,本文将详细介绍如何在 CentOS 7 系统上从零开始搭建一套完整的 OpenVPN 服务器,包括环境准备、安装配置、证书生成、防火墙设置以及客户端连接测试,确保您能快速构建出一个可信赖的私有网络通道。
第一步:准备工作
确保您的 CentOS 7 服务器具备以下条件:
- 一台运行 CentOS 7 的物理或云服务器(推荐使用最小化安装版本)
- 公网 IP 地址(用于外部访问)
- root 权限或 sudo 权限
- 配置好 YUM 源(如阿里云或腾讯云镜像源)
第二步:安装 OpenVPN 和 Easy-RSA 工具
OpenVPN 官方仓库默认不包含在 CentOS 7 的基础包中,需先启用 EPEL 源:
sudo yum install -y epel-release sudo yum update -y
接着安装 OpenVPN 及其依赖工具:
sudo yum install -y openvpn easy-rsa
第三步:生成证书和密钥(PKI)
Easy-RSA 是用于管理 SSL/TLS 证书的工具,我们用它来创建服务器和客户端证书:
- 复制模板到 /etc/openvpn/easy-rsa/ 目录:
make-cadir /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_CN=server export KEY_NAME=server export KEY_OU=OpenVPN
- 执行初始化并生成 CA 根证书:
./clean-all ./build-ca
- 生成服务器证书和密钥:
./build-key-server server
- 为客户端生成证书(每个客户端单独生成):
./build-key client1
第四步:配置 OpenVPN 服务器
复制示例配置文件并编辑:
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/ vi /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 "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3
第五步:启用 IP 转发和防火墙规则
开启内核转发功能:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
配置防火墙(firewalld)允许 OpenVPN 流量:
firewall-cmd --add-port=1194/udp --permanent firewall-cmd --add-masquerade --permanent firewall-cmd --reload
第六步:启动服务并设置开机自启
systemctl enable openvpn@server systemctl start openvpn@server
第七步:分发客户端配置文件
客户端需要一个 .ovpn 文件,内容包括服务器地址、CA 证书、客户端证书和密钥,可以使用如下模板,并将对应文件内容嵌入其中:
client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3
至此,您已成功在 CentOS 7 上搭建了 OpenVPN 服务器,通过上述步骤,不仅实现了加密通信,还支持自动分配 IP、DNS 解析和路由控制,满足大多数远程访问需求,建议定期更新证书、监控日志、限制用户权限,以保障长期运行的安全性与稳定性,对于生产环境,还可结合 Fail2ban、双因子认证等增强措施进一步提升安全性。

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






