
1 Midnight 340 天前 你想过为什么 a 、b 可以直连吗? |
2 skyrocketing 340 天前 自己搭建服务器就可以实现 B 中转 |
4 R4rvZ6agNVWr56V0 340 天前 那要通过 B 做 routing 啊。 实现起来太麻烦了(也不安全 + 没必要考虑天朝特色 LAN 、QOS 、网间结算等特色菜谱)。 |
5 ZeroClover 340 天前 特定于你的情况,你应该用 Tailscale 的 Subnet Router 回到问题来看,就是 Tailscale 要保持简单,始终都是两个 Peer 之间的点对点连接而不依赖于其他对等体。这个中转的职责本身就是分配给 DERP 的。 |
6 zhj9709 OP @ZeroClover subroute 只能单向 A -> B -> C ,但不能 C -> B -> A |
7 LinYaXuan 340 天前 tailscale 的 github 上 issue 里有人提过这个需求,官方回复是“不会提供类似洋葱网络的服务”。 我的需求更复杂一点,B 和 C 也不是内网,但是 B 的 NAT 容易打洞,所以 AB 、BC 都能直连。 我现在一般用 ssh 映射端口手动从 B 中转。 |
8 SenLief 340 天前 你在 B 上架设 derp 不就完事了。 |
9 PatchouliTC 340 天前 因为 ts 本身是基于 wireguard 的网状虚拟网络,你可以理解是一个 wireguard 带了一大堆附加功能 [DNS,net,中心分发密钥,中心协商连接状态,中心授权认证] ,在标准 wireguard 里面所有设备都是平等的,即便互相连接也只是确保你我之间能连接,但是你他之间怎么连不管我事情。 如果你一定要中转,你可以在基于 tailscale 的虚拟网络内再搭建一个转发隧道[比如三台主机的 ts 地址是 100.1,100.2,100.3 ,你可以自己在这个基础上跳一个转发协定比如 100.1 走 100.2 的中转去 100.3]这样是可行的 [又称隧道套套乐,此事在隔壁 v2ray over wireguard 亦有记载] 但毕竟 ts 已经有一个 derp 功能了,为啥不直接搓一个中转服务完事 |
10 loveyu 339 天前 via Android 所以我放弃使用 ts 了 |
11 rick13 339 天前 via iPhone 可以设置 subnet router |
12 yolee599 339 天前 via Android @zhj9709 #6 如果 B 是一个网关,是可以的。 简单来说就是把 tailscale 安装到网关上,然后 subroute 配置子网,就可以直接用子网 ip 地址联通。 |
13 dream0689 339 天前 via iPhone |
14 loveyu 339 天前 via Android @dream0689 我拿 ts 做后备计划了,不做任何子网,单纯有个 ip ,其他线路故障时才用来应急。加上 qos 原因,udp 速度奇慢。还有官方一直不加上网卡排除的功能,导致路由不合理,双重隧道。总之花了大量时间,越用越心烦 |
15 ayudidiisok 339 天前 via Android 嗯 |
16 qingshengwen 339 天前 目测你这个是 A 和 C 两边都写一条静态路由就能搞定的事情,而且你这个 C 因为跟 B 在同一个局域网,根本就不需要装 tailscale |
17 zhj9709 OP @PatchouliTC derp 需要公网吧 |
18 Andrue 339 天前 你要的这个功能 easyrier 实现了 |
19 Andrue 339 天前 |
20 PatchouliTC 338 天前 @zhj9709 整台云主机就行,国内中小厂有些主机带宽流量给的还可以,不然就隧道套隧道或者手动写静态路由和相关转发规则 |
21 beyondstars 336 天前 A B 可以直连是因为 Derp 判断 A B 可以直连,B C 可以直连是因为 Derp 判断 B C 可以直连,A C 不能直连是因为 Derp 判断 A C 不能直连(和有没有 B 没有关系)。 Derp 判断任意 x y 是否可以直连的方法: 1. 是否都有公网 IP(v4, v6) 2. UDP 打洞能否成功 3. EasyNat 还是 HardNat 4. 以及其它的一些启发式的方式。 (手打,不是 LLM 生成,谢谢。) 我猜可能是引入这个 B 节点(或者其它节点)后,计算量变大了,tailscale 的控制节点算不过来?毕竟这么多用户共用有限的 tailscale 控制节点。 |