经过路由器 shellclash 的 UDP 透明代理后, PC 的 zerotier 显示 offline 了

301 天前
 SuperMaxine
起因是工位有线网限速 10Mbps ,但是计算服务器不限速,所以在服务器个人空间里起了个 SS ,在工位的路由器上通过 shellclash 透明代理将流量转发过去,算是破解了限速。


但是发现 PC 和家里异地组网的 zerotier 貌似没有被成功代理,和家里主机测速依然是被限速的状态,clash 管理面板里也看不到连接和流量。突然想起来 zerotier 是 UDP 传输的,而 shellclash 提供的运行模式默认是第一种只代理 TCP ,如下:

1 Redir 模式: Redir 转发 TCP ,不转发 UDP
2 混合模式: Redir 转发 TCP ,Tun 转发 UDP
4 Tun 模式: 使用 Tun 转发 TCP&UDP(占用高)
8 纯净模式: 不设置流量转发


所以兴冲冲地尝试切换成了 2 和 4 ,结果发现无论哪种都会导致 zerotier-cli info 显示 offline ,listpeers 也都是"--"获取不到地址。后来还尝试了将 zerotier 的虚拟网段添加进"自定义透明路由 ipv4 网段",但是也没什么效果。想求助一下各位大手子有没有办法解决🙏
1891 次点击
所在节点    宽带症候群
19 条回复
mohumohu
301 天前
你要先确认你的用的服务端支持 udp 代理。其次,既然是内网,就没必要用 ss 这种协议,直接用 L3 隧道比如 openvpn 就行。
SuperMaxine
301 天前
@mohumohu 感谢提供新的排查思路,我确实还没有想到可能是服务端不支持或者没有开启 udp 转发🙏没有用 openvpn 主要是因为服务器账户没有 sudo 权限,安装各种东西都比较困难,而 v2ray 用得比较熟了,手头现成的二进制文件拷过去就能用😂
superchijinpeng
301 天前
@SuperMaxine 直接 docker 启
cq65617875
301 天前
@SuperMaxine 编译一个静态的 openvpn 只要他有 tun 就能用
neroxps
301 天前
话说单位能让你随随便便在服务器个人空间里搭一个 openvpn 回家?

SS 还能有隐匿性,混淆下一般防火墙识别不出来(或者识别错成其他流量)

openvpn 立马就发现了吧?
mohumohu
301 天前
@neroxps 你理解错了,搭 vpn 是内网,连回家的是 zerotier 。zerotier 是端到端加密
yuchenr
301 天前
我觉的可能和 shellclash 的白名单端口有关。
如果有可能建议直接跑 clash 的内核。
neroxps
301 天前
@mohumohu 加密是加密,但是特征明显啊,公司出口防火墙就看到 openvpn 协议 这个 ip 地址,审计日志亮蹭蹭的,每月打印报表。一查就是你。🤣
mohumohu
301 天前
@neroxps 都说是内网链接了,怎么出口防火墙
neroxps
301 天前
@mohumohu 但是发现 PC 和家里异地组网的 zerotier 貌似没有被成功代理


我收楼主回家用 vpn
mohumohu
301 天前
@neroxps openvpn 说的就是内网连内网比如 10.0.0.2 连 10.0.0.3 ,解除他局域网上网限速用的,连回家的是 zerotier 不是 openvpn
neroxps
301 天前
@mohumohu zerotier 底层 是 wg 一样的。
mohumohu
301 天前
@neroxps zerotier 底层不是 wg ,跟 wg 也没有关系。
neroxps
301 天前
@mohumohu 哦 我记错了 以为是 tailscale zerotier 有特征混淆的功能?
ConDuseW
295 天前
说几种猜测吧
1 、SS 服务端未开启 udp 代理
2 、路由器
ConDuseW
295 天前
说几种猜测吧
1 、SS 服务端未开启 udp 代理
2 、路由器没有 kmod-tun 模块
3 、工位到服务器 udp 不通

其中 2 的可能性最大,因为我用过小米的就是这样,需要手动安装 tun 模块才行。
SuperMaxine
189 天前
抱歉挖个坟,今天又与工位网络搏斗了一天,偶然间发现 shellclash 更新了小米路由器 TUN 模式补丁,现在 zerotier 能够正常组网了,在 web-ui 面板里也能看到一些 udp 记录了。

但是非常奇怪的是,除了 zerotier 的 udp 流量看起来都能被正常代理(比如 finalshell 疯狂对 5.5.5.5:5555 发起的连接,还有一些不知道是什么的小服务)他们的 Chains 都能正常显示 [GLOBAL (因为我 Mode 设为了全局)/代理服务器配置名] 。

但是所有 zerotier 流量的的 Chains 依然显示 DIRECT ,之所以能看出来是 zerotier 的流量,是因为这些地址都是在 listpeers 中能看到的 peers 的真实地址。

实在是百思不得其解😂
SuperMaxine
189 天前
最搞笑的是,在连接中把 udp 连接全都终止掉,再重新建立的连接的 Chains 都显示被代理了,但是与家里主机测速还是稳定卡在限速上限上😂确实是没招了,看到有地方的博客说 shellclash 无法代理直接 IP 请求的 udp 连接,不知道是真的假的
Wait845
34 天前
楼主解决了吗,也遇到这个问题了。每个模式都试了,有的模式 zerotier 可用,但是又会导致 docker 容器 tcp 流量无法出站。总之无论哪个模式都不能让 zerotier 和 docker 同时使用

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

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

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

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

© 2021 V2EX