在现代企业网络和远程办公日益普及的背景下,如何为员工提供安全、稳定的远程访问方式成为网络管理员的核心任务之一,OpenVPN作为一款开源、跨平台、功能强大的虚拟专用网络(VPN)解决方案,因其高安全性、灵活性和易用性,被广泛应用于各类组织中,本文将以CentOS操作系统为基础,详细介绍如何在该平台上部署并配置OpenVPN服务,帮助用户构建一条加密、可靠的远程访问隧道。
确保你有一台运行CentOS 7或更高版本的服务器(推荐使用CentOS Stream或CentOS 8/9),并具备root权限或sudo权限,需要一台可访问公网的IP地址用于外部连接,以及一个域名(可选但推荐)便于证书管理与连接。
第一步:系统更新与依赖安装
执行以下命令更新系统并安装必要的软件包:
yum update -y yum install epel-release -y yum install openvpn easy-rsa -y
easy-rsa 是用于生成SSL/TLS证书和密钥的工具集,是OpenVPN认证机制的核心组件。
第二步:配置Easy-RSA证书颁发机构(CA)
将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"
然后执行初始化操作:
./clean-all ./build-ca
这一步会生成CA根证书(ca.crt)和私钥(ca.key),后续所有客户端和服务端证书都基于此签发。
第三步:生成服务器证书与密钥
运行:
./build-key-server server
按提示输入信息,确认后生成服务器证书(server.crt)、私钥(server.key)及Diffie-Hellman参数文件(dh.pem),建议保留默认值,无需额外修改。
第四步:配置OpenVPN服务端
创建主配置文件 /etc/openvpn/server.conf如下:
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/ca.crt
cert /etc/openvpn/easy-rsa/server.crt
key /etc/openvpn/easy-rsa/server.key
dh /etc/openvpn/easy-rsa/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"
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
此配置定义了UDP协议、TUN模式、子网分配、DNS推送、压缩选项等关键参数。
第五步:启动服务与防火墙设置
启用并启动OpenVPN服务:
systemctl enable openvpn@server systemctl start openvpn@server
若使用firewalld,开放UDP 1194端口:
firewall-cmd --add-port=1194/udp --permanent firewall-cmd --reload
第六步:客户端证书生成与分发
在服务器上为每个客户端生成唯一证书:
./build-key client1
生成的文件包括client1.crt、client1.key和ca.crt,需合并成客户端配置文件(如client.ovpn),包含证书、密钥和服务器地址信息。
客户端只需导入该.ovpn文件即可连接至你的OpenVPN服务器,实现加密通信与远程访问。
通过以上步骤,你已成功在CentOS上部署了一个完整的OpenVPN服务,它不仅保障了数据传输的安全性,还支持多用户并发接入,适用于中小企业或个人开发者远程办公场景,记住定期更新证书、监控日志、优化性能,才能确保长期稳定运行。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速


