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

关于 tailscale 的一些疑问

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

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