!bin/bash
手把手教你用脚本自动化搭建OpenVPN服务——从零到部署的完整指南
作为一名网络工程师,我经常被问到:“如何快速、稳定地搭建一个安全可靠的VPN服务?”尤其在远程办公、跨地域访问内网资源或保护隐私流量的场景中,OpenVPN是一个成熟且广泛使用的解决方案,我将为你分享一套完整的自动化脚本代码,帮助你从零开始快速部署OpenVPN服务器,无需手动配置繁琐步骤,大幅提升运维效率。
你需要一台运行Linux系统的服务器(推荐Ubuntu 20.04/22.04或CentOS 7/8),确保服务器具备公网IP,并开放UDP端口1194(OpenVPN默认端口),同时建议配置防火墙规则(如UFW或firewalld)以增强安全性。
接下来是核心环节:编写自动化脚本,以下是一个基于Bash的脚本示例(保存为setup-openvpn.sh):
# OpenVPN 自动化安装脚本
# 作者:网络工程师小张
# 功能:一键部署OpenVPN服务器 + 生成客户端配置文件
set -e # 出错时立即退出
echo "正在更新系统包..."
apt update && apt upgrade -y
echo "正在安装OpenVPN和Easy-RSA..."
apt install -y openvpn easy-rsa
# 创建PKI目录
make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
# 配置CA参数(根据实际需求修改)
sed -i 's/#set_var EASYRSA_KEY_SIZE 2048/set_var EASYRSA_KEY_SIZE 4096/' vars
sed -i 's/#set_var EASYRSA_CA_EXPIRE 3650/set_var EASYRSA_CA_EXPIRE 3650/' vars
sed -i 's/#set_var EASYRSA_CERT_EXPIRE 3650/set_var EASYRSA_CERT_EXPIRE 3650/' vars
# 初始化CA
./easyrsa init-pki
./easyrsa build-ca nopass
# 生成服务器证书和密钥
./easyrsa gen-req server nopass
./easyrsa sign-req server server
# 生成DH参数(用于TLS握手)
./easyrsa gen-dh
# 复制证书到OpenVPN配置目录
cp pki/ca.crt pki/private/server.key pki/issued/server.crt pki/dh.pem /etc/openvpn/
# 启用IP转发(让服务器能转发流量)
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
# 配置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"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
EOF
# 启动并设置开机自启
systemctl enable openvpn@server
systemctl start openvpn@server
echo "✅ OpenVPN服务器已成功部署!"
# 生成客户端配置文件(示例)
CLIENT_NAME="client1"
./easyrsa gen-req $CLIENT_NAME nopass
./easyrsa sign-req client $CLIENT_NAME
cat > /root/$CLIENT_NAME.ovpn <<EOF
client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert $CLIENT_NAME.crt
key $CLIENT_NAME.key
comp-lzo
verb 3
EOF
echo "💡 客户端配置文件已生成:/root/${CLIENT_NAME}.ovpn"
echo "请将该文件下载到本地,并使用OpenVPN客户端导入。"
此脚本自动完成以下任务:
- 更新系统并安装OpenVPN和Easy-RSA;
- 生成CA根证书、服务器证书和DH参数;
- 配置OpenVPN服务监听UDP 1194端口;
- 开启IP转发功能,实现路由转发;
- 生成客户端配置文件(可批量扩展)。
注意事项:
- 替换
YOUR_SERVER_IP为你的服务器公网IP; - 建议定期更新证书(可用脚本定时任务自动轮换);
- 若需多用户,可循环生成客户端证书并分发配置文件。
通过这套脚本,你只需执行chmod +x setup-openvpn.sh && ./setup-openvpn.sh,即可完成整个部署流程,极大提升效率与一致性,网络安全无小事,务必结合日志监控、证书轮换和访问控制策略,构建健壮的远程接入体系。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速
@版权声明
转载原创文章请注明转载自半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速,网站地址:https://www.web-banxianjiasuqi.com/