在现代企业网络架构中,远程访问和安全通信变得愈发重要,尤其是随着云原生和混合办公模式的普及,如何通过安全、稳定的通道让员工或外部合作伙伴访问内部资源(如数据库、文件服务器、测试环境等),成为每个网络工程师必须掌握的核心技能之一,本文将详细介绍如何使用阿里云 ECS(Elastic Compute Service)实例搭建一个稳定可靠的 OpenVPN 服务,实现安全的远程接入和内网穿透。
明确目标:我们希望借助一台 ECS 实例作为“跳板”,部署 OpenVPN 服务,让远程用户可以通过加密隧道连接到该 ECS,进而访问同一 VPC 内部的其他资源(RDS、SLB 或私有子网中的服务器),这种方案相比传统公网暴露端口更安全,也便于权限控制和日志审计。
第一步:准备 ECS 实例
登录阿里云控制台,创建一台运行 Linux(推荐 Ubuntu 20.04 LTS 或 CentOS 7+)的 ECS 实例,确保该实例具备公网 IP 地址,并配置安全组规则允许 TCP 端口 1194(OpenVPN 默认端口)以及 ICMP(用于测试连通性)。
第二步:安装 OpenVPN 和 Easy-RSA
通过 SSH 登录 ECS 后,执行以下命令安装 OpenVPN:
sudo apt update && sudo apt install -y openvpn easy-rsa
接着初始化证书颁发机构(CA):
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
修改 vars 文件,设置你的组织信息(如国家、省份、组织名称等),然后执行:
./clean-all ./build-ca ./build-key-server server ./build-key client1 ./build-dh
这些步骤会生成 CA 证书、服务器证书、客户端证书及 Diffie-Hellman 参数,是建立加密连接的基础。
第三步:配置 OpenVPN 服务
将生成的证书和密钥复制到 OpenVPN 配置目录:
cp /etc/openvpn/easy-rsa/keys/{ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn/
编辑主配置文件 /etc/openvpn/server.conf,关键配置如下:
port 1194
proto tcp
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"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
特别说明:push "redirect-gateway" 表示客户端流量将全部通过 OpenVPN 隧道转发,实现“全流量代理”;若只想访问特定内网资源,可改为静态路由方式。
第四步:启动并开机自启
启用 IP 转发功能(允许 ECS 充当路由器):
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
启动 OpenVPN:
systemctl start openvpn@server systemctl enable openvpn@server
第五步:客户端配置与连接
将 client1.crt、client1.key 和 ca.crt 下载到本地,创建 .ovpn 配置文件(包含服务器 IP、协议、证书路径等),即可使用 OpenVPN 客户端(如 OpenVPN Connect)连接。
至此,你已成功利用 ECS 搭建了一个功能完整的 OpenVPN 服务,支持多用户并发接入、加密传输与灵活路由策略,此方案不仅适用于小型团队远程办公,还可作为 DevOps 流水线中跨网络资源访问的桥梁,极大提升运维效率与安全性。
注意:务必定期更新证书、限制客户端数量、启用防火墙日志监控,确保长期稳定运行。

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