1
sirz OP 这么搞的场景是内网设备太多,挨个安装 headscale-cli 过于麻烦,或者有一些设备不支持安装 headscale-cli 的情况。所以需要写路由到 HS_1
|
2
jimmy980352 2023-05-12 11:10:12 +08:00
tailscale 自带子网路由的功能,看看帮助文档应该就可以搞定
|
3
PaperPlanePlus 2023-05-12 11:14:57 +08:00
对端是不是没有回包路由?
|
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 } |
5
ctermiii 2023-05-12 11:20:51 +08:00
需要的是 A 其他设备设置 访问 B 的路由通过 hs_1 , 最简单是 hs 作为网关,其他设备网关指向 hs
|
6
sansam 2023-05-12 11:22:00 +08:00
tailscale 启动的时候配置改节点的网络,例如 192.168.1.0/24 ,然后在 headscale 侧 enable ,其他节点自动获取全网路由信息。
当然你描述的这个故障应该是没有设置回去的路由。 |
7
greenskinmonster 2023-05-12 11:28:39 +08:00
headscale 是管理服务端,整个系统存在一个服务端就好,流量处理是 tailscale 客户端做的,安装也不麻烦吧。
hs_1 那台允许 ip forward 就好 https://tailscale.com/kb/1214/site-to-site/ |
8
tsanie 2023-05-12 11:29:33 +08:00
看了下 tailscale 自带路由功能,安装在两个局域网各自的网关上,启动参数加上 --accept-routes=true --advertise-routes=<各自子网段 /24> 即可。
|
9
fortitudeZDY 2023-05-12 12:48:01 +08:00 via Android
你可能需要在 hs_1 上把到 ts ip 端的流量 snat 到 ts ip 上
|
11
sirz OP |
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 。
|
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
|
16
sirz OP @ronnie9211 这个是 ts 节点广播路由,只有加入了 ts 的设备才能访问到,我的需求是内网设备未加入 ts 的情况下写路由下一跳到 ts 的设备上
|
17
ronnie9211 2023-05-17 09:01:56 +08:00
@sirz HS_1 是什么设备
|
18
sirz OP @ronnie9211 1U 设备,设备是加入了 ts 组网的一台设备,可以访问 ts 其它节点,内网未加入 ts 组网的设备要访问 ts 其它节点时,写路由下一跳到这个 HS_1 设备上,由它来做转发
|
19
garryforreg420 2023-10-05 22:35:34 +08:00
@sirz hs_1 上做 snat 或者在 hs_1 所在的路由器上把回程路由加上,两种都可以
|