手把手教你用CentOS搭建OpenVPN服务:一键脚本实现安全远程访问
在现代企业网络和远程办公场景中,虚拟私人网络(VPN)已成为保障数据传输安全的重要工具,对于使用CentOS操作系统的服务器管理员而言,搭建一个稳定、安全且易于管理的OpenVPN服务,是提升网络安全性的关键一步,本文将详细介绍如何通过编写一个自动化脚本,在CentOS系统上快速部署OpenVPN服务,无需繁琐的手动配置,大幅提升运维效率。
确保你有一台运行CentOS 7或8的服务器,并具备root权限,我们推荐使用CentOS Stream或较新的稳定版本以获得更好的兼容性和安全性,我们将创建一个名为setup-openvpn.sh的Shell脚本,该脚本会自动完成以下任务:
- 更新系统包列表并安装必要的依赖;
- 安装OpenVPN和Easy-RSA(用于证书管理);
- 配置OpenVPN服务器端口(默认UDP 1194);
- 生成CA证书、服务器证书和客户端证书;
- 启动OpenVPN服务并设置开机自启;
- 配置防火墙规则(firewalld)允许流量通过;
- 提供客户端配置文件模板供用户下载使用。
以下是完整的脚本内容(可保存为setup-openvpn.sh并赋予执行权限):
echo "正在更新系统并安装OpenVPN..." yum update -y && yum install -y openvpn easy-rsa firewalld # 初始化Easy-RSA make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa sed -i 's/KEY_SIZE=2048/KEY_SIZE=4096/' vars ./easyrsa init-pki ./easyrsa build-ca nopass ./easyrsa gen-req server nopass ./easyrsa sign-req server server cp pki/ca.crt pki/private/server.key /etc/openvpn/ cp pki/issued/server.crt /etc/openvpn/ # 配置OpenVPN服务 cat > /etc/openvpn/server.conf <<EOF port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh 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 openvpn-status.log verb 3 EOF # 启用并启动服务 systemctl enable openvpn@server systemctl start openvpn@server # 配置防火墙 firewall-cmd --permanent --add-port=1194/udp firewall-cmd --reload echo "OpenVPN服务已成功部署!" echo "请使用以下命令生成客户端证书:" echo "cd /etc/openvpn/easy-rsa && ./easyrsa gen-req client1 nopass" echo "然后使用 ./easyrsa sign-req client client1 签署证书"
执行脚本前,请先运行 chmod +x setup-openvpn.sh 赋予可执行权限,再通过 ./setup-openvpn.sh 运行,整个过程约需5–10分钟,完成后即可通过客户端配置文件连接到你的私有网络。
此脚本不仅简化了部署流程,还增强了安全性(如使用4096位密钥),非常适合中小企业或个人开发者快速搭建安全的远程访问通道,建议定期备份证书与配置文件,并结合日志监控提升运维可靠性。

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






