UDP 打洞的玄学问题

2022-05-07 19:13:55 +08:00
 qingmuhy0

家里用的移动网,因为没有公网 V4 ,一直在用 zerotier 和 tailscale 组网回家,用了两年了,一直都可以打洞成功,之前 V6 还不屏蔽 443 和 80 ,可以说是过了两年舒服日子。

最近几天先是 V6 的 80 和 443 被屏蔽了,接着 zerotier 打洞也不正常了,现在 zerotier 一直走中转因为没搭建 MOON ,延迟直接 400+(还时不时完全连不上),tailscale 则直接就连不上了。

泉州搞网站白名单,江苏移动也天天整点这玩意。(我啥也没动,应该不是我部署的问题吧。谁晓得呢,都是玄学。)

没有 UDP 打洞的日子好难熬啊,学校宿舍没有 V6 图书馆才有教育网 V6 ,没有 UDP 打洞,V4 速度处于只能听说书的速度了,这是要我以后想追剧去图书馆追的系列嘛,赣!

发帖没啥其他意思,就是有点无语,想吐槽吐槽。

8133 次点击
所在节点    宽带症候群
32 条回复
qingmuhy0
2022-05-07 19:52:10 +08:00
<img src="https://i.qingmuhy.com/i/2022/05/07/w98ich_4.webp" alt="简单图床 - EasyImage" />

即使连上也是这个 ping 值,连 SSH 都卡的很。
jousca
2022-05-07 20:05:40 +08:00
你不跑个 MTR 看看哪一跳路由导致的延迟高?

zerotier 这种玩意儿我都没听说过。一直是自建服务器走 FRP ~~~ 也用过爱快的 SDWAN 。

不花点费用速度起不来。
viberconnection
2022-05-07 20:52:20 +08:00
首先 PO 主需要確認兩邊的 NAT 類型是否是 Full Cone 或者 Address Restrict NAT ,如果任意一側低於上述等級,那麼“打洞”是肯定不會成功的。
除此之外可以修改一下 Listen Port 來試試能否繼續正常直連。將上述程式的默認 PORT 修改爲默認以外的值。
viberconnection
2022-05-07 20:55:52 +08:00
Tailscale 的 DERP 伺服器的 JP 和 SIN 地域均在中國大陸被屏蔽,因此會導致各種不正常。PO 主可以前往網頁控制檯剔除後再試試看。(設定 ACL 規則)

修改爲:

{
"acls": [
{ "action": "accept", "users": ["*"], "ports": ["*:*"] },
],
"derpMap": { "Regions": { "3": null ,"7": null }} // Add This Line In Your config
}
qingmuhy0
2022-05-07 20:59:20 +08:00
@jousca Zerotier MTR 会直接显示就 1 跳,所以不是很好测,如果从 ZeroTier 外部看的话,延迟来自于中转服务器。

因此不同于 FRP 穿透,ZeroTier 和 Tailscale 用 MTR 测试可能没什么意义的。
qingmuhy0
2022-05-07 20:59:38 +08:00
@viberconnection 感谢你的建议,我会尝试这些步骤。
guanzhangzhang
2022-05-07 22:03:04 +08:00
udp2raw 试试
superchijinpeng
2022-05-07 22:31:31 +08:00
自建 Headscale ,使用 Headscale 内置的 DERP ,江苏移动 20ms ,和打洞成功后差不太多
yzwduck
2022-05-08 01:04:51 +08:00
用命令 zerotier-cli peers 可以列出当前连上的 peer 编号、版本、IP 、延迟。
需要 admin (Windows) 或 root (Linux) 权限。
lns103
2022-05-08 01:34:26 +08:00
我学校的电信宽带有公网 v4 ,用了 2 年,最近外网 TCP 入站被掐了,尝试用 zerotier ,流量连接很稳定,但是校园网内 zerotier 会被阻断,用 10s 之后连接就会断(而且还是按照连接建立时间顺序断开,先是鼠标输入失效,然后画面才卡死),但是直连又没问题(主要是使用 NVIDIA 的串流,大部分都是 UDP 流量)
hronro
2022-05-08 02:09:25 +08:00
我这边移动直接给 fullcone NAT ,打洞还没失败过。同城和电信打洞之后延迟大概在 6ms - 9ms 。
i3x
2022-05-08 02:14:34 +08:00
任何一方有 nat1 或者公网即可穿透。nat1 差不多也算是公网型了。虽然只要少数 udp 应用定向支持。
qingmuhy0
2022-05-08 07:52:13 +08:00
@yzwduck
C:\Windows\system32>zerotier-cli peers
200 peers
<ztaddr> <ver> <role> <lat> <link> <lastTX> <lastRX> <path>
35326b513e 1.6.5 LEAF -1 RELAY
62f865ae71 - PLANET -190 DIRECT 718 908 50.7.252.138/9993
778cde7190 - PLANET -426 DIRECT 6492 1872 103.195.103.66/9993
8bd5124fd6 1.8.9 LEAF 502 DIRECT 2312 1808 34.136.112.255/52227
cafe04eba9 - PLANET 434 DIRECT 2062 1012 84.17.53.155/9993
cafe9efeb9 - PLANET -1 DIRECT 11830 1988 104.194.8.134/9993

C:\Windows\system32>ping 192.168.8.2 /t

正在 Ping 192.168.8.2 具有 32 字节的数据:
来自 192.168.8.2 的回复: 字节=32 时间=427ms TTL=63
请求超时。
来自 192.168.8.2 的回复: 字节=32 时间=418ms TTL=63
来自 192.168.8.2 的回复: 字节=32 时间=424ms TTL=63
来自 192.168.8.2 的回复: 字节=32 时间=418ms TTL=63
来自 192.168.8.2 的回复: 字节=32 时间=426ms TTL=63
来自 192.168.8.2 的回复: 字节=32 时间=424ms TTL=63

192.168.8.2 的 Ping 统计信息:
数据包: 已发送 = 7 ,已接收 = 6 ,丢失 = 1 (14% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 418ms ,最长 = 427ms ,平均 = 422ms

今天测试了一下,依然无法打洞成功。
qingmuhy0
2022-05-08 08:06:21 +08:00
@i3x 因为疫情我暂时没办法回去,暂时不是很方便测试家里的 NAT 类型,但学校的是最次的 Symmetric 型。
cinhoo
2022-05-08 08:23:24 +08:00
没自建 controller 前,zerotier 想打通真是太难了,即使有 moon 也不行,因为他就连不上 networkpeer
qingmuhy0
2022-05-08 08:43:15 +08:00
@superchijinpeng 如果不是万恶的 IOS ,这的确是个完美的方案。
863
2022-05-09 00:11:34 +08:00
可能是在同一个 CGNAT 网络下已经有人在使用 TailScale 占用了默认的 41641 端口,可以尝试参考文档 https://tailscale.com/kb/1018/acls/
在 ACL 里加入 randomizeClientPort 随机化端口试试
ungrown
2022-05-10 10:34:05 +08:00
@jousca #2 我和楼主一样是江苏移动+zerotier ,同城连家里设备延迟 30~50ms ,带宽 5~10Mbps ,能达到这种效果的付费方案你给推荐个顺便报个价呗?
ungrown
2022-05-10 10:36:39 +08:00
@qingmuhy0 #13 重启 zerotier one 服务
我就在刚刚发现我 ping 家里设备也是这个鬼样保底 400+ms ,然后我熟练得让人心疼地进任务管理器右键重启 zerotier one 服务,现在再 ping:
ping 10.1.0.103

正在 Ping 10.1.0.103 具有 32 字节的数据:
来自 10.1.0.103 的回复: 字节=32 时间=26ms TTL=128
来自 10.1.0.103 的回复: 字节=32 时间=25ms TTL=128
来自 10.1.0.103 的回复: 字节=32 时间=63ms TTL=128
来自 10.1.0.103 的回复: 字节=32 时间=29ms TTL=128

10.1.0.103 的 Ping 统计信息:
数据包: 已发送 = 4 ,已接收 = 4 ,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 25ms ,最长 = 63ms ,平均 = 35m
v2tudnew
2022-05-10 18:15:17 +08:00
NAT1 也需要端口内外一致,CGNAT 大部分类似 Symmetric 的 Full Cone ,总是有各种各样的问题。

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

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

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

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

© 2021 V2EX