在现代网络环境中,虚拟私人网络(VPN)已成为保障数据传输安全、实现远程访问和跨地域通信的重要工具,对于使用 CentOS 操作系统的用户而言,OpenVPN 是一个开源且功能强大的选择,尤其适合搭建企业级或个人私有网络环境,本文将详细介绍如何在 CentOS 系统上部署 OpenVPN 服务器,并配置客户端连接,确保整个过程清晰、可操作。
确保你有一台运行 CentOS 7 或 CentOS 8 的服务器(推荐使用最小化安装版本),并具备 root 权限,我们以 CentOS 7 为例进行说明。
第一步:安装 OpenVPN 和 Easy-RSA
Easy-RSA 是用于生成证书和密钥的工具,是 OpenVPN 安全认证的基础,执行以下命令:
sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
第二步:配置证书颁发机构(CA)
复制 Easy-RSA 的模板到 /etc/openvpn 目录,并初始化 PKI(公钥基础设施):
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa cp vars.example vars
编辑 vars 文件,根据需要修改如下参数:
KEY_COUNTRY="CN"KEY_PROVINCE="Beijing"KEY_CITY="Beijing"KEY_ORG="MyCompany"KEY_EMAIL="admin@example.com"
然后执行:
source ./vars ./clean-all ./build-ca
这会生成 CA 根证书(ca.crt),后续所有证书都基于此签发。
第三步:生成服务器证书和密钥
继续执行:
./build-key-server server
系统会提示是否签名,输入 “yes” 并确认,之后还会生成 Diffie-Hellman 参数:
./build-dh
第四步:配置 OpenVPN 服务端
创建 /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
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
第五步:启动 OpenVPN 服务并设置开机自启
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
第六步:生成客户端证书
在服务器上为每个客户端生成唯一证书:
./build-key client1
第七步:打包客户端配置文件
创建 client1.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
comp-lzo
verb 3
将 ca.crt、client1.crt、client1.key 和 client1.ovpn 文件一起分发给客户端,并用 OpenVPN GUI 或命令行工具导入即可连接。
至此,你已成功在 CentOS 上部署了一个完整的 OpenVPN 网络,该方案适用于远程办公、内网穿透、多分支机构互联等场景,建议定期更新证书、加强防火墙规则(如仅开放 1194 UDP 端口),并监控日志以确保安全性与稳定性。

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

