在当今远程办公和云原生架构日益普及的背景下,企业与个人用户对安全、稳定、可扩展的虚拟私有网络(VPN)需求不断增长,Amazon Web Services(AWS)作为全球领先的云平台,提供了强大的基础设施支持,而Ubuntu作为开源且广受欢迎的操作系统,非常适合用于部署轻量级、高性能的VPN服务,本文将详细介绍如何在AWS EC2实例上使用Ubuntu系统搭建一个基于OpenVPN的本地到站点(Site-to-Site)或远程访问(Remote Access)型VPN服务,确保数据传输的安全性和稳定性。

准备阶段至关重要,你需要登录AWS控制台,创建一个新的EC2实例,选择Ubuntu Server 20.04 LTS或更高版本镜像,推荐使用t3.micro或t3.small实例类型(注意:免费套餐可能包含该实例),并配置安全组规则以允许SSH(端口22)、OpenVPN默认UDP端口1194(或自定义端口)以及必要的ICMP流量,建议为EC2分配一个弹性IP地址,以便于固定公网访问。

在Ubuntu实例上安装OpenVPN服务,通过SSH连接到服务器后,执行以下命令更新系统并安装OpenVPN及相关工具:

sudo apt update && sudo apt upgrade -y
sudo apt install openvpn easy-rsa -y

生成证书颁发机构(CA)和服务器证书,使用Easy-RSA工具初始化PKI环境:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass
sudo ./easyrsa gen-req server nopass
sudo ./easyrsa sign-req server server

完成后,复制证书文件到OpenVPN配置目录,并生成Diffie-Hellman密钥:

sudo cp pki/ca.crt pki/private/server.key /etc/openvpn/
sudo openvpn --genkey --secret ta.key

配置OpenVPN服务器主文件 /etc/openvpn/server.conf,这是一个关键步骤,需根据实际需求调整参数,

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"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

启动OpenVPN服务并设置开机自启:

sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server

为了增强安全性,还可以配置iptables规则实现IP转发和NAT,使客户端能访问互联网:

sudo sysctl net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

至此,一个功能完整的OpenVPN服务器已成功部署,客户端可通过OpenVPN GUI或命令行导入证书和配置文件连接至AWS上的服务器,实现加密通信。

通过此方案,你不仅能在AWS上构建灵活可控的私有网络,还能有效隔离敏感业务流量,是中小企业或远程团队的理想选择,持续监控日志、定期更新证书、强化防火墙策略,将是保障长期运行的关键。

在AWS上基于Ubuntu搭建安全可靠的VPN服务,从零开始的完整指南  第1张

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