在当今远程办公和分布式团队日益普及的背景下,建立一个稳定、安全的虚拟私人网络(VPN)服务已成为企业与个人用户的刚需,CentOS 7 作为一款成熟且广泛使用的 Linux 发行版,凭借其稳定性与丰富的社区支持,成为部署 OpenVPN 服务器的理想平台,本文将详细介绍如何在 CentOS 7 系统上从零开始搭建一套完整的 OpenVPN 服务,并确保连接的安全性和可用性。
准备工作至关重要,确保你的 CentOS 7 系统已更新至最新版本(可通过 yum update -y 命令完成),并配置好静态 IP 地址和域名解析(可选但推荐),开放必要的端口(如 UDP 1194,用于 OpenVPN 默认通信)到防火墙中,使用以下命令启用 firewalld 并添加规则:
sudo firewall-cmd --permanent --add-port=1194/udp sudo firewall-cmd --reload
安装 OpenVPN 和 Easy-RSA(用于证书管理),Easy-RSA 是 OpenVPN 官方推荐的证书签发工具,它简化了 PKI(公钥基础设施)的创建过程:
sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
安装完成后,复制 Easy-RSA 的模板目录到 /etc/openvpn/easy-rsa:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑 vars 文件,设置证书颁发机构(CA)的基本信息,例如国家、组织名称等,以增强安全性,之后运行初始化脚本生成 CA 私钥和证书:
./clean-all ./build-ca
随后,生成服务器证书和密钥:
./build-key-server server
为客户端生成证书和密钥(每个客户端都需要独立证书):
./build-key client1
所有证书生成完毕后,复制服务器证书、私钥和 Diffie-Hellman 参数到 OpenVPN 配置目录:
cp keys/ca.crt keys/server.crt keys/server.key keys/dh2048.pem /etc/openvpn/
现在配置 OpenVPN 服务,创建主配置文件 /etc/openvpn/server.conf如下(可根据需求调整):
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh 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 openvpn-status.log
verb 3
启动并启用 OpenVPN 服务:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
为了使系统支持 IP 转发(即允许流量通过服务器转发),还需修改 /etc/sysctl.conf 中的 net.ipv4.ip_forward = 1,并执行 sysctl -p 生效。
至此,OpenVPN 服务器已成功搭建,客户端只需导入 CA 证书、客户端证书和私钥,即可连接,建议定期轮换证书并记录访问日志,进一步提升安全性。
在 CentOS 7 上搭建 OpenVPN 不仅操作清晰、步骤明确,还能提供高度可控的加密通信环境,对于需要远程访问内网资源的用户或企业而言,这是一套经济高效、安全可靠的技术方案。

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






