TL;DR

WireGuard 是 L3 VPN(全流量加密 + 虚拟网卡),Shadowsocks 是 L5 代理(应用层 socks5)。抗 GFW:SS 2022 > 原生 WG(WG 握手特征已被建库)。性能:WG > SS(内核态 vs 用户态)。部署:WG 略简单。结论:内网互联用 WG,大陆主线反 DPI 用 SS 2022 或 VLESS Reality。

WireGuard 与 Shadowsocks 是两个完全不同层次的协议,但因为都被用作”跨境工具”,常被放在一起比较。本篇按”定位 / 加密 / 握手 / 性能 / 抗审查 / 部署”六块讲清楚,给出选型矩阵。

定位差异:L3 VPN vs L5 代理

维度WireGuardShadowsocks
OSI 层L3(IP 层)L5(应用层)
工作模式创建虚拟网卡 wg0启动一个本地 socks5 端口
加密粒度全部 IP 数据包单条 TCP 连接
路由控制系统路由表客户端规则集
应用支持自动接管所有应用需要应用走 socks5 / 系统代理
UDP 转发原生支持支持(v3+)
多用户不擅长(需扩展)原生支持(v2022 多用户)

WG 的设计模型是”两台机器之间打个 L3 隧道”,SS 的模型是”我的浏览器走代理出去”。这决定了所有后续差异。

加密机制

WireGuard

  • 密钥交换:Curve25519
  • 对称加密:ChaCha20-Poly1305
  • 哈希:Blake2s
  • HKDF:Blake2s + HKDF
  • 握手协议:Noise Framework IKpsk2

设计原则:极简(whole codebase ~ 4000 行 C 代码)。

Shadowsocks 2022

  • 密钥派生:Blake3
  • 对称加密:AEAD-2022(AES-256-GCM 或 ChaCha20-Poly1305)
  • 时间戳防重放:1 分钟窗口
  • 多用户:服务端 ID 列表,每用户独立密钥

SS 2022 相比 SS(2014):

  • 移除所有 stream cipher(AES-CFB / RC4)
  • AEAD-2022 替换早期 AEAD(AES-128-GCM)
  • 协议层增加 padding 抗流量分析

握手特征

握手层是 DPI 识别的关键。

WG 握手(被 GFW 建库的特征)

WG handshake message:
+----+----+-------+
|0x01|0x00 0x00 0x00|sender|...

固定 4 字节 magic 0x01 0x00 0x00 0x00 + Curve25519 公钥位置固定。GFW 在 2023 年起对 WG 握手的识别准确率 > 95%。原生 WG 在大陆主线网络几乎不可用——握手即被 RST。

SS 2022 握手

SS 2022 first packet:
+--------+------+--------+
|salt(32)|len(2)|ciphertext|

没有固定 magic。盐值每次随机 32 字节,密文长度可变。DPI 无法仅从首包识别。

抗审查办法

WG 想在大陆用:

  • AmneziaWG:在标准 WG 上加握手前的随机字节包 + 包混淆
  • WireGuard over Cloak:用 Cloak 把 WG 流量套一层 HTTPS 伪装
  • WG over Wstunnel:WebSocket 隧道封装

SS 2022 想更稳:

  • 启用 padding:每包随机长度填充
  • obfs-tls plugin:把 SS 流量伪装成 HTTPS
  • cloak plugin:完全模仿 HTTPS

性能实测

环境:东京 VPS(4 核 8G,10Gbps 带宽,AMD EPYC)

协议单 TCP 吞吐多 TCP 累计CPU 占用
WireGuard(内核态)4.8 Gbps9.2 Gbps80%
WireGuard(用户态 wireguard-go)1.2 Gbps2.8 Gbps100%
Shadowsocks-rust(SS 2022)1.8 Gbps3.6 Gbps90%
Sing-Box(SS 2022)1.5 Gbps3.0 Gbps85%

WG 内核态是绝对的性能王者。但家用 1Gbps 以下场景,两者差距不可感知。

抗 GFW 实测(2026-05)

协议联通电信移动
原生 WireGuard频繁被 RST频繁被 RST偶尔可用
AmneziaWG稳定偶尔被 RST稳定
WG over Cloak极稳定极稳定极稳定
Shadowsocks(SS 2014)偶尔被封偶尔被封频繁限速
Shadowsocks 2022极稳定稳定稳定
SS 2022 + cloak极稳定极稳定极稳定

结论:原生 WG 在大陆主线不可用,必须叠加混淆;SS 2022 仍是中文社区的稳定基线。

服务端部署对比

WireGuard(Linux)

# 安装
apt install wireguard

# 生成密钥
wg genkey | tee privkey | wg pubkey > pubkey

# /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <server-priv>

[Peer]
PublicKey = <client-pub>
AllowedIPs = 10.0.0.2/32

# 启动
wg-quick up wg0
systemctl enable wg-quick@wg0

10 分钟内可上线。

Shadowsocks 2022(sing-box)

{
  "inbounds": [{
    "type": "shadowsocks",
    "listen": "::",
    "listen_port": 8388,
    "method": "2022-blake3-aes-256-gcm",
    "password": "<base64-32-bytes-key>",
    "multiplex": { "enabled": true, "padding": true }
  }]
}

15 分钟内可上线。要加 obfs 再多 10 分钟。

客户端配置对比

WG(macOS)

下载 WireGuard.app → 导入 wg0.conf → 一键开启。

SS 2022(Karing / Sing-Box)

ss://2022-blake3-aes-256-gcm:<base64-key>@<host>:<port>?prefix=<padding>#<tag>

V2RayN / Karing / Hiddify 都支持直接粘贴此链接。

选型矩阵

场景推荐
公司远程办公(连内网)WireGuard
两台 VPS 之间内网互联WireGuard
个人跨境上网 + 大陆主线SS 2022 或 VLESS Reality
海外节点反 DPISS 2022
多用户机场服务SS 2022(多用户原生)
千兆 / 万兆专线WireGuard(内核态性能)
给非技术家人用SS 2022(客户端友好)
AmneziaVPN 商业服务AmneziaWG

混合部署:WG over Cloak

很多场景下两者其实可以合作。一个常见模式:

  1. VPS 上跑 SS 2022 + Cloak 端口 443
  2. Cloak 后端转发到本地 WG(51820)
  3. 客户端用 SS 客户端连 Cloak
  4. 系统流量通过 SS → Cloak → WG 隧道

这样既享受 WG 的 L3 全量代理能力,又用 Cloak + SS 抗 DPI。

实务订阅

无论选 WG 还是 SS,自建都要管 VPS + IP 纯净度 + 节点切换。如果你想要现成的”SS 2022 / VLESS Reality / Hysteria 2 / TUIC”多协议混合,并且能同时导出到 Clash / Sing-Box / V2Ray 客户端,直接用 兼容 Clash / Singbox / V2Ray 的订阅

相关阅读

来源与最后核对

本文最后实际验证日期:2026-05-19。