先看本质区别
WireGuard 是点对点 VPN 协议,EasyTier 是应用层 P2P 网络。名字像,但工作层级完全不同。
| 层级 | WireGuard | EasyTier |
|---|---|---|
| OSI 层 | L3(网络层,虚拟网卡) | L4/L7(应用层 UDP) |
| 加密 | 内置(Curve25519 + ChaCha20) | 可选(AES-GCM / ChaCha20 / None) |
| NAT 穿透 | 需手动打洞或外部 STUN | 内置 UDP NAT 穿透 |
| 多播/广播 | ❌ 不支持 | ✅ 支持(虚拟二层) |
| 虚拟网卡 | 有(wg0) | 可选(TUN/TAP) |
| 路由模式 | IP 路由 | IP + 虚拟交换机 |
NAT 穿透原理对比
WireGuard:靠"外力"
WG 本身不主动做 NAT 穿透。两端都在 NAT 后面时,需要:
- 一端有公网 IP(或端口转发)
- 或用外部 STUN/TURN 服务器协调
- 或靠 Tailscale 这类控制面帮忙打洞
EasyTier:自带打洞
EasyTier 的 UDP 打洞是协议内置的:
- 每个节点启动后向已知 peer 发探测包
- 利用 UDP 的"洞"在 NAT 上留映射
- 两端同时发包穿透 Symmetric NAT
- 失败时自动降级到 TCP 中继
路由模型
WireGuard:静态路由表
# WG 的路由是写死的
[Peer]
AllowedIPs = 10.0.0.0/24 # 这些 IP 走 wg0
AllowedIPs = 192.168.1.0/24 # 也能走 每个 peer 的 AllowedIPs 是静态配置,动态拓扑要靠外部脚本维护。
EasyTier:动态发现
# EasyTier 只需填对端地址
peers = ["10.144.0.1:11010"]
# 节点间自动交换路由表
# 新节点加入后全网可见 EasyTier 的节点会自动学习网络拓扑,新节点加入后所有节点都能看到,无需手动更新每个节点的配置。
什么时候选哪个
要极致性能 + 标准协议 + 手机 App → WireGuard
要多节点自动发现 + 零配置 + 内置打洞 → EasyTier
还能组合用
方案:EasyTier 做节点间骨干网(自动发现 + 打洞),每个节点上再跑 WireGuard 给手机/笔记本接入。
手机 ──WG──▶ Linux节点 ──EasyTier──▶ 其他节点
│
NAS/Services 这样手机不用装 EasyTier(目前没官方 App),又能享受 EasyTier 的自动拓扑。