手把手教你用脚本自动化搭建OpenVPN服务——从零开始的网络工程师实战指南
作为一名网络工程师,我经常需要快速部署安全可靠的远程访问服务,在企业或家庭环境中,使用OpenVPN是一个成熟且灵活的选择,手动配置OpenVPN不仅耗时,还容易出错,我将分享一个完整的自动化脚本,帮助你通过几行命令完成OpenVPN服务器的搭建,省去繁琐的手动步骤,提升部署效率。
确保你的服务器环境满足以下条件:
- 一台运行Ubuntu 20.04/22.04或Debian 10/11的VPS;
- 具备root权限或sudo权限;
- 已绑定公网IP(用于客户端连接);
- 确保防火墙开放UDP端口1194(OpenVPN默认端口)。
我们编写一个简洁高效的Shell脚本(可保存为install-openvpn.sh),它将自动完成以下任务:
- 更新系统包;
- 安装OpenVPN和Easy-RSA(证书管理工具);
- 配置OpenVPN服务器;
- 生成CA、服务器证书和客户端证书;
- 启动并设置开机自启;
- 生成客户端配置文件。
以下是完整脚本内容(已注释说明):
set -e # 出错立即退出
echo "正在更新系统..."
apt update && apt upgrade -y
echo "正在安装OpenVPN和Easy-RSA..."
apt install -y openvpn easy-rsa
# 创建证书目录
make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
# 初始化PKI
./easyrsa init-pki
./easyrsa build-ca nopass # 不需要密码的CA证书
# 生成服务器证书
./easyrsa gen-req server nopass
./easyrsa sign-req server server
# 生成DH参数(密钥交换)
./easyrsa gen-dh
# 复制证书到OpenVPN目录
cp pki/ca.crt pki/private/server.key pki/dh.pem /etc/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
# 启用IP转发
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p
# 设置iptables规则(允许转发和NAT)
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# 保存iptables规则(适用于Ubuntu)
iptables-save > /etc/iptables/rules.v4
# 启动OpenVPN服务
systemctl enable openvpn@server
systemctl start openvpn@server
echo "✅ OpenVPN服务器已成功部署!"
echo "💡 请使用 ./easyrsa gen-req client1 和 ./easyrsa sign-req client client1 生成客户端证书。"
echo "📝 客户端配置文件已生成于 /etc/openvpn/client.ovpn,请复制给客户端使用。"
运行此脚本只需执行:
chmod +x install-openvpn.sh sudo ./install-openvpn.sh
该脚本适合批量部署、教学演示或生产环境快速上线,实际部署中还需考虑证书轮换、日志审计、访问控制等高级功能,但这个基础版本已为你打下坚实起点,作为网络工程师,善用脚本是提高效率的关键技能之一,欢迎留言交流你的优化建议!

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