在企业网络或远程办公场景中,使用虚拟专用网络(VPN)建立安全、加密的通信通道至关重要,对于运行 CentOS 操作系统的服务器用户而言,OpenVPN 是一个成熟、稳定且开源的解决方案,特别适合用于搭建点对点或点对多点的私有网络连接,本文将详细介绍如何在 CentOS 7/8 或 RHEL 系统上部署并配置 OpenVPN 服务,并最终实现客户端安全接入。
确保你的 CentOS 服务器已更新至最新版本,可通过以下命令完成系统升级:
sudo yum update -y
安装 OpenVPN 及其依赖组件,CentOS 的官方仓库通常包含 OpenVPN 软件包,执行如下命令即可:
sudo yum install -y openvpn easy-rsa
安装完成后,需要生成证书和密钥,这是 OpenVPN 安全通信的核心机制,Easy-RSA 工具是生成 PKI(公钥基础设施)的利器,默认路径为 /usr/share/easy-rsa,建议复制一份到 /etc/openvpn 目录并重命名为 easy-rsa:
sudo cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑 vars 文件(位于 /etc/openvpn/easy-rsa/vars),根据实际需求修改组织信息,如国家、省份、公司名等,这将用于后续证书签名,然后执行初始化脚本:
sudo ./clean-all sudo ./build-ca
此步骤会生成根证书(ca.crt),作为所有客户端和服务端信任的基础。
下一步是生成服务器证书和密钥:
sudo ./build-key-server server
按提示操作,确认后生成 server.crt 和 server.key。
随后,为客户端生成证书(可批量生成多个客户端):
sudo ./build-key client1
这将生成客户端证书和密钥文件,用于客户端身份认证。
生成 Diffie-Hellman 参数(增强密钥交换安全性):
sudo ./build-dh
创建 OpenVPN 主配置文件 /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 转发并设置防火墙规则(若使用 firewalld):
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p firewall-cmd --add-port=1194/udp --permanent firewall-cmd --add-masquerade --permanent firewall-cmd --reload
启动 OpenVPN 服务:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
客户端连接时,需将 ca.crt、client1.crt、client1.key 三个文件打包成 .ovpn 配置文件,并通过 OpenVPN GUI 或命令行工具导入使用。
至此,你已在 CentOS 上成功搭建了基于证书认证的 OpenVPN 服务,实现了安全、可靠的远程访问能力,该方案适用于小型企业、远程运维、跨地域协作等多种场景,具备高扩展性和灵活性。

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

