关于 tailscale 的一些疑问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhj9709
V2EX    宽带症候群

关于 tailscale 的一些疑问

  •  
  •   zhj9709 340 天前 3986 次点击
    这是一个创建于 340 天前的主题,其中的信息可能已经有所发展或是发生改变。
    A B 可以直连,B C 可以直连,为什么 A C 不能通过 B 中转连接,而是要通过 derp 服务器?
    21 条回复    2025-01-20 17:49:00 +08:00
    Midnight
        1
    Midnight  
       340 天前
    你想过为什么 a 、b 可以直连吗?
    skyrocketing
        2
    skyrocketing  
       340 天前
    自己搭建服务器就可以实现 B 中转
    zhj9709
        3
    zhj9709  
    OP
       340 天前
    @Midnight 我只知道 A,B 都有 ipv6 就可以直连 ,主要是 C 没有 ipv6 ,但跟 B 是同一个局域网
    R4rvZ6agNVWr56V0
        4
    R4rvZ6agNVWr56V0  
       340 天前
    那要通过 B 做 routing 啊。 实现起来太麻烦了(也不安全 + 没必要考虑天朝特色 LAN 、QOS 、网间结算等特色菜谱)。
    ZeroClover
        5
    ZeroClover  
       340 天前
    特定于你的情况,你应该用 Tailscale 的 Subnet Router

    回到问题来看,就是 Tailscale 要保持简单,始终都是两个 Peer 之间的点对点连接而不依赖于其他对等体。这个中转的职责本身就是分配给 DERP 的。
    zhj9709
        6
    zhj9709  
    OP
       340 天前
    @ZeroClover subroute 只能单向 A -> B -> C ,但不能 C -> B -> A
    LinYaXuan
        7
    LinYaXuan  
       340 天前   1
    tailscale 的 github 上 issue 里有人提过这个需求,官方回复是“不会提供类似洋葱网络的服务”。
    我的需求更复杂一点,B 和 C 也不是内网,但是 B 的 NAT 容易打洞,所以 AB 、BC 都能直连。
    我现在一般用 ssh 映射端口手动从 B 中转。
    SenLief
        8
    SenLief  
       340 天前
    你在 B 上架设 derp 不就完事了。
    PatchouliTC
        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 功能了,为啥不直接搓一个中转服务完事
    loveyu
        10
    loveyu  
       339 天前 via Android
    所以我放弃使用 ts 了
    rick13
        11
    rick13  
       339 天前 via iPhone
    可以设置 subnet router
    yolee599
        12
    yolee599  
       339 天前 via Android
    @zhj9709 #6 如果 B 是一个网关,是可以的。
    简单来说就是把 tailscale 安装到网关上,然后 subroute 配置子网,就可以直接用子网 ip 地址联通。
    dream0689
        13
    dream0689  
       339 天前 via iPhone
    @loveyu 我一直没整好远端出网这个需求,找了一圈发现是 tailscale 在 linux 系统里的路由强制走 52 表,比 main 表优先级高,从而导致与设备所在的子网脱联。这个问题在 windows 系统里不存在。最后还是用了原版的 wg ,ts 就只是用来做内网互联了。
    t/1103873
    loveyu
        14
    loveyu  
       339 天前 via Android
    @dream0689 我拿 ts 做后备计划了,不做任何子网,单纯有个 ip ,其他线路故障时才用来应急。加上 qos 原因,udp 速度奇慢。还有官方一直不加上网卡排除的功能,导致路由不合理,双重隧道。总之花了大量时间,越用越心烦
    ayudidiisok
        15
    ayudidiisok  
       339 天前 via Android
    qingshengwen
        16
    qingshengwen  
       339 天前
    目测你这个是 A 和 C 两边都写一条静态路由就能搞定的事情,而且你这个 C 因为跟 B 在同一个局域网,根本就不需要装 tailscale
    zhj9709
        17
    zhj9709  
    OP
       339 天前
    @PatchouliTC derp 需要公网吧
    Andrue
        18
    Andrue  
       339 天前
    你要的这个功能 easyrier 实现了
    Andrue
        19
    Andrue  
       339 天前
    PatchouliTC
        20
    PatchouliTC  
       338 天前
    @zhj9709 整台云主机就行,国内中小厂有些主机带宽流量给的还可以,不然就隧道套隧道或者手动写静态路由和相关转发规则
    beyondstars
        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 控制节点。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     927 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 20:52 PVG 04:52 LAX 12:52 JFK 15:52
    Do have faith in what you're doing.
    ubao msn 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