!bin/bash

banxian11 2026-04-27 半仙加速器 6 0

手把手教你用脚本快速搭建安全可靠的VPN服务——从零开始的自动化部署指南

在当今远程办公和跨地域协作日益普及的背景下,虚拟私人网络(VPN)已成为保障数据安全与访问权限的重要工具,无论是企业员工在家办公,还是开发者需要连接到远程服务器调试代码,一个稳定、安全且易于维护的VPN服务都至关重要,手动配置OpenVPN或WireGuard等协议往往繁琐且易出错,尤其对于非专业运维人员来说,学习成本较高,本文将带你通过编写自动化脚本,快速完成一个基于OpenVPN的简易但功能完整的VPN服务部署,实现“一键安装、自动配置、安全加密”的目标。

我们需要明确环境要求:一台运行Linux系统的云服务器(如Ubuntu 20.04/22.04),具备公网IP地址,并已开放端口(默认OpenVPN使用UDP 1194),我们将使用Bash脚本实现整个流程,包括系统更新、依赖安装、证书生成、配置文件写入、防火墙规则设置以及服务启动。

以下是一个完整可执行的OpenVPN安装脚本示例(保存为install_vpn.sh):

echo "正在初始化OpenVPN服务安装..."
# 更新系统包
apt update && apt upgrade -y
# 安装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|export KEY_COUNTRY="US"|export KEY_COUNTRY="CN"|' vars
sed -i 's|export KEY_PROVINCE="California"|export KEY_PROVINCE="Beijing"|' vars
sed -i 's|export KEY_CITY="San Francisco"|export KEY_CITY="Shanghai"|' vars
sed -i 's|export KEY_ORG="My Company"|export KEY_ORG="My Organization"|' vars
sed -i 's|export KEY_EMAIL="admin@example.com"|export KEY_EMAIL="admin@yourdomain.com"|' vars
# 初始化CA
./clean-all
./build-ca < /dev/null
# 生成服务器证书和密钥
./build-key-server server
./build-key client1  # 可添加多个客户端证书
# 生成DH参数(增强安全性)
./build-dh
# 复制证书到OpenVPN配置目录
cp keys/{ca.crt,server.crt,server.key,dh2048.pem} /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 dh2048.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
# 启用IP转发(让服务器能做路由)
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p
# 设置iptables规则(允许流量转发)
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
# 保存iptables规则(确保重启后生效)
iptables-save > /etc/iptables/rules.v4
# 启动并启用OpenVPN服务
systemctl enable openvpn@server
systemctl start openvpn@server
echo "✅ OpenVPN服务已成功部署!"
echo "📌 请使用client1.crt、client1.key和ca.crt配置你的客户端设备。"

该脚本的核心优势在于:

  1. 自动化:所有步骤无需人工干预,减少配置错误;
  2. 安全性:使用强加密(RSA 2048位+TLS)、DH参数增强;
  3. 可扩展性:可通过循环批量生成多个客户端证书;
  4. 兼容性:适用于主流Linux发行版(Ubuntu/CentOS等)。

最后提醒:生产环境中建议使用更高级的方案(如WireGuard + Cloudflare Tunnel),并定期轮换证书,此脚本适合快速原型验证或小型团队内部使用,是网络工程师提升效率的实用利器。

!bin/bash

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