AmneziaWG VPN
关键词
| 关键词 | 定义 |
|---|---|
| 🛡️ AmneziaWG | WireGuard 的一个分支,通过随机化数据包头、大小和传输时间来对抗深度包检测,同时保持相同且经过验证的加密。这是一种运行在您的服务器上的协议。 |
| 🚀 AmneziaWG 2.0 | 当前的主版本,使用动态头部范围(而不是固定值),增加数据级填充(S4),并支持带有自定义协议签名的替代数据包,以实现更强的 DPI 规避。 |
| 🔍 Deep Packet Inspection (DPI) | 一种由 ISP 和政府机构使用的网络过滤技术,通过分析数据包头、大小和握手模式来识别并阻止 VPN 流量。AmneziaWG 专门为对抗它而设计。 |
| ⚡ WireGuard | 一种快速、现代的 VPN 协议,代码库小且具备内核级性能。由于其固定的数据包结构,很容易被 DPI 系统识别,而 AmneziaWG 已对此进行了处理。 |
| 🏠 Self-hosted VPN | 您在自己的服务器上(通常是 VPS)部署和管理的 VPN,而不是订阅商业提供商。您控制密钥、配置和基础设施。 |
| 🐧 DKMS (Dynamic Kernel Module Support) | 一个 Linux 框架,在系统内核更新时自动重新编译内核模块。AmneziaWG 安装程序使用 DKMS 构建高性能内核模块。 |
| 🎭 Obfuscation | 伪装 VPN 流量,使其看起来像普通互联网流量的做法。AmneziaWG 在传输层通过随机化头部、添加填充、发送替代数据包和生成垃圾数据包来进行混淆。 |
| 🔀 Split tunneling | 一种路由配置,只有特定流量(例如被屏蔽的网站)通过 VPN,而其他流量使用您的直连。适用于部分审查的国家。 |
| 🖥️ KVM vs LXC | KVM 是完整虚拟化,加载 AmneziaWG 这类自定义内核模块需要专用内核。LXC 是容器虚拟化,使用宿主机共享内核,无法加载自定义模块。 |
| 🎪 CPS (Custom Protocol Signature) | AmneziaWG 2.0 的一个功能,在实际握手前发送模仿其他协议(QUIC、DNS、SIP)的替代数据包,使 DPI 系统将流量误判为正常流量。 |
自部署 AmneziaWG VPN Server — 完整指南

AmneziaWG 是一种旨在解决特定问题的协议:当您连接的网络积极尝试阻止 WireGuard 时,如何仍然获得 WireGuard 的速度?它是由 Amnezia VPN 团队创建的 WireGuard 分支,它做了原版没有做的事——随机化传输层,使深度包检测系统无法识别它。加密保持完全相同。改变的只是数据包在网络中的外观。
VPN 混淆的整体格局多年来一直是一场军备竞赛。像 Shadowsocks、VLESS+Reality,以及带有 obfs4 的 OpenVPN 这样的工具,试图以各种方式伪装流量——有些伪装成代理,有些伪装成完整隧道,有些则以较高的性能成本为代价。AmneziaWG 占据了一个特定细分领域:它是一个完整的 VPN 隧道,具备 WireGuard 级别的性能和内置 DPI 保护,全部集成在一个方案中。而且由于它是开源的,您可以将其部署在自己的服务器上。
但这正是问题所在,也是它存在的必要原因。您设置了 WireGuard。它运行得完美——快速、干净、可靠。然后某一天,它突然停止了。没有错误信息,没有超时,没有连接拒绝。数据包就这样消失了。这就是 DPI 阻断在实践中的表现:您的隧道仍在运行,配置仍然正确,但没有任何流量通过。这就是俄罗斯(WireGuard 的成功率约为 12%)、伊朗(98% 数据包丢失)以及包括中国、埃及、UAE、土耳其、白俄罗斯、乌兹别克斯坦、哈萨克斯坦、缅甸和巴基斯坦在内的越来越多国家的现实。

传统替代方案并不能完全解决这个问题。Shadowsocks 是代理,不是完整的 VPN 隧道——您的 DNS 和非 TCP 流量仍然会泄漏。带有 obfs4 的 OpenVPN 可以工作,但会带来约 25% 的性能开销。VLESS+Reality 提供强混淆,但基于代理且设置复杂。AmneziaWG 填补了这一空白:它是一个完整的 VPN 隧道,具备 WireGuard 级别的性能和内置 DPI 保护。
本指南将带您使用一个社区安装脚本,在不到 15 分钟内于任何 KVM VPS 上部署一个完全可用的 AmneziaWG 2.0 Server。到最后,您将拥有一个可在任何设备上连接的工作 VPN 隧道。步骤与提供商无关——它们适用于任何具有 SSH 访问和 root 权限的 VPS,无论来自 AlexHost、AvaHost 还是其他提供商。本文面向具备中级技术能力、熟悉 SSH 和基本 Linux 命令的用户。
开始之前先说明一点:AmneziaWG 是一种协议。AmneziaVPN 是一个客户端应用程序,用于连接它。它们相关但不同——就像浏览器中的 TLS 一样。您需要一个应用程序来连接,但运行在您服务器上的是协议。
但在部署任何东西之前,您需要了解 AmneziaWG 与 WireGuard 的不同之处,以及为什么当 DPI 盯着您时,这种差异如此重要。
什么是 AmneziaWG?(心智模型)
WireGuard 的设计非常优雅。它代码库小,使用现代加密,并在 Linux 内核中运行,几乎具备原生性能。但这种优雅也带来了可见性问题:每个 WireGuard 数据包都带有相同的固定头部结构、相同的固定数据包大小和相同的握手模式。对于深度包检测系统来说,WireGuard 隧道的特征就像条形码一样清晰。一旦 DPI 设备识别出这个特征,它就可以丢弃每个数据包,而无需阻止端口或关闭连接。

可以这样理解。WireGuard 就像一个总是穿着同样制服的快递员——快速、可靠、高效。但任何在路边观察的人都会学会识别这套制服,并能在任何检查点拦下快递员。AmneziaWG 还是同一个快递员,运送着同样的包裹,但他在每个检查点都会更换制服。还是同一个人,同样的货物,外观却完全不同。
版本历史很重要。AmneziaWG 1.x 引入了不同于 WireGuard 固定值的自定义头部——这曾在一段时间内有效,但 DPI 系统随后适应了。AmneziaWG 2.0 于 2025 年底发布,它随机化了一切:头部会在每个数据包之间变化,填充会在每条消息之间变化,替代数据包会在实际握手开始前模仿其他协议。由于每个 AmneziaWG 2.0 Server 都会生成自己独特的一组参数,因此不存在可供检测的通用特征。每个 Server 都有自己的方言。
当所有混淆参数都设置为零时,AmneziaWG 的行为与 WireGuard 完全相同——在协议层面上完全向后兼容。但在启用参数时(这是默认设置),它就变成了 WireGuard 无法做到的东西:一个让 DPI 系统难以识别的快速 VPN 隧道。
那么,AmneziaWG 到底是如何加密其流量的?让我们看看使 DPI 失明的四层混淆,以及为什么它们几乎不会带来速度损失。
AmneziaWG 如何躲避 DPI(且不损失速度)
AmneziaWG 2.0 使用四层协同工作的混淆。每一层都针对 DPI 系统识别 VPN 流量的不同方式。结合起来,它们使每个 Server 的流量都独一无二。
动态头部(H1–H4)
WireGuard 使用固定的 32 位消息类型标识符:
- 1 — 用于初始化
- 2 — 用于响应
- 3 — 用于带 cookie 的响应
- 4 — 用于数据
扫描流量的 DPI 设备只需查找这些值即可。AmneziaWG 2.0 用从指定范围中选择的随机数替换每个固定值。初始化头部(H1)可以是 234567 到 345678 之间的任意值。响应头部(H2)可以是 3456789 到 4567890 之间的任意值。这些范围不会重叠——协议仍然需要在内部区分数据包类型——但对于外部观察者来说,没有单一的头部值可供锁定。每个数据包看起来都与前一个不同。
随机填充(S1–S4)
WireGuard 的初始化数据包始终恰好是 148 bytes。其响应始终恰好是 92 bytes。这些固定大小也是另一种指纹。AmneziaWG 为每种数据包类型添加随机填充:初始化变为 148+S1 bytes,响应变为 92+S2 bytes,带 cookie 的响应变为 64+S3 bytes,而每个数据包都会获得 S4 bytes 的填充。S3 和 S4 是 2.0 版本中的新增内容——其中 S4 是最重要的新增项,因为它影响每一个数据包,使会话级流量分析变得更加困难。
有一个关键约束:S1+56 不能等于 S2。由于初始化和响应之间的原始大小差异是 56 bytes(148−92),如果填充值随机地正好抵消了这个差异,那么两个填充后的数据包最终会变成相同大小——从而重现 AmneziaWG 试图消除的指纹。安装程序的参数生成器会自动确保这一约束。
自定义协议签名(I1–I5)
在实际握手开始之前,AmneziaWG 客户端会发送最多五个替代数据包,这些数据包模仿其他协议——QUIC、DNS、SIP,或自定义字节模式。服务器会完全忽略这些数据包。它只是等待真正的握手。
- 简单配置:发送 128 个随机字节 <r 128>。
- 复杂配置:发送看起来像发起 QUIC 连接的字节(<b 0xc000000001><r 64><t>),并带有 Unix 时间戳。
对于观察会话开始的 DPI 系统来说,最初的数据包看起来就像普通的 Web 流量。
垃圾数据包(Jc, Jmin, Jmax)
在替代数据包之后,客户端会发送可自定义数量的垃圾数据包——纯噪声,大小在 Jmin 到 Jmax 之间随机。这些数据包会模糊会话开始时的时间和大小特征,使 DPI 系统更难识别真正的握手从何处开始。
速度问题
互联网上流传着一个数字:AmneziaWG 有 65% 的开销。这个数字是真的,但它指的是用户态 Go 实现——不是内核模块。本指南使用的社区安装程序会构建 DKMS 内核模块,而内核模块的整体开销不到 12%——在真实测试中更接近 3%。在未审查的网络上,您会看到 WireGuard 约 95 Mbps,而 AmneziaWG 2.0 约 92 Mbps。在受审查的网络上,对比则是 92 Mbps 与 0。
下表总结了安装程序自动生成的参数:
| 参数 | 生成范围 | 示例值 |
|---|---|---|
| Jc(垃圾数据包数量) | 4–8 | 6 |
| Jmin(最小垃圾大小) | 40–89 | 55 |
| Jmax(最大垃圾大小) | Jmin+100 到 Jmin+500 | 380 |
| S1(初始化填充) | 15–150 | 72 |
| S2(响应填充) | 15–150, S1+56≠S2 | 56 |
| S3(cookie 填充) | 8–55 | 32 |
| S4(数据填充) | 4–27 | 16 |
| H1(初始化头部范围) | uint32 without overlap | 234567-345678 |
| H2(响应头部范围) | uint32 without overlap | 3456789-4567890 |
| H3(cookie 头部范围) | uint32 without overlap | 56789012-67890123 |
| H4(数据头部范围) | uint32 without overlap | 456789012-567890123 |
| I1(CPS 数据包) | <r N> 格式 | <r 128> |
您无需手动设置这些参数中的任何一个。安装程序每次都会生成满足约束条件的加密随机值。
现在您已经了解了混淆如何工作,让我们看看 AmneziaWG 与您可能正在考虑的替代方案相比如何。
AmneziaWG vs 替代方案 — 快速决策指南

| WireGuard | AmneziaWG 2.0 | OpenVPN+obfs4 | Shadowsocks | VLESS+Reality | |
|---|---|---|---|---|---|
| DPI Resistance | Low | High | Medium | Medium | Very High |
| Speed Overhead | ~4% | <12% (~3% in real conditions) | ~25% | ~8% | ~10% |
| Full VPN Tunnel | Yes | Yes | Yes | No (proxy) | No (proxy) |
| Runs in Kernel | Yes | Yes (DKMS) | No | No | No |
| Setup Complexity | Low | Low (with installer) | High | Medium | High |
| Transport | UDP | UDP | TCP/UDP | TCP | TCP |
决策规则很简单:
- 您的国家没有 DPI? 使用普通 WireGuard。它更简单,而且生态更广。
- 需要最大的 DPI 保护且不介意代理? VLESS+Reality 是最强的混淆选项,但它不是完整隧道。
- 既想要速度又想要带混淆的完整隧道? AmneziaWG 2.0 是唯一能在完整 VPN 隧道中提供 WireGuard 级性能和真正 DPI 保护的选择。
- 已经在使用 OpenVPN+obfs4 且仍然可用? 没有紧急理由切换,但 AmneziaWG 会明显更快。
本文聚焦 AmneziaWG,因为它是唯一一种能为您提供完整隧道、内核级性能和内置混淆的协议——而且只需一个脚本即可完成设置。
如果 AmneziaWG 适合您的情况,那么在开始部署之前,您需要准备以下内容。
开始前您需要准备什么
在运行安装程序之前,请确保您的环境满足以下要求:
| 要求 | 详情 | 原因 |
|---|---|---|
| OS | Ubuntu 24.04 LTS(全新安装)。Ubuntu 25.10 处于实验阶段。Debian 12/13 可用,但可能需要预先安装 curl。 | 安装程序已在 Ubuntu 24.04 上测试并获得完全支持。 |
| VPS Specs | 1 vCore, 1 GB RAM, 25 GB 存储。任何 $3–5/月 的套餐都适合。 | 安装程序在 DKMS 构建期间需要约 2 GB 磁盘空间和约 1 GB RAM。运行中的 VPN 资源占用很低。 |
| Virtualization | KVM(不是 OpenVZ,也不是 LXC)。 | AmneziaWG 通过 DKMS 加载内核模块。LXC 使用共享宿主机内核,无法加载自定义模块。 |
| SSH Access | 带密码/密钥认证的 root 或 sudo 用户。 | 安装程序需要以 root 身份运行。 |
| SSH Port | 默认 22,或者如果使用非标准端口,则需在 UFW 中预先开放。 | 如果 SSH 没有运行在 22 端口且您事先没有开放它,安装程序的防火墙设置会阻止您。 |
| Client Application | Amnezia VPN >= 4.8.12.7(所有平台)。 | 较旧的客户端无法理解 AWG 2.0 选项。标准 WireGuard 客户端根本不支持 AWG。 |
⚠️ Warning: 不支持 LXC 容器。如果您的 VPS 使用 LXC 虚拟化,DKMS 内核模块构建将失败。您必须使用 KVM 或裸机。如果不确定,请向您的提供商确认。
⚠️ Warning: 如果您的 SSH 运行在非标准端口(除 22 之外的任何端口),您必须在运行安装程序之前在 UFW 中开放它:
sudo ufw allow YOUR_PORT/tcp将 YOUR_PORT 替换为您的实际 SSH 端口。安装程序包含带默认策略的 UFW——如果不允许您的 SSH 端口,您将立即被阻止。
💡 Tip: 在创建 VPS 后等待 5–10 分钟再运行安装程序。Cloud-init 和后台初始化进程可能会与安装程序调用的 apt-get 冲突。
在您的 VPS 准备就绪且先决条件已确认后,让我们使用社区安装脚本部署 AmneziaWG 2.0——这是最快且最透明的方法。
方法 1 — 使用 CLI 安装程序部署(推荐)
这是主要安装方法。您将下载一个固定版本的安装脚本,以 root 身份运行它,完成八个自动化步骤(包含两次预期重启),最终得到一个完全配置好的 AmneziaWG 2.0 Server。安装程序会处理一切:软件包安装、内核模块编译、防火墙配置、参数生成和服务启动。
6.1 — 通过 SSH 连接到您的 VPS
打开终端并连接到您的服务器:
ssh root@<SERVER_IP>将 <SERVER_IP> 替换为您 VPS 的实际公网 IP 地址。如果您的提供商给了您一个非 root 用户,请使用该用户登录,然后提升权限:
ssh <username>@<SERVER_IP>
sudo -i您应该会看到 Ubuntu 24.04 欢迎横幅,随后是 root 提示符:
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-xx-generic x86_64)
...
root@vps:~#6.2 — 下载并运行安装程序
下载安装脚本,使其可执行,然后运行它:
wget https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.8.1/install_amneziawg_en.sh
chmod +x install_amneziawg_en.sh
sudo bash ./install_amneziawg_en.sh该 URL 固定到 v5.8.1——截至 2026 年 4 月的最新版本。这是供应链安全措施:即使仓库自那以后已更新,它也能确保下载的脚本与经过测试的版本一致。
安装程序首先检查您的系统:
============================================
AmneziaWG 2.0 Installer v5.8.1
============================================
Checking system requirements...
OS: Ubuntu 24.04 LTS — OK
Virtualization: KVM — OK
RAM: 1024 MB — OK
Disk: 25 GB free — OK如果任何检查失败,安装程序会停止并告诉您原因。修复问题后重新运行命令。
6.3 — 按照安装程序提示操作
安装程序是一个支持重启后继续的八步状态机。它会将进度保存到 /root/awg/setup_state,因此如果服务器重启,您只需再次运行相同命令,它就会从上次中断处继续。
步骤 0:初始化 — 安装程序检查您的 OS、虚拟化类型、RAM 和磁盘空间。它会创建 /root/awg/ 工作目录,并设置锁文件以防止并行运行。
步骤 1:系统更新与软件包安装 — 安装程序运行
apt-get update && apt-get upgrade -y,然后安装 AmneziaWG、DKMS、Linux headers、UFW、Fail2Ban、二维码生成工具以及其他依赖项。
📝 Note: 安装程序还会移除一些在小型 VPS 实例上消耗资源的后台服务:snapd、modemmanager、networkd-dispatcher、unattended-upgrades、packagekit、lxd-agent-loader 和 udisks2。这是有意为之且安全的。
步骤 1 完成后,安装程序会请求重启:
Reboot required. Reboot now? [y/n]:输入 y 并按 Enter。服务器重新启动后,再次通过 SSH 登录并重新运行相同命令:
sudo bash ./install_amneziawg_en.sh脚本会读取其保存的状态,并继续执行步骤 2,而不会再次询问任何提示。
步骤 2:DKMS 内核模块构建 — 安装程序针对您当前的内核编译 AmneziaWG 内核模块,并将其注册到 DKMS,以便在未来内核更新时自动重建:
Step 2: Building AmneziaWG kernel module via DKMS...
Creating symlink /var/lib/dkms/amneziawg/2.0/source -> /usr/src/amneziawg-2.0
DKMS: add completed.
Kernel preparation completed.
Building module:
make -C /lib/modules/6.8.0-xx-generic/build M=/var/lib/dkms/amneziawg/2.0/build modules
DKMS: build completed.
DKMS: install completed.系统会请求第二次重启。输入 y 并按 Enter。
📝 Note: 安装期间进行两次重启是正常且预期的。第一次会加载新的内核 headers,第二次会激活新构建的内核模块。脚本会在重启之间保存状态——不会丢失任何内容。
第二次重启后,再次通过 SSH 登录并再运行一次安装程序:
sudo bash ./install_amneziawg_en.sh步骤 3:重启后模块验证 — 脚本验证内核模块已加载(lsmod | grep amneziawg)。如果 DKMS 构建因任何原因失败,它会回退到用户态 Go 实现,并提示更高的开销。
步骤 4:防火墙设置 — 启用 UFW,并采用默认拒绝入站策略。安装程序会在 22 端口添加 SSH 限速规则,开放您的 VPN 端口用于 UDP 流量,并为 awg0 接口配置路由规则。
步骤 5:下载管理脚本 — 客户端管理脚本(manage_amneziawg_en.sh 和 awg_common_en.sh)会以仅所有者可访问的权限(700)下载到 /root/awg/。这些脚本也固定到 v5.8.1。
步骤 6:交互式配置 — 安装程序现在会询问四个问题:
- UDP port(默认:39743,范围 1024–65535)。默认值是一个随机高端口——除非您知道 ISP 会阻止高 UDP 端口,否则请保持默认。
- Tunnel subnet(默认:10.9.9.1/24)。这是您的内部 VPN 网络。Server 使用 .1,客户端使用 .2 到 .254,最多支持 253 个客户端。
- Disable IPv6(默认:Y)。推荐——禁用 IPv6 可防止流量通过 IPv6 路由泄漏到隧道外。
- Routing mode:选择 1 表示所有流量,2 表示 Amnezia List + DNS(推荐),或 3 表示自定义网络。模式 2 仅通过 VPN 路由被阻止的公网 IP 段和 DNS,同时保持本地网络访问快速且直连。
💡 Tip: MTU 默认设置为 1280。这是最小 IPv6 MTU,对移动和蜂窝网络至关重要。iOS 对 Path MTU Discovery 很严格,而蜂窝网络的有效 MTU 往往低于 WireGuard 的默认值 1420。请保持 1280。
步骤 7:服务启动 — 安装程序在 /etc/amnezia/amneziawg/awg0.conf 生成 Server 配置,在 /root/awg/ 创建两个默认客户端配置(my_phone 和 my_laptop),生成二维码,并启动 awg-quick@awg0 systemd 服务。
步骤 8:完成 — 您会看到成功消息:
============================================
AmneziaWG 2.0 installation and configuration completed SUCCESSFULLY!
============================================安装程序会自动生成所有 AmneziaWG 2.0 混淆参数。您无需手动处理它们。每个 Server 都会获得一组独特的值——DPI 系统没有可检测的通用指纹。
6.4 — 安装后管理客户端
位于 /root/awg/manage_amneziawg.sh 的管理脚本处理所有客户端生命周期操作。以下是核心命令:
添加新客户端:
sudo bash /root/awg/manage_amneziawg.sh add my_desktop这会为新客户端生成一个 .conf 文件、二维码和 .vpnuri 文件。Server 配置会热重载——无需重启服务。
添加临时自动过期客户端:
sudo bash /root/awg/manage_amneziawg.sh add guest --expires=7d一个 cron 任务每五分钟检查一次,并在客户端过期时自动将其移除。配置、密钥和 Server 条目都会被清理。
列出所有客户端:
sudo bash /root/awg/manage_amneziawg.sh listClients: my_phone (10.9.9.2/32) my_laptop (10.9.9.3/32) my_desktop (10.9.9.4/32) guest (10.9.9.5/32) [expires in 6d 23h]
添加 -v 标志可查看更多细节,包括公钥和创建日期。
移除客户端:
sudo bash /root/awg/manage_amneziawg.sh remove guest检查完整 Server 状态:
sudo bash /root/awg/manage_amneziawg.sh check这会在一个视图中显示服务状态、开放端口、所有 AWG 2.0 参数、内核模块状态、UFW 状态和 Fail2Ban 状态。
查看每个客户端的流量统计:
sudo bash /root/awg/manage_amneziawg.sh statsClient Received Sent Latest handshake ─────────────────────────────────────────────────────────────────── my_phone 1.24 GiB 356.7 MiB 2 minutes ago my_laptop 892.3 MiB 128.4 MiB 15 seconds ago my_desktop 0 B 0 B (none)
创建备份:
sudo bash /root/awg/manage_amneziawg.sh backup这会在 /root/awg/backups/ 创建一个压缩归档,其中包含您的 Server 配置、客户端配置、密钥和过期数据。
📝 Note: add 和 remove 命令使用 awg syncconf 进行热重载。Server 配置会立即更新,无需重启服务。只有在更改端口或 MTU 等服务器端参数时才使用 restart。
6.5 — 验证 Server 正在运行
运行以下检查以确认一切正常:
检查 systemd 服务:
sudo systemctl status awg-quick@awg0● awg-quick@awg0.service - AmneziaWG Quick via awg-quick(8) for awg0
Loaded: loaded (/lib/systemd/system/awg-quick@.service; enabled)
Active: active (exited) since Thu 2026-04-09 14:32:01 UTC验证 AmneziaWG 状态和参数:
sudo awg show awg0验证防火墙:
sudo ufw status verboseStatus: active Default: deny (incoming), allow (outgoing) 22/tcp LIMIT IN Anywhere 39743/udp ALLOW IN Anywhere
验证 Fail2Ban:
sudo fail2ban-client status sshdStatus for the jail: sshd |- Filter | |- Currently failed: 0 | `- Total failed: 0 `- Actions |- Currently banned: 0 `- Banned IP list:
验证 DKMS 内核模块:
dkms statusamneziawg/2.0, 6.8.0-xx-generic, x86_64: installed
如果这五项检查都通过,您的 AmneziaWG 2.0 Server 就已运行并准备好接受连接。
您的 Server 已运行并通过验证。如果您更喜欢图形界面而不是终端,下面是使用 AmneziaVPN app 的替代方法。
方法 2 — 使用 AmneziaVPN App 部署(替代)
AmneziaVPN 桌面应用可以通过 SSH 在您的服务器上自动安装 AmneziaWG。它使用与 CLI 方法相同的底层安装脚本,但将所有内容封装在引导式界面中。如果您想要免操作的安装体验,这非常理想。
- 下载 AmneziaVPN,地址为 amnezia.org/en/downloads。它适用于 Windows、macOS、Linux、Android 和 iOS。
- 打开 app,然后点击 ➕(加号图标)或 Get Started。
- 从提供的选项中选择 “Self-hosted VPN”。
- 输入您的服务器凭据:
- Server IP address(如果 SSH 不在 22 端口,则还需端口,例如 203.0.113.10:2221)
- SSH username(例如 root)
- Password 或 SSH private key
- 选择安装类型:
- Automatic — 仅安装 AmneziaWG(推荐)
- Manual — 从列表中选择特定协议
- 点击 “Install” — app 会通过 SSH 连接到您的服务器并自动运行安装。您会看到进度指示。
- 安装完成后,app 会创建一个可直接使用的 VPN 连接配置文件。
安装后说明:
- app 默认会以随机端口安装 AmneziaWG。一些 ISP 会阻止高端口上的 UDP。app 建议改用 9999 以下的端口(例如 585 或 1234)。更改方法:点击连接旁的齿轮图标 → Management tab → 更改端口号。
- 如果您的服务器上已经安装了 Amnezia 软件,请在创建连接时点击 “Skip setup”,然后在 Management tab 中使用 “Check the server for previously installed Amnezia services”。
以下是两种方法的比较:
| 方面 | CLI Installer | AmneziaVPN App |
|---|---|---|
| Control | Full — 您可以看到每一步,并可自定义 | Limited — app 处理一切 |
| Visibility | Transparent — 所有命令可见 | Opaque — 在后台运行 |
| Flexibility | Custom routing, endpoint, flags | 仅使用默认值 |
| Ease of use | Requires SSH familiarity | 无需终端操作 |
| Management | Fullmanage_amneziawg.sh suite | 仅基于 app 的管理 |
| Best for | Unmanaged VPS, troubleshooting | 快速设置,引导式体验 |
无论您使用 CLI 还是 app,您的 Server 都已准备就绪。现在让我们连接您的第一台设备。
连接您的第一个客户端
安装完成后,您有三种方式将客户端配置导入 Amnezia VPN app。请选择与您的设备相匹配的一种。
方法 A:二维码(移动端)
安装程序已在 /root/awg/my_phone.png 生成二维码。将其下载到您的电脑:
scp root@<SERVER_IP>:/root/awg/my_phone.png .在屏幕上打开 PNG 文件。在您的手机上,打开 Amnezia VPN app,点击 “Add VPN” → “Scan QR code”,然后将摄像头对准屏幕上的二维码。连接会自动导入。
方法 B:vpn:// URI(Amnezia Client)
在您的服务器上显示压缩后的 URI:
cat /root/awg/my_phone.vpnuri复制整个 vpn://… 字符串并发送给自己——通过 Telegram、电子邮件或笔记 app。然后在手机上打开 Amnezia VPN app,点击 “Add VPN” → “Paste from clipboard”。配置会一步导入。
该 URI 是完整配置文件经过 zlib 压缩并进行 Base64 编码后的版本。它很紧凑,适合快速分享。
方法 C:.conf 文件(桌面/Windows)
下载配置文件:
scp root@<SERVER_IP>:/root/awg/my_phone.conf .打开 AmneziaWG for Windows 客户端或 AmneziaVPN desktop app,点击 “Import tunnel(s) from file”,然后选择 .conf 文件。
验证连接
连接后,验证隧道是否正在通过服务器路由您的流量:
curl ifconfig.me
输出应显示您服务器的公网 IP 地址,而不是您本地的:203.0.113.1
如需更多详细信息,包括服务器的地理位置:
curl -s https://ipinfo.io/json{
"ip": "203.0.113.1",
"city": "Amsterdam",
"region": "North Holland",
"country": "NL",
...
}⚠️ Warning: 标准 WireGuard 客户端不适用于 AmneziaWG 2.0 配置。您必须使用 Amnezia VPN app(4.8.12.7 或更高版本)或原生 AmneziaWG 客户端(Windows/Android/iOS 上 2.0.0 或更高版本)。
⚠️ Warning: 如果您在 Windows 上看到 “Invalid key: s3”,说明您的 AmneziaWG Windows 客户端已过时(版本低于 2.0.0)。请更新到 2.0.0+ 或切换到 Amnezia VPN app。
💡 Tip: 如果您已连接但没有互联网,请检查客户端配置在 [Interface] 部分是否设置了 MTU = 1280。这是移动网络上“握手成功但没有流量”最常见的原因。
您的 VPN 隧道正在工作。下面是接下来可以做的事情,以充分利用您的设置。
下一步 — 扩展您的设置
您现在已经在自己的服务器上运行了一个抗 DPI 的 VPN 隧道,完全由您控制,并具备 WireGuard 级别的速度。曾经导致 WireGuard 连接失效的静默数据包丢失不再是问题——您的流量看起来不像 DPI 系统能够可靠识别的任何东西。
接下来您可以做的最有用的事情有:
- 为家人或团队添加客户端 — 使用管理脚本为每个需要访问的设备生成配置。
- 配置 split tunneling — 如果您不需要全隧道路由,这样可以保持本地流量快速并减少 VPS 上的带宽占用。
- 备份您的配置 — 运行备份命令并将归档存放在安全的地方。如果您的服务器将来需要重建,这会让您免于从头开始。
配置 split tunneling,如果您不需要所有流量都通过 VPN 路由。这在部分审查的国家尤其有用——只将被阻止的网站通过隧道路由,而保持本地流量直连:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone AllowedIPs "192.168.1.0/24,10.0.0.0/8"更改客户端 DNS,如果您偏好不同的解析器:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone DNS "8.8.8.8,1.0.0.1"调整 PersistentKeepalive,如果您处于激进的 NAT 环境中。默认 33 秒可通过 NAT 保持 UDP 会话——将其降低到 25 可帮助那些会快速丢弃空闲 UDP 会话的网络:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone PersistentKeepalive 25在路由器上安装,以覆盖整个网络。AmneziaWG 支持通过 AWG Manager 在 Keenetic 路由器上使用,也支持通过 AmneziaWG for Merlin 在运行 Asuswrt-Merlin 的 ASUS 路由器上使用。
现在备份您的配置,趁一切还未变化:
sudo bash /root/awg/manage_amneziawg.sh backup如果您将来需要迁移到新服务器,请先进行一次全新安装,然后:
sudo bash /root/awg/manage_amneziawg.sh restore
sudo bash /root/awg/manage_amneziawg.sh regenrestore 命令会恢复您的配置和密钥,而 regen 会使用新的服务器 IP 更新客户端配置。
如需更深入的文档,官方 Amnezia 文档位于 docs.amnezia.org,社区也活跃于 Telegram。
如果您正在寻找一个可靠的 VPS 来托管您的 AmneziaWG Server——或者需要为团队成员增加额外端点来扩展规模——AvaHost 提供此设置所需的 KVM 虚拟化、完整 root 访问、NVMe 存储和 Ubuntu 24.04 支持。他们的基础设施专为本指南所涵盖的这类自托管部署而打造。


