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

dfbn6 2026-05-18 梯子VPN 1 0

在当今远程办公和云原生架构日益普及的背景下,企业对安全、稳定、可扩展的虚拟私有网络(VPN)需求显著增长,Amazon Web Services(AWS)作为全球领先的云平台,为部署高性能、高可用的VPN服务提供了理想的基础设施,本文将详细介绍如何在AWS上使用Ubuntu操作系统搭建一个功能完整的OpenVPN服务器,帮助你实现安全的远程访问和内网穿透。

准备工作阶段需要你拥有以下资源:

  1. 一个AWS账户;
  2. 一台运行Ubuntu Server 20.04 LTS或更高版本的EC2实例;
  3. 一个已分配的弹性IP(EIP),用于公网访问;
  4. 熟悉基本的Linux命令行操作。

第一步:创建并配置EC2实例
登录AWS控制台,进入EC2服务,点击“Launch Instance”,选择Ubuntu Server AMI(推荐最新长期支持版本),例如Ubuntu 22.04 LTS,实例类型建议使用t3.micro(免费额度内),确保安全组允许以下端口入站:

  • TCP 22(SSH)
  • UDP 1194(OpenVPN默认端口)
  • ICMP(用于ping测试)

启动实例后,获取其公网IP地址,并通过SSH连接到服务器(建议使用密钥对认证):

ssh -i your-key.pem ubuntu@your-public-ip

第二步:安装和配置OpenVPN
更新系统包并安装OpenVPN及相关工具:

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

设置证书颁发机构(CA)和服务器证书,复制EasyRSA模板到/etc/openvpn目录:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa

编辑vars文件,修改如下字段以匹配你的组织信息(如ORG="MyCompany"),然后执行初始化和证书签发流程:

./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-dh

生成TLS密钥交换文件:

openvpn --genkey --secret ta.key

第三步:配置OpenVPN服务
复制生成的证书和密钥到OpenVPN配置目录:

sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem ta.key /etc/openvpn/

创建主配置文件 /etc/openvpn/server.conf如下(可根据需要调整子网、DNS等):

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

第四步:启用IP转发与防火墙规则
编辑 /etc/sysctl.conf,取消注释以下行以启用IP转发:

net.ipv4.ip_forward=1

应用更改:

sudo sysctl -p

配置iptables规则(若使用ufw,需用ufw allow 1194/udp):

sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

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

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

至此,你已在AWS上成功搭建了一个基于Ubuntu的OpenVPN服务器,客户端可通过.ovpn配置文件连接,实现加密隧道访问内网资源,此方案具备良好的安全性、灵活性和扩展性,适合中小企业和个人开发者快速部署私有网络服务,后续还可结合Let's Encrypt实现HTTPS管理界面,进一步提升运维效率。

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

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