HomeLab 异地组网实践:iStoreOS 旁路由 + Tailscale + iOS 热点
作者:matrix 被围观: 11 次 发布时间:2026-11-05 分类:零零星星 | 无评论 »
家里网络一直都有服务在跑,人在外面的时候想连回内网操作,这次实践了下 Tailscale 方案,确实还得实践出真知啊
如果只是把单个服务暴露到公网,用 Cloudflare Tunnel + 访问策略就能解决;但想像在局域网里一样直接访问任意内网设备 IP,那就是另一回事了,得真的组网。
场景:Mac 在异地、连 iOS 热点上网,临时访问 HomeLab 局域网服务,体验和坐在家里没差别。
整体链路:
Mac --(iOS 热点)--> iPhone [a-shell 代理 + Tailscale]
--> iStoreOS 旁路由 [Tailscale 子网路由] --> 内网设备
iPhone 自己装上 Tailscale 客户端就能直接访问内网;但 iOS 热点共享出去的网络是不带 Tailscale 隧道的,所以 Mac 侧还得靠 iPhone 上跑的代理服务中转。
iStoreOS 安装 Tailscale 并开启子网路由
Tailscale 默认是点对点传输,也就是设备对设备访问。想在 Tailscale 上访问局域网里其他所有设备,必须开启「子网路由」(Subnet routes)。
- iStoreOS 商店直接搜 Tailscale,装社区版就行,安装后正常登录 Tailscale 账号
- 申请开启子网路由 Subnet routes

子路由开启之后配置需要访问的局域网 IP 段,保存并应用。
- 到 Tailscale 后台授权子网路由申请

打开 Tailscale 控制台,找到 iStoreOS 这台设备,右侧 Edit route settings,勾选刚才配置的子网 IP 段。
最后重启一下 iStoreOS 路由,或者 ssh 上去重启 tailscale 服务,避免路由表不生效:
/etc/init.d/tailscale restart
iOS 端:Tailscale 客户端
iPhone 安装 Tailscale 并开启,如果之前已经连接过,记得断开重连一次。
Safari 直接访问局域网 IP(比如 192.168.99.xx),能正常打开就说明组网成功,只是速度会一般般
iOS 端:a-shell 跑代理服务
到这里 iPhone 自己访问内网已经没问题了。但 Mac 等其他设备走 iOS 热点时用不到 Tailscale 隧道,临时用一下又不想每台设备都装 Tailscale,那就让 iPhone 顺便提供代理服务。
装一个 a-shell / a-shell mini,它提供本地 shell 环境(带 Python/node),可以跑 proxy 服务:
# 安装 pproxy
pip install pproxy
# 开启代理监听(HTTP + SOCKS5)
pproxy -l http+socks5://0.0.0.0:8080 -v
注意:pproxy 运行期间不要锁屏,a-shell 退到后台被杀代理就不能用了
Mac 接入代理
iPhone 的局域网 IP 在「设置 → Wi-Fi → ⓘ」里可以看;Mac 如果连的是 iPhone 热点,地址一般是 172.20.10.1。
终端先验证代理可用:
% curl --proxy 172.20.10.1:8080 -i baidu.com
HTTP/1.1 301 Moved Permanently
Location: https://www.baidu.com/
Date: Thu, 05 Nov 2026 07:29:35 GMT
Content-Length: 57
Content-Type: text/html; charset=utf-8
<a href="https://www.baidu.com/">Moved Permanently</a>.
之后浏览器用 Proxy SwitchyOmega 配上 172.20.10.1:8080 的 SOCKS5/HTTP 代理,访问内网 IP 就和平常在局域网里完全一样了
以后使用 iOS开启Tailscale + a-shell (pproxy -l http+socks5://0.0.0.0:8080 -v) + mac代理 完美~