手把手教你用脚本自动化搭建OpenVPN服务——从零开始实现安全远程访问
作为一名网络工程师,我经常被问到:“如何快速、稳定地搭建一个可信赖的VPN服务?”尤其是在远程办公、跨地域访问内网资源或保护隐私数据传输的场景中,OpenVPN是一个非常成熟且广泛使用的开源解决方案,我就带大家通过一段简洁高效的Shell脚本,从零开始自动搭建一个基于Linux(以Ubuntu为例)的OpenVPN服务,省去繁琐的手动配置步骤,真正实现“一键部署”。
我们需要确保系统环境满足基本要求:一台运行Ubuntu 20.04/22.04的服务器(推荐使用云主机如阿里云、腾讯云或AWS),具备公网IP,并开放UDP端口1194(OpenVPN默认端口),以下是一段完整的自动化脚本,你可以直接复制到服务器终端执行:
echo "正在更新系统包..."
apt update && apt upgrade -y
echo "正在安装OpenVPN和Easy-RSA..."
apt install -y openvpn easy-rsa
echo "初始化PKI目录..."
make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
echo "配置证书颁发机构参数..."
sed -i 's/^KEY_SIZE=.*$/KEY_SIZE=2048/' vars
sed -i 's/^KEY_COUNTRY=.*$/KEY_COUNTRY=CN/' vars
sed -i 's/^KEY_PROVINCE=.*$/KEY_PROVINCE=Beijing/' vars
sed -i 's/^KEY_CITY=.*$/KEY_CITY=Beijing/' vars
sed -i 's/^KEY_ORG=.*$/KEY_ORG=MyCompany/' vars
sed -i 's/^KEY_EMAIL=.*$/KEY_EMAIL=admin@example.com/' vars
echo "生成CA证书和密钥..."
./clean-all
./build-ca < /dev/null
./build-key-server server
./build-key client1
./build-dh
echo "复制证书文件到OpenVPN配置目录..."
cp keys/{ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn/
cp keys/client1.{crt,key} /etc/openvpn/
echo "创建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
echo "启用IP转发功能..."
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p
echo "配置iptables规则允许流量转发..."
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
echo "保存iptables规则..."
iptables-save > /etc/iptables/rules.v4
echo "启动OpenVPN服务并设置开机自启..."
systemctl enable openvpn@server
systemctl start openvpn@server
echo "✅ OpenVPN服务已成功部署!"
echo "客户端配置文件位于 /etc/openvpn/client1.ovpn,请下载后在客户端导入使用。"
这段脚本涵盖了从环境准备、证书生成、配置文件写入到防火墙规则设置的完整流程,特别值得一提的是,它自动处理了IP转发和NAT规则,确保内部客户端能正常访问互联网。
最后提醒:请务必在生产环境中修改vars文件中的组织名称、邮箱等信息,并定期轮换证书以保障安全性,同时建议结合fail2ban防暴力破解,进一步加固服务。
通过这个脚本,你可以在几分钟内获得一个安全、稳定的OpenVPN服务,非常适合中小企业或个人开发者快速部署远程接入方案,希望对你有帮助!

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

