通过 Tailscale 构建一个随时可用的局域网
用 Tailscale 把家里的电脑和手机组进同一个私有局域网:电脑与手机端的安装配置,以及通过 Shadowrocket / Stash 接入 Tailscale 网络的三种方式与注意事项。
- #tailscale
- #network
- #tooling
最近我把越来越多的活交给了跑在家里电脑上的 Agent 干,但是电脑并不是会随时都在身边,所以我找了一圈,发现了 Tailscale,它可以让我在外面的手机上也能连上家里的这台电脑,随时随地指挥家里的 Agent 工作。
搭建这个私有的局域网非常方便:
- 访问 https://tailscale.com/ 注册账号
- 在电脑上安装 Tailscale 客户端并登录
- 在手机上安装 Tailscale
其中在手机上安装 Tailscale 有三种方式。
官方 Tailscale 客户端
直接在 iOS 商店下载官方 Tailscale 客户端并登录,这个方式设置最方便,但是存在一个问题:如果你本地有其他的代理,Tailscale 客户端会在手机上抢占代理端口,导致其他代理无法正常使用。
使用 Shadowrocket
登录 https://tailscale.com/ 然后打开地址: https://console.tailscale.com/admin/settings/keys
找到 Tailscale auth key ,生成并复制下来。

Shadowrocket 已经直接支持了 Tailscale。打开 Shadowrocket,点击底部的"设置",选择 Tailscale 完成配置即可(这一步会用到上一步生成的 auth key)。
使用 Stash
Stash 也原生支持 Tailscale,直接把一个 Tailscale 节点作为 type: tailscale 的代理写进配置:
proxies:
- name: ts-main
type: tailscale
auth-key: tskey-auth-xxxxxxxxxxxxxxxx
也可以通过图形界面补充配置:
首页 --> 代理信息 --> 点击右上角的加号 --> 代理类型选择 Tailscale,然后填入 auth key 等信息。
配置生效后,Tailscale 只是一个普通的代理节点,需要通过规则把流量指过去才会走它:
rules:
- DOMAIN-SUFFIX,ts.net,ts-main
- IP-CIDR,100.64.0.0/10,ts-main,no-resolve
同样这个配置也可以通过图形界面完成配置:
首页 --> 配置 --> 规则 --> 点击右上角的加号 --> 按照上面的配置填入即可。
这样手机上访问 Tailscale 网络里的设备(比如家里那台电脑),流量就会交给这个节点处理,本地其他代理互不影响。
注意:
- 如果手机上还是无法访问电脑,需要点击底部"设置",找到"隧道",找到"跳过路由",把"100.64.0.0/10"这个条目删除,然后重新启动代理就可以使用 Tailscale 网络了。
- auth-key 受 Key Expiry 限制,建议在 Tailscale 后台的 Machines 页面把这台设备设为 Expiry disabled,否则到期后节点会自动失效。
- 如果要在多个设备上复用同一个 auth-key,生成时要勾选 Reusable,One-off 的 key 用完一次就作废了。
这样就完成了一个私有的局域网配置,可以在手机上访问家里的电脑了。