在当今数字化办公和远程访问日益普及的背景下,企业或个人用户对安全、稳定、可控的网络连接需求显著增长,虚拟私人网络(VPN)作为实现远程安全接入的核心技术之一,越来越受到重视,而使用云主机搭建自己的VPN服务,不仅成本低、灵活性高,还能完全掌控数据流向和访问权限,是许多中小型企业与开发者首选的解决方案。
本文将以Linux系统(如Ubuntu 20.04 LTS)为例,介绍如何在主流云服务商(如阿里云、腾讯云、AWS等)提供的云主机上部署OpenVPN服务,从而实现私有网络的安全远程访问。
第一步:准备云主机环境
在云服务商控制台创建一台配置适中的云服务器(推荐CPU 1核以上,内存2GB,带宽1Mbps起),操作系统选择Ubuntu Server,登录后执行以下命令更新系统包并安装必要工具:
sudo apt update && sudo apt upgrade -y sudo apt install openvpn easy-rsa -y
第二步:生成证书和密钥(PKI体系)
OpenVPN依赖于SSL/TLS加密机制,因此需要先构建一套公钥基础设施(PKI),进入EasyRSA目录并初始化:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa ./easyrsa init-pki ./easyrsa build-ca nopass # 创建根证书颁发机构(CA) ./easyrsa gen-req server nopass # 生成服务器证书请求 ./easyrsa sign-req server server # 签署服务器证书 ./easyrsa gen-dh # 生成Diffie-Hellman参数 ./easyrsa gen-req client1 nopass # 为客户端生成证书请求 ./easyrsa sign-req client client1 # 签署客户端证书
第三步:配置OpenVPN服务端
复制必要的文件到OpenVPN配置目录,并编辑主配置文件 /etc/openvpn/server.conf:
port 1194 proto udp dev tun ca /etc/openvpn/easy-rsa/pki/ca.crt cert /etc/openvpn/easy-rsa/pki/issued/server.crt key /etc/openvpn/easy-rsa/pki/private/server.key dh /etc/openvpn/easy-rsa/pki/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 cipher AES-256-CBC auth SHA256 user nobody group nogroup persist-key persist-tun status /var/log/openvpn-status.log verb 3
第四步:启动服务并配置防火墙
启用IP转发并设置iptables规则:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p 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
然后启动OpenVPN服务:
systemctl enable openvpn@server systemctl start openvpn@server
第五步:分发客户端配置文件
将生成的客户端证书、密钥、CA证书打包成.ovpn文件,供Windows、macOS、Android或iOS设备导入使用。
至此,一个基于云主机的自建OpenVPN服务已部署完成,相比商业VPN服务,这种方案具备更高的安全性、更低的成本以及更强的可扩展性,尤其适合需要长期稳定连接、敏感数据传输或多分支机构互联的场景,也建议定期更新证书、加强日志监控、结合Fail2ban等工具防范暴力破解攻击,以确保整个系统的持续安全运行。

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






