!bin/bash

dfbn6 2026-04-19 vpn 1 0

手把手教你用CentOS搭建OpenVPN服务:一键脚本实现安全远程访问

在现代企业网络和远程办公场景中,虚拟私人网络(VPN)已成为保障数据传输安全的重要工具,对于使用CentOS操作系统的服务器管理员而言,搭建一个稳定、安全且易于管理的OpenVPN服务,是提升网络安全性的关键一步,本文将详细介绍如何通过编写一个自动化脚本,在CentOS系统上快速部署OpenVPN服务,无需繁琐的手动配置,大幅提升运维效率。

确保你有一台运行CentOS 7或8的服务器,并具备root权限,我们推荐使用CentOS Stream或较新的稳定版本以获得更好的兼容性和安全性,我们将创建一个名为setup-openvpn.sh的Shell脚本,该脚本会自动完成以下任务:

  1. 更新系统包列表并安装必要的依赖;
  2. 安装OpenVPN和Easy-RSA(用于证书管理);
  3. 配置OpenVPN服务器端口(默认UDP 1194);
  4. 生成CA证书、服务器证书和客户端证书;
  5. 启动OpenVPN服务并设置开机自启;
  6. 配置防火墙规则(firewalld)允许流量通过;
  7. 提供客户端配置文件模板供用户下载使用。

以下是完整的脚本内容(可保存为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位密钥),非常适合中小企业或个人开发者快速搭建安全的远程访问通道,建议定期备份证书与配置文件,并结合日志监控提升运维可靠性。

!bin/bash

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