EasyTier 组网是真不错

w568w · 5 天前 · 212 次点击

如题,非软文,放心看。

我之前用的是 ZeroTier ,参见这帖: https://www.fshex.com/t/1113181 。遇到了两个问题

  1. 连接过程极不透明。除了名称和延迟,几乎没办法得知和连接现状有关的任何信息(走哪个中转?路由表如何?上次连接错误、重试连接是几分钟前?现在处于断开、尝试打洞中还是已连接?)。

    七八年前就有人在官网论坛提需求,开发者表示根本不 care 普通用户:有检查网络的需求,自己编译 debug 版看日志去。但事实是我的网络不是很稳定(参见上面的帖子),所以经常莫名其妙断开,也没法排查原因。

  2. VPN 节点不对等,不能动态路由。 ZeroTier (以及 Tailscale 、n3n 等)都抽象出了多种节点类型:普通客户端、中转服务器( Moon/DERP/Supernode )、控制服务器( Planet/Headscale ),严格来说不算 Full Mesh VPN ,只能说是支持打洞的中心化 P2P VPN 。

    这导致一个什么问题呢?只有 Moon 服务器(和手动配路由表的机器)才可以中转流量。然而我网络情况经常变:明明「家里的 A <-> 我的电脑 <-> 单位的 B 」,但因为 A 和 B 无法直连、我的电脑又不是 Moon ,结果 A <-> B 通信只能走较慢的公网中转。

    这个问题其实挺好解决的,最简单的思路就运行一个 OSPF/BGP/RIP 客户端来动态路由嘛。FSHEX 早就有朋友尝试过了 [1],也有人提了 issues [2,3],但无一例外被忽略了,不清楚什么理由。


EasyTier 基本就解决了这两个痛点。第一点,它有一个信息非常细的 cli 工具和 WebUI,路由表、延迟、下一跳中转、上次通信时间、通信流量都可以看,也有系统日志;第二点,它是完全的去中心化 VPN,所有网络内的节点(包括官方的公益服务器)全部都是对等端,执行一样的功能,既能互相访问又能负责中转。它运行了一个 OSPF 来零配置动态路由。

此外,它的配置实在太无脑了,就「下载程序、运行」两步,文档也写得很好;相比上面这些,它还支持多协议通信( TCP/UDP/KCP )。总之,没有遇到任何大问题。ZeroTier 的断连现象也没有观察到了。

缺点有三个:

第一,它和 tailscale 一样是基于 Wireguard ,所以不是 L2 VPN ,不支持组播和广播(相对地,它支持用 Wireguard 客户端直接连接)。不过,它出了个游戏联机启动器,通过 WinIPBroadcast 来自动转发广播流量,联机游戏应该是没什么问题。

第二,它是 Rust 开发,目前移动端只支持 Android 不支持 iOS ;

第三,完全去中心化的网络,没有传统意义上的「控制节点」,管理起来肯定会有些困难。

以防广告嫌疑,不放 EasyTier 链接了。我目前是和 ZeroTier 共用,主用 EasyTier ,互为替补。

[1] https://www.fshex.com/t/707060

[2] https://github.com/zerotier/ZeroTierOne/issues/798

[3] https://github.com/tailscale/tailscale/issues/11383

举报· 212 次点击
登录 注册 站外分享
1 条回复  
aa51513 小成 5 天前
我也苦恼 Zerotier 这些沉疴已久,感谢楼主指路,我也去探索一番 EasyTier
返回顶部