PC1 群晖 PC2 Linux PC3 Win11
三台机器在同一个局域网,在PC3
通过局域网 IP 浏览PC1
的共享文件夹(\\192.168.100.3\xxx
),然后拷贝文件,结果速度只有 20M ,去 tailscale 的管理页面,关闭 PC2 的Subnet routes
后恢复正常(100M+)。
我是不是哪里搞错了?
PC 2 关闭 Subnet routes,pc3 到 pc3的路由:
1 <1 毫秒 <1 毫秒 <1 毫秒 desktop-pc [192.168.100.3]
PC 2 打开Subnet routes,pc3 到 pc3的路由:
1 2 ms <1 毫秒 <1 毫秒 pc2.tail7e926.ts.net. [100.83.60.134]
2 <1 毫秒 <1 毫秒 <1 毫秒 desktop-pc [192.168.100.3]
也就是报文多了一跳,要经过PC2中转。
1
wwppp 2023-06-25 17:04:54 +08:00
本来就在同一个局域网内,使用的时候 PC3 就关闭 tailscale 呗,直连不香吗
|
2
cnbatch 2023-06-25 17:38:40 +08:00
既然已经都在同一个局域网内了,就没必要开启 tailscale 了吧
|
3
gy911201 2023-06-25 17:42:05 +08:00
有一个小技巧,就是把 advertise-routes 声明成 /23 的范围,这样也就不需要开开关关了,缺点就是有可能覆盖到别的不应该覆盖的网段,看你的选择了
|
6
questionyu 2023-06-25 20:42:35 +08:00
个人理解,可能是你用的场景不太合适。
按照我的理解,Tailscale 的这个声明子网( advertise-routes )应该是类似于网关角色的设备使用的,而且是在这个网络内,这个设备是唯一安装 Tailscale 的设备。 在我家,声明子网的是一个旁路由设备,在单位,声明子网的是主路由。两个网络中的电脑都安装了 Tailscale ,但是只要旁路由 /主路由功能正常,电脑上的 Tailscale 就从来不开启。 如果你的这三台设备拿来让我设置,我会在 NAS 上安装 Tailscale 并声明子网,PC2 与 PC3 在外出使用时才打开 Tailscale 。 |
7
questionyu 2023-06-25 20:46:08 +08:00 1
如果 PC2 与 PC3 有访问另外的 Tailscale 局域网内地址的需求,我是这么做的:单位的主路由无需调整,该局域网内的电脑访问 100.64.0.0/10 的 Tailscale 地址时会被主路由自动处理。家里的主路由添加一条静态路由,将 100.64.0.0/10 指向旁路由的地址,在家中电脑访问 Tailscale 地址时,流量会被主路由转发到旁路由上的 Tailscale 处理。
|
8
cppc OP @questionyu #7 感谢分享,我可能需要思考以一下网络拓扑。PC2 作为子网路由是不想在其他 PC 重复安装,PC3 本来不需要安装 ts,但是我想在 PC3 测试使用外网的 VPS 来做 exit node 。
|
9
cppc OP 找到一个临时解决方案,windows 版本客户端通过 preference >> use Tailscale subnets 临时关掉就可以恢复了。比起去网页管理端操作要方便很多。
|
10
gy911201 2023-06-26 10:30:47 +08:00 1
@wwppp 最小匹配原则, 如果同时有 /23 和 /24 的路由,会走 /24 的那一条,所以流量就不会从 tailscale 上中转,如果你的电脑拿出去了,不在本地了,/24 肯定就没了,就会走 /23 那条,就正常回家了
风险就是如果外面的子网正好跟你家里的相同,也是 /24 ,那可能流量就导向外面的 /24 了,有泄漏的风险 |
11
flynaj 2023-06-26 21:39:12 +08:00 via Android
不要整在一个网段,不然怎么冲突了。
|