UDP 打洞的玄学问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qingmuhy0
V2EX    宽带症候群

UDP 打洞的玄学问题

  •  
  •   qingmuhy0 2022-05-07 19:13:55 +08:00 10013 次点击
    这是一个创建于 1256 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    本来还想截个 zerotier 截图的 结果直接连上了

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

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

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

    32 条回复    2023-06-24 22:30:55 +08:00
    qingmuhy0
        1
    qingmuhy0  
    OP
       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
        2
    jousca  
       2022-05-07 20:05:40 +08:00
    你不跑个 MTR 看看哪一跳路由导致的延迟高?

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

    不花点费用速度起不来。
    a8Fy37XzWf70G0yW
        3
    a8Fy37XzWf70G0yW  
       2022-05-07 20:52:20 +08:00
    首先 PO 主需要的 NAT 型是否是 Full Cone 或者 Address Restrict NAT ,如果任意一低於上述等,那“打洞”是肯定不成功的。
    除此之外可以修改一下 Listen Port 能否正常直。上述程式的默 PORT 修改默以外的值。
    a8Fy37XzWf70G0yW
        4
    a8Fy37XzWf70G0yW  
       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
        5
    qingmuhy0  
    OP
       2022-05-07 20:59:20 +08:00
    @jousca Zerotier MTR 会直接显示就 1 跳,所以不是很好测,如果从 ZeroTier 外部看的话,延迟来自于中转服务器。

    因此不同于 FRP 穿透,ZeroTier 和 Tailscale 用 MTR 测试可能没什么意义的。
    qingmuhy0
        6
    qingmuhy0  
    OP
       2022-05-07 20:59:38 +08:00
    @viberconnection 感谢你的建议,我会尝试这些步骤。
    guanzhangzhang
        7
    guanzhangzhang  
       2022-05-07 22:03:04 +08:00
    udp2raw 试试
    superchijinpeng
        8
    superchijinpeng  
       2022-05-07 22:31:31 +08:00   1
    自建 Headscale ,使用 Headscale 内置的 DERP ,江苏移动 20ms ,和打洞成功后差不太多
    yzwduck
        9
    yzwduck  
       2022-05-08 01:04:51 +08:00
    用命令 zerotier-cli peers 可以列出当前连上的 peer 编号、版本、IP 、延迟。
    需要 admin (Windows) 或 root (Linux) 权限。
    lns103
        10
    lns103  
       2022-05-08 01:34:26 +08:00 via Android
    我学校的电信宽带有公网 v4 ,用了 2 年,最近外网 TCP 入站被掐了,尝试用 zerotier ,流量连接很稳定,但是校园网内 zerotier 会被阻断,用 10s 之后连接就会断(而且还是按照连接建立时间顺序断开,先是鼠标输入失效,然后画面才卡死),但是直连又没问题(主要是使用 NVIDIA 的串流,大部分都是 UDP 流量)
    hronro
        11
    hronro  
       2022-05-08 02:09:25 +08:00 via iPhone
    我这边移动直接给 fullcone NAT ,打洞还没失败过。同城和电信打洞之后延迟大概在 6ms - 9ms 。
    i3x
        12
    i3x  
       2022-05-08 02:14:34 +08:00 via Android
    任何一方有 nat1 或者公网即可穿透。nat1 差不多也算是公网型了。虽然只要少数 udp 应用定向支持。
    qingmuhy0
        13
    qingmuhy0  
    OP
       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
        14
    qingmuhy0  
    OP
       2022-05-08 08:06:21 +08:00
    @i3x 因为疫情我暂时没办法回去,暂时不是很方便测试家里的 NAT 类型,但学校的是最次的 Symmetric 型。
    cinhoo
        15
    cinhoo  
       2022-05-08 08:23:24 +08:00 via Android
    没自建 controller 前,zerotier 想打通真是太难了,即使有 moon 也不行,因为他就连不上 networkpeer
    qingmuhy0
        16
    qingmuhy0  
    OP
       2022-05-08 08:43:15 +08:00
    @superchijinpeng 如果不是万恶的 IOS ,这的确是个完美的方案。
    863
        17
    863  
       2022-05-09 00:11:34 +08:00   5
    可能是在同一个 CGNAT 网络下已经有人在使用 TailScale 占用了默认的 41641 端口,可以尝试参考文档 https://tailscale.com/kb/1018/acls/
    在 ACL 里加入 randomizeClientPort 随机化端口试试
    ungrown
        18
    ungrown  
       2022-05-10 10:34:05 +08:00
    @jousca #2 我和楼主一样是江苏移动+zerotier ,同城连家里设备延迟 30~50ms ,带宽 5~10Mbps ,能达到这种效果的付费方案你给推荐个顺便报个价呗?
    ungrown
        19
    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
    Overfill3641
        20
    Overfill3641  
       2022-05-10 18:15:17 +08:00
    NAT1 也需要端口内外一致,CGNAT 大部分类似 Symmetric 的 Full Cone ,总是有各种各样的问题。
    hbytw1
        21
    hbytw1  
       2022-05-11 11:01:15 +08:00
    建议 zerotier 自建 planet 节点,抛开官方的 planet ,完全走国内,使用快一年了,一直很稳定。
    sorapsyga
        22
    sorapsyga  
       2022-05-11 14:40:56 +08:00
    @yuantianwei 非常同意,我是前几个月才自建的 PLANET ,目前唯一缺陷就是 IOS 端因为无法替换 PLANET 文件所以连不上以外,其余的各个成员连起来都非常流畅。广东广州佛山这边的移动基本都是辣鸡 Symmetric ,我看了一下基本都是通过服务器转发流量的,但是我电信 PING 过去延迟也就 10ms 上下。这个方案也就只需要搞一台腾讯云或者阿里云的轻量服务器而已,费用大概 40 一个月
    ungrown
        23
    ungrown  
       2022-05-12 09:41:38 +08:00
    @yuantianwei #21 自建的 planet 是只能私用不会加入整个 zt 的节点网中吗
    hbytw1
        24
    hbytw1  
       2022-05-12 12:55:08 +08:00
    @ungrown 自建的不加入官方的根服务器,完全解除设备和网络限制,就是自己想带多少客户端都可以,建几个网络也可以。终端也不在去找官方的根服务器进行连接了。
    ithz
        25
    ithz  
       2022-05-13 10:36:47 +08:00
    这个 zerotier 相对 N2N 有什么优势,有没有大佬说说,我一直在用 N2N 自建 superNode
    smallthing
        26
    smallthing  
       2022-11-26 03:44:52 +08:00
    @sorapsyga 我采用的是用 IOS 用 vpn 拨入一个节点
    rayray314
        27
    rayray314  
       2022-12-10 10:38:48 +08:00
    @863 用了这个方法几乎从看脸到每次秒打洞成功!感谢。
    rayray314
        28
    rayray314  
       2022-12-10 10:39:21 +08:00
    @863 “在 ACL 里加入 randomizeClientPort 随机化端口试试”用了这个方法几乎从看脸到每次秒打洞成功!感谢。
    imlk
        29
    imlk  
       2022-12-19 15:28:56 +08:00
    @rayray314 randomizeClientPort 这个选项似乎会让每个 tailscale 客户端忽略其本身启动时指定的--port 参数,因此我觉得是一种不太好的选择,对于网络中某些处于防火墙之后的客户端来说
    rayray314
        30
    rayray314  
       2022-12-25 22:06:14 +08:00
    @imlk 对啊,字面意思就是随机客户端端口。至于好处或坏处,我理解这种打洞并不是非法 BYPASS 防火墙,而是合理利用了防火墙允许的机制。
    cjydawn
        31
    cjydawn  
       2023-02-07 10:23:45 +08:00
    @863 #17 随机化端口确实解决了问题
    cowman
        32
    cowman  
       2023-06-24 22:30:55 +08:00
    @863 感谢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1194 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 23:33 PVG 07:33 LAX 16:33 JFK 19:33
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86