田敏
返回博客列表
总结

阿里云美国服务器搭建 WireGuard VPN 学习笔记

田敏
2026-05-104 分钟阅读
VPN笔记

阿里云美国服务器搭建 WireGuard VPN 学习笔记

一、什么是 VPN

VPN(Virtual Private Network,虚拟专用网络)本质上是:

在你的设备与远程服务器之间建立一条加密隧道。

数据流程:

你的电脑/手机
       ↓
加密后的 VPN 隧道
       ↓
美国阿里云服务器
       ↓
公网互联网

当 VPN 建立后:

  • 你的网络流量会先发送到美国服务器
  • 再由美国服务器访问互联网
  • 外部网站看到的是美国服务器 IP
  • 你的本地网络与公网之间会建立加密通信

二、为什么使用 WireGuard

目前主流 VPN 方案:

| 协议 | 特点 | | ---------- | ----------- | | PPTP | 很老,已不安全 | | L2TP/IPSec | 兼容性强,但配置复杂 | | OpenVPN | 稳定但性能较低 | | WireGuard | 现代、高性能、配置简单 |

WireGuard 优点:

  • 速度快
  • 延迟低
  • 配置简单
  • CPU 占用低
  • 支持 Windows / Linux / Android / iPhone
  • 基于现代加密算法

因此目前更推荐:

WireGuard + WG-Easy


三、什么是 WG-Easy

WG-Easy 是:

WireGuard 的 Web 管理面板。

作用:

  • 可视化管理 VPN
  • 创建客户端
  • 生成二维码
  • 下载配置文件
  • 管理连接用户

本质结构:

WG-Easy
    ↓
调用 WireGuard
    ↓
管理 VPN 隧道

四、整体架构

完整结构如下:

┌──────────────────┐
│ Windows / 手机    │
│ WireGuard 客户端  │
└────────┬─────────┘
         │ 加密隧道
         │ UDP 51820
         ↓
┌──────────────────┐
│ 阿里云美国服务器  │
│ Ubuntu + Docker  │
│ WG-Easy          │
└────────┬─────────┘
         │
         ↓
      公网互联网

五、准备工作

服务器要求

推荐:

| 项目 | 推荐 | | --- | -------------------- | | 系统 | Ubuntu 22.04 / 24.04 | | 内存 | 1GB+ | | CPU | 1核即可 | | 网络 | 公网 IP |


开放阿里云安全组

必须开放:

| 协议 | 端口 | 用途 | | --- | ----- | -------------- | | UDP | 51820 | WireGuard VPN | | TCP | 51821 | WG-Easy Web 面板 |

授权对象:

0.0.0.0/0

六、安装 Docker

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装依赖

sudo apt install -y ca-certificates curl gnupg

3. 创建 keyrings 目录

sudo mkdir -p /etc/apt/keyrings

4. 导入 Docker GPG Key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

5. 设置权限

sudo chmod a+r /etc/apt/keyrings/docker.gpg

6. 添加 Docker 软件源

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

7. 安装 Docker

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

8. 验证 Docker

docker --version

测试:

sudo docker run hello-world

七、部署 WG-Easy

1. 生成密码 HASH

新版 WG-Easy 已经不支持:

PASSWORD

必须使用:

PASSWORD_HASH

生成 HASH:

docker run --rm ghcr.io/wg-easy/wg-easy wgpw 你的密码

例如:

docker run --rm ghcr.io/wg-easy/wg-easy wgpw 123456

输出:

PASSWORD_HASH='$2b$12$xxxxxxxxxxxx'

复制其中的 HASH。


八、启动 WG-Easy

将:

  • 你的公网IP
  • 你的 HASH

替换后执行:

docker run -d \
  --name=wg-easy \
  -e LANG=en \
  -e WG_HOST=你的公网IP \
  -e PASSWORD_HASH='你的HASH' \
  -v ~/.wg-easy:/etc/wireguard \
  -p 51820:51820/udp \
  -p 51821:51821/tcp \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_MODULE \
  --sysctl="net.ipv4.ip_forward=1" \
  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
  --restart unless-stopped \
  ghcr.io/wg-easy/wg-easy

九、Docker 参数原理讲解

1. 端口映射

-p 51820:51820/udp

含义:

宿主机端口 : 容器端口

作用:

让公网能够访问 WireGuard。


2. 数据卷

-v ~/.wg-easy:/etc/wireguard

作用:

将配置文件保存到宿主机。

否则容器删除后:

  • 配置丢失
  • 客户端丢失
  • 密钥丢失

3. NET_ADMIN

--cap-add=NET_ADMIN

作用:

允许容器修改网络配置。

因为 VPN 需要:

  • 创建虚拟网卡
  • 配置路由
  • NAT 转发

4. IP Forward

net.ipv4.ip_forward=1

作用:

允许 Linux 转发网络流量。

原理:

客户端 → VPN服务器 → 公网

如果不开启:

服务器不会帮客户端转发数据。


十、访问 WG-Easy

浏览器打开:

http://你的IP:51821

输入密码登录。


十一、创建 VPN 客户端

进入后台后:

点击:

New Client

创建:

windows

或者:

iphone

然后:

  • 下载配置文件
  • 或扫码二维码

十二、Windows 使用 WireGuard

1. 下载客户端

官网下载:

https://www.wireguard.com/install/


2. 导入配置

打开 WireGuard:

Import tunnel(s) from file

导入:

xxx.conf

3. 激活 VPN

点击:

Activate

即可连接。


十三、WireGuard 工作原理

1. 公钥与私钥

每个客户端都有:

| 类型 | 作用 | | ----------- | -------- | | Private Key | 私钥,本地保存 | | Public Key | 公钥,服务器保存 |

原理类似 SSH。


2. 身份认证

连接时:

客户端使用私钥签名
服务器使用公钥验证

因此:

  • 不需要用户名密码
  • 不需要证书
  • 更轻量

3. UDP 通信

WireGuard 默认使用 UDP。

原因:

  • 延迟低
  • 速度快
  • 更适合 VPN

4. NAT 转发

服务器会执行:

客户端流量 → NAT → 公网IP

因此公网网站看到的是:

美国服务器 IP

十四、查看是否连接成功

访问:

https://ipinfo.io/

如果显示:

  • 美国 IP
  • 阿里云 IP

说明 VPN 已成功。


十五、常用 Docker 命令

查看容器

docker ps

查看全部容器

docker ps -a

查看日志

docker logs wg-easy

停止容器

docker stop wg-easy

删除容器

docker rm wg-easy

重启容器

docker restart wg-easy

十六、常见问题

1. 网页打不开

检查:

  • 阿里云安全组
  • Ubuntu 防火墙
  • Docker 是否启动
  • 51821 是否开放

2. 容器不断 Restarting

通常是:

PASSWORD 已废弃

必须改用:

PASSWORD_HASH

3. VPN 能连接但无法上网

通常是:

IP Forward 未开启

或者:

  • NAT 未配置
  • 防火墙拦截

十七、性能优化(推荐)

开启 BBR

BBR 是 Google 提出的 TCP 拥塞控制算法。

作用:

  • 提高传输速度
  • 降低延迟
  • 提高跨境网络体验

开启方式

echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

验证:

sysctl net.ipv4.tcp_congestion_control

输出:

bbr

即可。


十八、安全建议

1. 不要暴露管理端口

建议后续:

  • 配置 HTTPS
  • 使用域名
  • 配置反向代理

2. 定期备份

备份目录:

~/.wg-easy

里面保存:

  • 配置
  • 客户端
  • 密钥

3. 不要用于违法用途

云厂商会:

  • 封禁服务器
  • 停机
  • 冻结账号

十九、后续可扩展方向

后面还可以继续学习:

  • Docker Compose
  • Nginx
  • HTTPS
  • Cloudflare
  • 内网穿透
  • 分流规则
  • 多用户管理
  • 双栈 IPv6
  • 自建 DNS
  • OpenWRT 接入

二十、整体流程总结

购买美国服务器
    ↓
安装 Ubuntu
    ↓
安装 Docker
    ↓
部署 WG-Easy
    ↓
开放安全组
    ↓
浏览器访问后台
    ↓
创建客户端
    ↓
下载配置文件
    ↓
WireGuard 导入配置
    ↓
连接 VPN

二十一、核心知识总结

真正需要理解的核心只有三件事:

1. VPN 本质

本质是:

加密隧道 + 流量转发

2. Docker 本质

本质是:

轻量级容器运行环境

WG-Easy 实际运行在 Docker 容器中。


3. WireGuard 本质

本质是:

基于公钥加密的 UDP VPN

通过:

  • 公钥
  • 私钥
  • NAT 转发
  • Linux 路由

实现 VPN 通信。

版权协议:MIT返回列表