tailscale 运行在 nas 的 docker 里面,ip 是 192.168.1.122
配置了 TS_ROUTES=192.168.0.0/23
电脑上装了 tailscale 并且打开了 accept-routes
电脑连另一个不在同一个局域网的 wifi(192.168.50.2),此时访问 192.168.1.122 可以访问到 nas 的桌面,功能一切正常
访问和 nas 处于同一局域网内的中兴路由器 192.168.1.254 不行
docker 和宿主机 nas 按官方文档的教程配置 /etc/sysctl.conf 的 ip forward ,没用
问题出在哪?
![]() |
1
bao3 39 天前
为什么要设置 192.168.0.0/23 ,是有什么特殊的架构的需求吗?
|
![]() |
2
yeizhihui 39 天前
在路由器里写静态路由:192.168.1.0/24 网关写 192.168.50.0/24 网段网关 192.168.1.122 的静态路由;192.168.50.0/24 网关写 192.168.1.0/24 网段网关 192.168.50.2 的静态路由;tailscale 后台开启相应功能.话说我用的 headscale 做后台流程差不多.TS_ROUTES= 这个是通报本网段吧
|
3
chengyecc 39 天前
试试打开 tailscale 的 snat 选项
|
![]() |
4
shakukansp OP 我搜了半天,添加了一个神秘环境变量 TS_DEBUG_FIREWALL_MODE:auto
加上以后解决了…… 由此可知大概是容器里面防火墙配置问题,但是还是没高清少弄了啥 |
![]() |
5
shakukansp OP @bao3 搜了一堆问题,有几个提到同一个内网两个以上 tailscale 会有冲突,按照文档提示加上的,这里不太确定是不是指两个以上的 tailscale 有 advertise-routes
|
![]() |
6
guanzhangzhang 39 天前
@shakukansp #4 首先,你的 ts 是否是 host 网络,是的话用 iptables 的 mode:legacy 和 nf_tables 优先级不一样
|
![]() |
7
shakukansp OP @guanzhangzhang 是 host
|
![]() |
8
guanzhangzhang 39 天前
|
![]() |
9
wyxls 39 天前
我刚好也在研究这问题,现在通过 AI 和搜索引擎找了两个方案,假设子网 A 为 10.36.13.0/24 ,子网 B 为 192.168.31.0/24:
1. 在 tailscale 通过配置 ACL ,针对客户端分组 tag 之后,注释掉默认 accept all ,改为设备到子网的逐一维护允许,比如{"action": "accept", "src": ["tag:A-devices"], "dst": ["B-subnet:*"],} 2. 在 subnet router 那维护静态路由表,比如 B 网关配置 192.168.31.0/23 to 10.36.13.0/24 ,这样局域网内 IP 通过网关访问 B 网,B 网优先级会胜出 |
![]() |
10
shakukansp OP @wyxls 我就是两路网……路由器也不是同一个,没有优先级问题
|
![]() |
11
wyxls 39 天前
@shakukansp tailscale 的 admin console 里,192.168.0.0/23 这个路由表 approve 了没?
|
![]() |
12
shakukansp OP @wyxls approve 了,目前加了 4 楼说的环境变量已经解决
|