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

Tailscale 组网,出口在云端,本地软路由的参数要怎么配置呢?

  •  
  •   dream0689 · 20 天前 via iPhone · 998 次点击
    折腾了一整晚尝试用 tailscale 组网穿透,最后只实现了本地出口。

    一、已执行的部署
    1.云端虚拟机 exit node 部署,手机端用数据流量模拟外网能选择云端作为出口。
    2.本地软路由 openwrt 已配置旁路由模式,启用 exit node 模式,手机端同样用数据流量模拟外网能正常出口,手机端访问本地局域网 192.168.0.0/24 所有设备正常。

    二、想要实现的部署
    1.把云端虚拟机作为本地软路由的出口的同时,可以无障碍访问 192.168.0.0/24 局域网设备。
    2.192.168.0.0/24 的局域网设备可以通过 openwrt 的配置指定访问部分外网地址,而其他地址从本地出口。
    16 条回复    2025-01-18 19:09:14 +08:00
    SenLief
        1
    SenLief  
       20 天前
    需要配置一下 iptables,搜一下
    dream0689
        2
    dream0689  
    OP
       20 天前 via iPhone
    @SenLief 搜了很多,也问了 chatgpt ,最后还是没调成功。
    leon2023
        3
    leon2023  
       20 天前
    Tailscale 组网速度多快
    dream0689
        4
    dream0689  
    OP
       19 天前 via iPhone
    @leon2023 基本上是本地上行出口带宽跑满。我现在主要是想把出口整到国内云虚拟机上,上下行一致,感觉稳定性也会比本地好。
    FlintyLemming
        5
    FlintyLemming  
       19 天前
    服务器要想访问家里的内网得配子网路由
    https://tailscale.com/kb/1019/subnets

    家里内网要做分流不好做,ros 我知道怎么做,可以导入一个 ASN 列表,然后在 防火墙-mangle 做分流
    dream0689
        6
    dream0689  
    OP
       19 天前 via iPhone
    @FlintyLemming 我在本地 openwrt 配了子网路由+云端虚拟机出口参数,直接把本地局域网整瘫了,连本地 openwrt 都访问不了了,all in one exsi 主机也失联了,调测时没有直通网卡。我把账户里的本地 openwrt 移除,再重启 exsi ,重置 openwrt tailscale 参数网络才恢复。不知道 tailsale 子网路由+远端出口,能不能同时配。
    SenLief
        7
    SenLief  
       12 天前
    @dream0689 上次我看到你有发帖来着,后来没找到了,你的远端虚拟机是阿里云嘛?如果是阿里云的话 up 的时候需要添加一个参数,就是那个 netfilter ,要不整个机器的 dns 都有问题,我之前一直以为是自身机器的问题,后来查到不是,是因为阿里云内部使用了 100.100.x.x 那个网段。
    dream0689
        8
    dream0689  
    OP
       12 天前 via iPhone
    @SenLief dns 可以用--accept-dns=false 这个参数解决。我遇到的是不管是远端还是本地 linux ,只要用--exit-node=tailscale 子网内的其他宣告自己为 exit-node 设备,立即就与原本的设备子网脱联了,但是所有加入 tailscale 的设备能够用分配的 ip 访问这个设备。
    SenLief
        9
    SenLief  
       12 天前
    @dream0689 这个是这样的,你需要自己处理路由,我也是失联用 vnc ,后面就没搞了,反正也很少用到,好像有个脚本可以处理这个问题。
    dream0689
        10
    dream0689  
    OP
       12 天前 via iPhone
    @SenLief 我试了那个让设备子网强制路由走 main 表的代码,但是问题依旧,最后就放弃了折腾了。
    SenLief
        11
    SenLief  
       12 天前
    @dream0689 配置了 exitnode 后,就会启用 tailscale0 的虚拟网卡,但是路由好像有问题,我之前搜的时候 curl -sL 'https://raw.githubusercontent.com/vanplus/snippets/main/setup-gateway-guard.sh' | bash 说这个教程可以解决,不过我不用,我就没有尝试了。
    dream0689
        12
    dream0689  
    OP
       12 天前 via iPhone
    @SenLief 这个问题好像确实很小众,感谢你的分享。
    SenLief
        13
    SenLief  
       12 天前
    @dream0689 我那次也是国内机器更新太慢了,想穿回家更新,结果挂掉了,后面 vnc 关掉才上去,不过一般来说配置出口这个大多应该发生在移动设备上。
    PatchouliTC
        14
    PatchouliTC  
       12 天前
    你这个需求确实小众,相当于说要求允许一个虚拟网络里
    节点 A 申明自己为出口节点,同时接受来自节点 B 宣言的额外子网
    节点 B 宣言自己支持的额外子网,同时接受节点 A 的出口节点
    单纯的 ts 弄的话很麻烦,但是可以退而求其次,将节点 A 视为局域网代理,节点 B 进行转发规则处理然后走局域网代理,类似于 NS PS 主机等设备流量走 PC 的各类加速器;
    节点 A 作为云服务器申明出口节点并接受 B 宣言的额外子网,这个没啥问题
    在节点 A 上部署一个 v2ray server,指定一个端口如 30000 监听并转发 freedom
    节点 B 上宣言自己支持的额外子网,然后配置相关流量转发规则,相关流量转发到节点 A 的<ts-ip>:30000
    PatchouliTC
        15
    PatchouliTC  
       11 天前
    或者考虑 ospf bgp 那些动态路由协议,tailscale 该怎么设置怎么设置。
    唯一注意一点就是 tailscale 会丢弃组播包所以直接在 tailscale 节点上跑动态路由协议会发现不了彼此,得在 ts 上加一层 gre 或者 wireguard 然后在加的这层接口上进行 ospf
    dream0689
        16
    dream0689  
    OP
       11 天前 via iPhone
    @PatchouliTC 多谢解答,我摸索一下。不想整得太复杂,远端出口主要是想解决临时带宽需求受限于本地上行不足的问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   706 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:21 · PVG 05:21 · LAX 13:21 · JFK 16:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.