[求助] Zerotier 性能堪忧,求大佬指点迷津

2020-04-24 18:37:13 +08:00
 Divingbear
网络情况如下:
1. A: 家中 NAS 跑的 win10 系统,通过 AC68U (梅林固件)接上海电信 100M
2. B: 公司笔记本,也是 WIN10 系统,公司的路由完全是个黑盒,电信 100M 的对等网
3. 另有 C,D 两个搬瓦工的小鸡,一个 CN2 GT,一个 CN2 GIA 的,一个装 CentOS7,一个装 Ubutu17,让我拿来都做了 MOON

其他情况如下:
1.在 A,B 机子上用 Zerotier-cli peers 看过去,对方都是中继模式
2.从 MOON 上看两台机器都是直连模式
3.互相 PING 的话,延迟都在 400 到 800ms 之间,且经常请求超时,丢包率接近 10%

问题是:
1.公司网络路由我动不了,家里的路由有没有可能优化?比如直接在路由上装 zerotier ?又或者设置一些转发规则?
2.如果像现在这样,虽然 RDP 速度还是比 TV 好一些,但是架不住不稳定,随时会断,然后再 NAS 那边有用户没注销很麻烦。如果打洞不成功,还真不如换 FRP 了
3.你们遇到过 Zerotier 莫名其妙的给你加个网络或者加个设备的吗?我的账户下面莫名其妙多了几个网络,一个看起来象是部门的夏普大电视,另外两个就完全不知道是啥东西。
4.另外 windows 的防火墙要不要也要处理一下?之前 ping 不通,RDP 无法连接,我把入站规则里的远程连接,文件和打印机共享的规则启用后就可以了。

本人软件小白,所以很多基础知识都比较缺乏,所以请恨铁不成钢的写详细点儿,不然容易对牛弹琴,造成脱发
31757 次点击
所在节点    宽带症候群
57 条回复
zyq2280539
2020-04-26 16:24:48 +08:00
frp 一般是端口映射方式,但是 zerotier 相当于是主机组网,所以就不用考虑端口的问题了,只需记住 ip 就可以了。目前经过 moon 之后流量确实会经过中转,我用腾讯云 1M vps 尝试过了,最高速度也确实是 1M 带宽。。。
Divingbear
2020-04-26 17:55:28 +08:00
@wyfbest 开始那个速度不可信的,要等后边跑的速度才比较真实

@zyq2280539 中继的话,1M 的 vps 肯定是限速点,我现在应该是直连的,这个限速很可能是公司的路由限速,但是目前还没条件验证一下.
PublicDNS
2020-04-26 18:19:31 +08:00
@Divingbear 可以用 iperf3 跑流量测试试试。
PublicDNS
2020-04-26 18:21:16 +08:00
Divingbear
2020-04-27 10:34:22 +08:00
@PublicDNS 我下了 iPerf3,但是不管怎么用都会报错啊,我尝试关闭了链路上的能关的防火墙都不行(公司的防火墙我动不了)
iperf3: error - unable to connect to server: Connection timed out
另外你那个帖子我也看了,除了能看速度,看不到是链路上哪个环节限速了啊?
Aprikoze
2020-05-12 15:39:17 +08:00
害,还是公网 IP 好使,,,家里和公司都没公网 IP,用 zerotier 穿透后连上在家中路由器搭建的乳酸菌饮料服务器,速度才一两百 k,看来走的是 zerotier 服务器
impig33
2020-09-16 10:02:32 +08:00
你需要这个:
udp2raw-tunnel

给 zerotier 戴上
creating
2020-09-24 22:55:40 +08:00
@impig33
大佬你好,由于 NAT 网络复杂且无法修改,zerotier 无法直连,如果使用 udp2raw-tunnel 是否可以让 zerotier 实现直连,如果可以有没有可以参考的文档,感谢!!!
impig33
2020-09-25 14:40:00 +08:00
impig33
2020-09-25 14:42:32 +08:00
万一不行就换 tinc 吧,是 isp 把 udp 给 xxx 了
delpo
2020-10-29 14:09:42 +08:00
@mgrddsj symmetric nat 是有可能可以打洞的
如果一端是 symmetric 另一端是 port restricted,那是 100%可以打洞的
如果两端都是 symmetric,其中一端的端口是递增的,那么有非常大的概率也是可以打洞的。
当然如果两端都是 random symmetric,那几乎是不可能成功的。
以上几种方案的缺点是需要耗费更多的时间和流量,所以大部分穿透工具都不提供。

在 zerotier 中,一端 symmetric 另一端 port restricted 是有小概率可以打洞成功的,原因就在于 zerotier 的配置中使用了不止一个本地端口,所以如果 symmertic 是递增的,那么备用的本地端口就有可能刚好命中外部端口。但是同时也是可以通过自己写一个脚本发包来打开 nat 的映射,可以极大的提高成功的概率,我自己的设备就是这样打洞的。

所以如果楼主的网络拓扑是一端 symmetric 另一端 port restricted 的话,在后者的设备上写个发包脚本运行,就能提高打洞成功的概率。
delpo
2020-10-29 14:54:00 +08:00
@Divingbear zerotier 的原理是创建了一个虚拟交换机,节点之间通过这个虚拟交换机进行通信,也就是你可以看到叫 ztxxxxx 的网络接口( linux 下),实际上 peer 之间的数据传输是用的 udp 协议。比如你用的 smb,大概就是 tcp over udp 类似的方式。
你可以用 wireshark 之类的抓包软件抓一下包,比如你用的 smb 进行文件下载,就抓 ztxxxxx 网卡上的 445 端口,然后可以看一下 tcp retransmission 的包,如果这样的包过多就说明 udp 丢包率比较高,就会被 tcp 用拥塞控制机制限流。
所以,如果 udp 丢包率不是太高的话,你可以试试多线程下载,或者开启 bbr,可以提高一部分速度。
当然,如果丢包率实在太高那也没办法,只能当作是链路限速了。
Divingbear
2020-11-07 15:13:05 +08:00
@delpo 受益匪浅,虽然只看懂了部分内容,感谢指点。
TcDhl
2021-06-11 15:03:48 +08:00
@whywhywhy
我自己是在国内环境下用 zerotier, 自己弄了两台 moon, 一台是国内机器一台是香港机器, 差不多有用了两年多, 只要两端连接成功, 我印象中还么有中间断开的情况(异地也很稳, 都是用的家庭电信宽带), 而且两端跑的流量不会经过 moon 服务器
impig33
2021-08-02 23:03:38 +08:00
两个相比,tinc 是更好的选择,缺点是不能点对点打洞,带宽跑不满。
justaname
2021-10-23 13:00:12 +08:00
@Chauncey09 frp 只能走中继,大流量传输的时候就很有问题,除非舍得花大价钱买大容量高带宽的 VPS 。虽然有 xtcp 模式,但是一是成功率堪忧二是配置麻烦很多,每次还只能选择性开一个端口,有很多应用你是没法选择固定开哪个端口的。
humbass
2022-05-19 02:50:29 +08:00
zerotier 在电脑运行后,如何通过 zerotier 上网,例如说我在深圳,自建的另外一个节点在上海,如何通过上海的出口上网?

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

https://www.v2ex.com/t/665785

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

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

© 2021 V2EX