tailscale site to site 设置问题:非 tailscale 客户端添加路由表后无法连接 tailscale 网络 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qsnow6
V2EX    宽带症候群

tailscale site to site 设置问题:非 tailscale 客户端添加路由表后无法连接 tailscale 网络

  •  
  •   qsnow6 2023-08-07 15:35:53 +08:00 2791 次点击
    这是一个创建于 798 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在局域网内 192.168.2.101 上运行了 tailscale ,希望能实现 192.168.2.x 网段内的机器可以在不安装 tilscale 客户端的情况下接入 tailscale 网络。

    按照教程设置: https://tailscale.com/kb/1214/site-to-site/

    这个是 tailscale 网关的命令行: tailscale up --accept-routes --advertise-routes=192.168.2.0/24 --snat-subnet-routes=false --advertise-exit-node

    在没有安装客户端的机器上添加路由表: route -n add -net 100.64.0.0/10 192.168.2.101 route -n add -net 192.168.1.0/24 192.168.2.101 #这个是另一个 LAN 的网段

    添加完后,在没有 tailscale 的客户端无法连接另一个 LAN 192.168.1.2 的 traceroute 记录

    zed@zeddeMac-mini ~ % traceroute 192.168.1.2 traceroute to 192.168.1.2 (192.168.1.2), 64 hops max, 52 byte packets 1 192.168.2.101 (192.168.2.101) 0.564 ms 0.290 ms 0.177 ms 2 100.122.96.133 (100.122.96.133) 9.264 ms 10.946 ms 10.446 ms 3 * * * 

    这是网关 192.168.2.101 连接 192.168.1.2 的 traceroute 记录

    root@debian:~# traceroute 192.168.1.2 traceroute to 192.168.1.2 (192.168.1.2), 30 hops max, 60 byte packets 1 100.122.96.133 (100.122.96.133) 12.245 ms 12.215 ms 12.705 ms 2 192.168.1.2 (192.168.1.2) 13.740 ms 13.970 ms 14.608 ms 

    网关可以连接到另一个 LAN ,但是非 tailscale 客户端的就不行,是缺少什么设置吗

    第 1 条附言    2023-08-07 18:08:15 +08:00
    如果网关使用的是 OpenWRt ,把 Masquerading 打开就好。
    16 条回复    2023-08-08 09:40:05 +08:00
    mmtromsb456
        1
    mmtromsb456  
       2023-08-07 16:37:46 +08:00
    --snat-subnet-routes=false
    为什么会把 srcnat 显式关闭了?正常你从别的机器通过 tailscale client FORWARD 出去需要 srcnat 呀,不然 peer 会找不到回程路由吧
    mmtromsb456
        2
    mmtromsb456  
       2023-08-07 16:44:00 +08:00
    tailscale 给的 s2s 文档关闭这个选项是因为 s2s 场景需要双向互访,但你的需求实际上没有对端 site 回程访问(并且正确添加路由表)的话就得 srcnat 了
    qsnow6
        3
    qsnow6  
    OP
       2023-08-07 17:06:34 +08:00
    @mmtromsb456 #2 我试了下开启,也是不行
    qsnow6
        4
    qsnow6  
    OP
       2023-08-07 17:09:06 +08:00
    @mmtromsb456 #2 但是我从对向 LAN 是可以访问过来的。
    mmtromsb456
        5
    mmtromsb456  
       2023-08-07 17:11:08 +08:00
    转发机器的 ip_forward 都正常开启了吧
    qsnow6
        6
    qsnow6  
    OP
       2023-08-07 17:30:47 +08:00
    @mmtromsb456 #5
    都启用了的
    qsnow6
        7
    qsnow6  
    OP
       2023-08-07 17:34:48 +08:00
    @mmtromsb456 #5
    干!找到问题了,对向的网关是 OpenWRT ,LAN>Tailscale 这里要开启 Masquerading 才可以。

    难怪 traceroute 进入到网关后就没响应了。
    f165af34d4830eeb
        8
    f165af34d4830eeb  
       2023-08-08 00:03:02 +08:00
    op 是配置的旁路由么?

    我有两个 openwrt 网关开启 tailscale 并配置 subnet ,不开启 Masquerading 的情况下两个 subnet 内设备互访是没有问题的。
    f165af34d4830eeb
        9
    f165af34d4830eeb  
       2023-08-08 00:06:06 +08:00
    @f165af34d4830eeb #8

    tailscale 使用参数 -accept-routes --advertise-routes={内网 IP} --advertise-exit-node

    openwrt 上 tailscale 会自动将 ts 设备 ip 及 subnet 网段添加到路由表内,我这边不需要额外配置路由即可实现互访。
    qsnow6
        10
    qsnow6  
    OP
       2023-08-08 00:31:59 +08:00
    OpenWRT 和 debian 11,
    问题出在 deiban->OpenWRT 上,不打开 Masquerading 的情况下无法访问到 LAN 内的设备;但是反向是可以的.
    @f165af34d4830eeb #9
    f165af34d4830eeb
        11
    f165af34d4830eeb  
       2023-08-08 01:50:22 +08:00 via iPhone
    @qsnow6 #10 192.168.2.101 是旁路由么?是旁路由我就没啥好说的了,不是很懂旁路由的搞法。

    顺带一提,#7 的防火墙配置很奇怪。lan 后面那个 masq 打勾不是对 lan -> tailscale 开启 masq ,是给 lan zone 开启 masq ( srcnat+dstnat ),一般情况下不会给 lan zone 开 masq ;至于 wan zone 的三个 accept ,如果是接外网的路由这么干无异于大开家门欢迎黑客(如果是旁路由当我没说)

    反正我个人很讨厌旁路由这种畸形的玩意。我这边 op 做主路由的情况下,ts 会自动将其它 subnet 加入到路由表中,跨 subnet 互访不需要 nat ,保留了原始 ip ; ts 下设备访问其它 subnet 下非 ts 的设备也是正常的。
    qsnow6
        12
    qsnow6  
    OP
       2023-08-08 09:03:38 +08:00
    192.168.2.101 是旁路由。
    防火墙配置感谢提建议,我把 wan zone 的 Forward 关了试试,这个原本是关了的。
    qsnow6
        13
    qsnow6  
    OP
       2023-08-08 09:03:45 +08:00
    qsnow6
        14
    qsnow6  
    OP
       2023-08-08 09:05:25 +08:00
    关了好像也不影响访问,感谢提醒
    @f165af34d4830eeb #11
    f165af34d4830eeb
        15
    f165af34d4830eeb  
       2023-08-08 09:36:55 +08:00 via iPhone   1
    @qsnow6 #14 wan zone 一般开个出站 accept 就行,入站和 forward 用 drop/refuse 就好。原因是很多程序用的 0.0.0.0 当监听地址,你要是开了入站 accept 容易被扫端口。
    f165af34d4830eeb
        16
    f165af34d4830eeb  
       2023-08-08 09:40:05 +08:00 via iPhone
    @f165af34d4830eeb #15
    refuse-> reject
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     912 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 20:58 PVG 04:58 LAX 13:58 JFK 16:58
    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