EasyTier 组网是真不错

32 天前
 w568w

如题,非软文,放心看。

我之前用的是 ZeroTier ,参见这帖: https://yangjunhui.monster/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 客户端来动态路由嘛。V2EX 早就有朋友尝试过了 [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://yangjunhui.monster/t/707060

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

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

4526 次点击
所在节点    宽带症候群
32 条回复
2han9wen71an
32 天前
我觉得 vnt 也很不错
Kaiyuan
32 天前
我给本地一个单位两个地方的办公室组网用的这个,自建的服务器,暂时都很不错,不过有可能会被 H3C 防火墙拦截,得看网管的防火墙配置。
lnbiuc
31 天前
@m1nm13 #19 阿里的服务器 dns 服务器内网 100.0.0.0/8 ,tailscale 服务器运行会覆写 dns 设置成 100.0.0.0/8 ,这两冲突了,手动指定一个 dns 就好了
m1nm13
31 天前
@lnbiuc 这个问题我之前就弄过了,改成了百度的,问是 8.8.8.8 ping 不通,和 dns 就没关系了,任何国外 ip 都 ping 不通
xiaoxiang69460
31 天前
如果是和 tailscale 一样 那是应该无法在这上面跑其他类型的数据包的。Zerotier 上可以建立 sit 隧道 tailscale 我试过不行
w568w
31 天前
@lany 我看了一下文档,主要用来中转的节点可以用 --relay-network-whitelist 来限制可连接的 network_name ,然后其他节点链接的时候使用相同的 network_name 和 secret 才能正常使用中转。不知道这个是不是你想要的 https://easytier.cn/guide/network/host-public-server.html

@ottoli 这个参数在第一篇文档(快速组网)的第一句命令下面就介绍了。

@lmaq 这个看报错大概是在说用户名已存在吧,我倒是没打算用他们的网络管理服务。

@SenLief @2han9wen71an 能否分享一下优点? Tailscale 和 vnt 我都没用过哦。

@xiaoxiang69460 是的,只有能转发 Ethernet 帧的 L2 VPN ( ZeroTier 、n3n 、OpenVPN )才能转发任意的 IP 数据包。Tailscale 、EasyTier 这些建的都是 TUN 设备,属于 L3 VPN ,不能做 6in4 隧道。
A1188
31 天前
EasyTier 挺好用的,用了很久了。也支持 KCP ,可以防止 UDP QOS
lany
31 天前
@w568w #26 确实如此,谢谢,文档有点乱,内容不太好找
Kinnice
31 天前
上次看自定义路由支持的还不行,而且比较强制打洞优先,在现在的网络环境下,有时候过中转可能更舒服。
dextercai
30 天前
@m1nm13 你如果要在阿里云里用,就得这么起

sudo tailscale up --netfilter-mode=off --accept-dns=false

tailscale 的 iptable 规则会接管 CGNAT ,和阿里云内网冲突,自然会出问题。
MFWT
25 天前
EasyTier 观望中,目前用的是 TS (自己搭建 Headscale ),比较诱人的功能主要是他的 KCP 代理,我这边校园网有时候丢包实在难受,听 MP3 能两秒卡一下
good
22 天前
@ottoli 这个好像没用啊 换个 network_name 还是能连

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/1121167

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX