headscale 组网问题求教 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题复制粘贴 AI 生成的内容
sirz
V2EX    程序员

headscale 组网问题求教

  •  
  •   sirz 2023-05-12 10:26:12 +08:00 3004 次点击
    这是一个创建于 886 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在局域网 A 中有一台加入了 headscale 的设备,目前能够正常访问局域网 B 中的其它节点(暂称 HS_1 )

    目前的需求是:局域网 A 的其它普通设备通过 HS_1 访问到局域网 B 的节点

    配置:在路由器上配置了静态路由,100.64.0.0/24 -> 下一跳 HS_1
    ( 100.64.0.0 是 headscale 的虚拟局域网段)

    目前情况:普通设备访问 100.64.0.0/24 下一跳到 HS_1 ,HS_1 也能抓到请求包,但是没有回包,在局域网 B 的隧道口也抓不到包
    19 条回复    2023-10-05 22:35:34 +08:00
    sirz
        1
    sirz  
    OP
       2023-05-12 10:33:25 +08:00
    这么搞的场景是内网设备太多,挨个安装 headscale-cli 过于麻烦,或者有一些设备不支持安装 headscale-cli 的情况。所以需要写路由到 HS_1
    jimmy980352
        2
    jimmy980352  
       2023-05-12 11:10:12 +08:00
    tailscale 自带子网路由的功能,看看帮助文档应该就可以搞定
    PaperPlanePlus
        3
    PaperPlanePlus  
       2023-05-12 11:14:57 +08:00
    对端是不是没有回包路由?
    tsanie
        4
    tsanie  
       2023-05-12 11:20:14 +08:00
    tailscale 不太清楚,zerotier 除了需要添加 route 之外还需要对流量进行 nat ,例如

    chain forward {
    type filter hook forward priority filter; policy drop;
    iifname "ztly53basn" accept
    oifname "ztly53basn" accept
    }

    chain srcnat {
    type nat hook postrouting priority srcnat; policy accept;
    meta nfproto ipv4 oifname "ztly53basn" masquerade
    }
    ctermiii
        5
    ctermiii  
       2023-05-12 11:20:51 +08:00
    需要的是 A 其他设备设置 访问 B 的路由通过 hs_1 , 最简单是 hs 作为网关,其他设备网关指向 hs
    sansam
        6
    sansam  
       2023-05-12 11:22:00 +08:00
    tailscale 启动的时候配置改节点的网络,例如 192.168.1.0/24 ,然后在 headscale 侧 enable ,其他节点自动获取全网路由信息。
    当然你描述的这个故障应该是没有设置回去的路由。
    greenskinmonster
        7
    greenskinmonster  
       2023-05-12 11:28:39 +08:00
    headscale 是管理服务端,整个系统存在一个服务端就好,流量处理是 tailscale 客户端做的,安装也不麻烦吧。
    hs_1 那台允许 ip forward 就好

    https://tailscale.com/kb/1214/site-to-site/
    tsanie
        8
    tsanie  
       2023-05-12 11:29:33 +08:00
    看了下 tailscale 自带路由功能,安装在两个局域网各自的网关上,启动参数加上 --accept-routes=true --advertise-routes=<各自子网段 /24> 即可。
    fortitudeZDY
        9
    fortitudeZDY  
       2023-05-12 12:48:01 +08:00 via Android
    你可能需要在 hs_1 上把到 ts ip 端的流量 snat 到 ts ip 上
    sirz
        10
    sirz  
    OP
       2023-05-12 14:46:06 +08:00
    @ctermiii hs 作为网关也试过,也是没有回包
    sirz
        11
    sirz  
    OP
       2023-05-12 14:47:15 +08:00
    @jimmy980352
    @greenskinmonster
    谢谢,这个看起来是解决方案,待会试下
    sirz
        12
    sirz  
    OP
       2023-05-12 14:48:22 +08:00
    @tsanie 谢谢,话说 zerotier 体验怎么样
    tsanie
        13
    tsanie  
       2023-05-12 16:32:14 +08:00
    @sirz 我的网络环境下 zerotier 体验还不错,偶尔有打不通的时候就还 tailscale ,算是两手准备。
    wolfmei
        14
    wolfmei  
       2023-05-12 22:54:35 +08:00
    假如你 tailscale 客户端在通局域网 A 同事能访问局域网 B, 然后在 tailscale 客户端在 headscale 注册的时候加上 --advertise-routes=<局域网 B 的网段> /24 ,注册成功之后,在 headscale 那边使用 headscale routes enable 命令来启动路由,这样其他 headscale 里面的客户端就可以通过之前客户端的路由来访问局域网 B 。
    ronnie9211
        15
    ronnie9211  
       2023-05-16 09:46:20 +08:00
    tailscale up --login-server=XXXX --accept-routes=true --accept-dns=false --advertise-routes=192.168.X.X/24
    sirz
        16
    sirz  
    OP
       2023-05-16 18:00:05 +08:00
    @ronnie9211 这个是 ts 节点广播路由,只有加入了 ts 的设备才能访问到,我的需求是内网设备未加入 ts 的情况下写路由下一跳到 ts 的设备上
    ronnie9211
        17
    ronnie9211  
       2023-05-17 09:01:56 +08:00
    @sirz HS_1 是什么设备
    sirz
        18
    sirz  
    OP
       2023-05-17 10:49:12 +08:00
    @ronnie9211 1U 设备,设备是加入了 ts 组网的一台设备,可以访问 ts 其它节点,内网未加入 ts 组网的设备要访问 ts 其它节点时,写路由下一跳到这个 HS_1 设备上,由它来做转发
    garryforreg420
        19
    garryforreg420  
       2023-10-05 22:35:34 +08:00
    @sirz hs_1 上做 snat 或者在 hs_1 所在的路由器上把回程路由加上,两种都可以
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2972 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 00:21 PVG 08:21 LAX 17:21 JFK 20:21
    Do have faith in what you're doing.
    ubao 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