在当今远程办公和跨地域协作日益普及的背景下,虚拟私人网络(VPN)已成为企业与个人用户保障数据传输安全的重要工具,OpenVPN 是一个开源、灵活且功能强大的 VPN 解决方案,广泛应用于 Linux 系统环境,尤其是 CentOS 这类稳定的企业级发行版,本文将详细介绍如何在 CentOS 7/8 或 CentOS Stream 系统上搭建一套完整的 OpenVPN 服务器,并配置客户端连接,确保安全性与可扩展性。
第一步:准备工作
确保你有一台运行 CentOS 的物理或云服务器(推荐使用 CentOS 7.9 或 8.4+),具备公网 IP 地址,并已登录为 root 用户或拥有 sudo 权限,更新系统软件包:
sudo yum update -y
第二步:安装 OpenVPN 和 Easy-RSA
OpenVPN 依赖于 Easy-RSA 工具来管理证书和密钥,安装相关组件:
sudo yum install -y openvpn easy-rsa
第三步:配置证书颁发机构(CA)
Easy-RSA 提供了生成 PKI(公钥基础设施)所需的脚本,复制模板并初始化:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑 vars 文件,设置国家、组织名称等信息(如 CN=China, O=MyCompany):
nano vars
执行以下命令生成 CA 密钥对:
source ./vars ./clean-all ./build-ca
第四步:生成服务器证书和密钥
./build-key-server server
此步骤会提示输入 Common Name(CN),建议填写“server”。
第五步:生成 Diffie-Hellman 参数和 HMAC 消息认证码密钥
./build-dh openvpn --genkey --secret ta.key
第六步:配置 OpenVPN 服务器
创建主配置文件 /etc/openvpn/server.conf:
nano /etc/openvpn/server.conf
示例配置如下(可根据需求调整):
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
第七步:启用 IP 转发和防火墙规则
编辑 /etc/sysctl.conf,取消注释:
net.ipv4.ip_forward = 1
应用更改:
sysctl -p
配置 iptables(若使用 firewalld,请用相应命令):
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE iptables -A INPUT -p udp --dport 1194 -j ACCEPT
第八步:启动 OpenVPN 服务
systemctl enable openvpn@server systemctl start openvpn@server
第九步:生成客户端证书和配置文件
在服务器端为每个客户端生成独立证书:
cd /etc/openvpn/easy-rsa ./build-key client1
将以下文件打包发送给客户端(或通过加密方式传输):
- ca.crt
- client1.crt
- client1.key
- ta.key
客户端配置文件(client.ovpn)示例:
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
tls-auth ta.key 1
cipher AES-256-CBC
auth SHA256
verb 3
至此,OpenVPN 服务器已在 CentOS 上成功部署,该方案支持多用户并发连接,通过 TLS 加密保障通信安全,适合中小型企业或远程办公场景,后续可通过日志监控、访问控制列表(ACL)进一步优化安全策略,记住定期更新证书、补丁和备份配置文件,是运维的核心实践。

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

