如题,非软文,放心看。
我之前用的是 ZeroTier ,参见这帖: https://www.v2ex.com/t/1113181 。遇到了两个问题:
连接过程极不透明。除了名称和延迟,几乎没办法得知和连接现状有关的任何信息(走哪个中转?路由表如何?上次连接错误、重试连接是几分钟前?现在处于断开、尝试打洞中还是已连接?)。
七八年前就有人在官网论坛提需求,开发者表示根本不 care 普通用户:有检查网络的需求,自己编译 debug 版看日志去。但事实是我的网络不是很稳定(参见上面的帖子),所以经常莫名其妙断开,也没法排查原因。
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://www.v2ex.com/t/707060
1
aa51513 4 天前
我也苦恼 Zerotier 这些沉疴已久,感谢楼主指路,我也去探索一番 EasyTier
|
![]() |
2
liuzimin 4 天前 via Android
请问这种的纯中转速度怎么样?
|
![]() |
3
Int100 4 天前 via iPhone
可能最大的优势就是简单吧.
btw. op 为什么需要 full mesh ?全互联并不是一种优势. |
![]() |
4
Tink 4 天前
和 tailscale 比呢
|
![]() |
5
sarices 4 天前
tailscale 已经很好用了,没有到需要换的时候,长期远程连到家里的服务器做开发,完全感觉不到有问题
|
6
pxiphx891 4 天前
如果基于 Wireguard 的话,iOS 的 Wireguard 客户端可以连上吗
|
7
w568w OP |
![]() |
8
iceecream 4 天前
之前 2 个缺点,新软件 3 个缺点,一起就 5 个缺点了
|
![]() |
10
lany 4 天前 ![]() 好像 EasyTier 的私有中转服务器鉴权功能还没有,容易被扫被偷跑,不知道什么时候会加上
|
![]() |
11
simplove 4 天前
他们的文档写得很烂啊,一点都不友好
|
![]() |
12
1423 4 天前
+1, 替换 ZeroTier 绰绰有余
唯一的遗憾是用户态 Wireguard 心里最想要的其实是内核态 Wireguard + 充分利用 p2p 的自动配置器 |
13
m1nm13 4 天前
感谢楼主
tailscale 在国内实践起来真是一坨 --- 买国内 vps 搭建 derp 被封锁外网, 用自己的公网 IP 群辉搭 derp 客户端太老一直报错 每次公司和住所连接都是 300ms 的 ping. 用这个加上公网 vps 终于不用看一堆 derp 搭建文章也会通过 公网 vps 的客户端来中继了 |
14
la0wei 4 天前
用过,确实可以的,界面有点丑,但是信息给的很全面,是优点
.cn 域名的不敢用,又不是微信这种,能自主选择的都不想用 |
![]() |
15
lmaq 4 天前
Register Failed
Failed to register, error: {"message":"Execution Error: error returned from database: (code: 2067) UNIQUE constraint failed: users.username\n\nCaused by:\n 0: error returned from database: (code: 2067) UNIQUE constraint failed: users.username\n 1: error returned from database: (code: 2067) UNIQUE constraint failed: users.username\n 2: (code: 2067) UNIQUE constraint failed: users.username"} 官网注册报错这个,厉害了! |
![]() |
16
SenLief 3 天前 via iPhone
ts 还是更 nice 的
|
![]() |
17
HFX3389 3 天前
|
18
jip 3 天前 via Android
是的,我也是国内阿里搭建的 derp ,非常爽
|
19
m1nm13 3 天前
@HFX3389 我连 8.8.8.8 都 ping 不通了,每次提工单换一个服务器,要不了几个月就会这样,然后就是连不上 tailscale 本身的服务器,自然 derp 也就无法工作. 纯国内组网
|
![]() |
20
ottoli 3 天前
|
21
2han9wen71an 3 天前
我觉得 vnt 也很不错
|
![]() |
22
Kaiyuan 3 天前
我给本地一个单位两个地方的办公室组网用的这个,自建的服务器,暂时都很不错,不过有可能会被 H3C 防火墙拦截,得看网管的防火墙配置。
|
23
lnbiuc 3 天前
@m1nm13 #19 阿里的服务器 dns 服务器内网 100.0.0.0/8 ,tailscale 服务器运行会覆写 dns 设置成 100.0.0.0/8 ,这两冲突了,手动指定一个 dns 就好了
|
25
xiaoxiang69460 3 天前 via iPhone
如果是和 tailscale 一样 那是应该无法在这上面跑其他类型的数据包的。Zerotier 上可以建立 sit 隧道 tailscale 我试过不行
|
26
w568w OP @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 隧道。 |
27
A1188 3 天前 via Android
EasyTier 挺好用的,用了很久了。也支持 KCP ,可以防止 UDP QOS
|
![]() |
29
Kinnice 3 天前
上次看自定义路由支持的还不行,而且比较强制打洞优先,在现在的网络环境下,有时候过中转可能更舒服。
|