别急着买 NAS:一台 Mac mini,就能变成 24 小时在线的私人云|手机电脑都可以轻松公网文件互传
前段时间小米开始做 NAS,绿联这类产品也越来越火。我看了一圈,突然想到一件事:我桌上本来就有一台长期通电的 Mac mini,外接硬盘、性能和功耗都够用,为什么不能先拿它当一台私人 NAS?
我真正想解决的并不是“在家里两台电脑互传文件”。这个用隔空投送或局域网共享就够了。
我需要的是另一件事:Mac mini 放在固定位置,MacBook Air 带出门以后,换成公司网络、酒店 Wi‑Fi,甚至手机热点,仍然能像在家里一样打开 Mini 上的文件。手机也要能访问,而且我的 iPhone 平时还必须一直挂着 Shadowrocket。
折腾完以后,这套方案已经可以稳定使用。核心就两个东西:
- macOS 自带的 SMB 文件共享;
- Tailscale 负责在公网把几台设备放进一个加密的虚拟局域网。
不用公网 IP,不用在路由器上做端口映射,更不要把 SMB 的 445 端口直接暴露到互联网。
先说清楚:这是不是一台真正的 NAS?
从使用体验看,它已经能完成我最需要的几件事:集中存文件、挂多块硬盘、电脑和手机远程访问、长期在线。
但它并不等于一台完整的成品 NAS。群晖、绿联这类设备通常还有 RAID、快照、硬盘健康管理、照片管理、权限后台和一整套应用生态。Mac mini 更像一台性能很强的私人文件服务器。
如果你只是想把已有的 Mini 和硬盘利用起来,这个方案很划算。如果你最看重多盘容灾和傻瓜化管理,还是应该买正规 NAS。
一、先把 Mac mini 的文件共享打开
在 Mac mini 进入:
系统设置 → 通用 → 共享 → 文件共享
打开“文件共享”以后,点右边的信息按钮,把准备远程访问的文件夹加进去。
这里最容易漏掉的是权限。右侧用户列表里,我给自己的账号设成“读与写”。如果只给了“只读”,远程连接虽然能打开文件夹,但不能新建、移动或删除文件。
再点“选项”,确认“使用 SMB 来共享文件和文件夹”已经开启,并勾选允许通过 SMB 登录的用户。
我不建议开放“所有人”写权限。最好专门建一个用于远程访问的普通账号,给它独立密码,只授权确实需要访问的目录。
二、两台 Mac 接入 Tailscale
Mini 和 Air 都安装 Tailscale,然后登录同一个 tailnet。安装时 macOS 会弹出“添加 VPN 配置”的提示,这一步需要允许。
我用的是 Tailscale 官方推荐的 Standalone 版本。两台机器上线以后,在 Tailscale 的设备列表里应该都显示在线。
Tailscale 会给每台设备分配一个 100.x.x.x 地址,同时提供一个 MagicDNS 名称,大致长这样:
1 | <设备名>.<你的-tailnet>.ts.net |
后面连接 SMB 时,我更推荐用 MagicDNS 名称。IP 当然也能用,但设备名更好记,而且我在手机端实测时遇到过直接填 IP 报 Socket 未连接,换成完整的 `.
` 名称反而立即成功。
三、一定要离开同一个 Wi‑Fi 再测试
这一步看起来多余,其实非常重要。
如果 Air 和 Mini 还连着同一个路由器,即使 Finder 能打开共享,也只能证明局域网配置正确,不能证明公网访问已经打通。
我的测试方式很简单:
\1. Mac mini 留在原来的网络;
\2. MacBook Air 断开家里的 Wi‑Fi;
\3. Air 改连手机热点;
\4. 再检查 Tailscale 里 Mini 是否在线;
\5. 重新连接 SMB。
这样还能正常访问,才算真的完成了跨公网连接。
四、MacBook Air 怎么连接 Mini
在 Air 打开 Finder,按 Command + K,或者选择:
前往 → 连接服务器
服务器地址填:
1 | smb://<设备名>.<你的-tailnet>.ts.net |
点“连接”,选择“注册用户”,输入的是 Mac mini 上允许使用 SMB 的账号和密码,不是 Tailscale 密码。
建议勾选“在我的钥匙串中记住此密码”。成功后,共享目录会出现在 Finder 侧边栏和 /Volumes 下面。
五、让共享目录自动挂载
手动按 Command + K 没问题,但每次重启都操作一次会很烦。我在 Air 上用了一个很轻量的 LaunchAgent:登录后每隔一段时间检查 Mini 的 SMB 端口,Tailscale 连通后自动打开指定共享。
脚本思路如下,里面全部换成你自己的占位值:
#!/bin/zsh
readonly mini_host=”<Mac-mini-的-Tailscale-IP或MagicDNS>”
if ! /usr/bin/nc -G 3 -z “$mini_host” 445 >/dev/null 2>&1; then
exit 0
fi
if [[ ! -d “/Volumes/<挂载后的名称>” ]]; then
/usr/bin/open -gj “smb://$mini_host/<共享名>”
fi
对应的 ~/Library/LaunchAgents/com.example.mount-mini.plist:
第一次手动连接时先把 SMB 密码存进钥匙串。LaunchAgent 只负责重新打开地址,不应该把明文密码写进脚本。
六、iPhone 也要访问,而且不能关 Shadowrocket
手机端本来可以直接安装 Tailscale App,但我这里有一个现实问题:iPhone 平时必须保持 Shadowrocket 连接。
iOS 通常不能让两个这类 VPN 隧道同时工作。直接打开 Tailscale App,Shadowrocket 就可能掉线;重新打开 Shadowrocket,Tailscale 又会断。
我的做法是只让 Shadowrocket 占用系统 VPN 通道,然后使用 Shadowrocket 2.2.90 内置的 Tailscale 模块。
在 Tailscale 管理后台生成 Auth Key,再到 Shadowrocket:
设置 → Tailscale
填入密钥并认证。成功后,“状态”会显示“已连接”,设备列表中能看到 Mac mini。
Auth Key 相当于一次性的设备入网凭证。不要把它放进截图或公开笔记;如果曾经泄露,直接去后台撤销并重新生成。
然后在 Shadowrocket 当前配置里添加两条规则:
IP-CIDR,<Mac-mini-的-Tailscale-IP>/32,TAILSCALE,no-resolve
DOMAIN-SUFFIX,
,TAILSCALE
还有一个我实际踩到的坑:
进入“设置 → 代理 → 跳过代理”,如果里面有 100.64.0.0/10,把它删掉。Tailscale 的地址就在这个网段,整段“跳过代理”以后,前面添加的 Tailscale 分流规则可能根本接不到流量。
七、在 iPhone“文件”App 连接 Mini
打开系统自带的“文件”App,进入“浏览”,点右上角“…” → “连接服务器”。
地址仍然填:
1 | smb://<设备名>.<你的-tailnet>.ts.net |
选择“注册用户”,输入 Mac mini 的 SMB 用户名和密码。连接成功后,Mini 上开放的共享目录会出现在“文件”App 里。
服务器根目录有时会显示“只读”,先别急着回去改权限。进入具体共享目录以后,再看看能不能“新建文件夹”。如果共享内部可以新建,说明它本身有写权限,只是服务器入口层级不能写。
八、我遇到的几个问题
Tailscale 显示 Not Connected
先退出并重新打开 Tailscale,必要时重启 Mac。第一次安装时如果拒绝了系统的 VPN 配置提示,也需要重新允许。
能看到 Mini,但 Finder 连接不上
检查 Mac mini 的“文件共享”和 SMB 用户是否开启。再试完整 MagicDNS:
1 | smb://<设备名>.<tailnet>.ts.net |
不要只依赖设备短名称。
手机提示 Socket 未连接
我这里直接填写 Tailscale IP 失败过,改用完整 MagicDNS 成功。同时确认 Shadowrocket 里的 `DOMAIN-SUFFIX,
,TAILSCALE已生效,并删除“跳过代理”里的100.64.0.0/10`。
Mac mini 休眠以后失联
服务器能不能长期用,关键不是屏幕亮不亮,而是 Mini 不能进入会断网的深度睡眠。可以在系统电源设置里开启“网络访问唤醒”,并根据自己的功耗接受程度调整自动睡眠。
过一段时间突然掉线
Tailscale 设备密钥可能过期。对自己完全控制、启用了锁屏和磁盘加密的固定设备,可以在管理后台把 Key Expiry 设为 No expiry。设备丢失或不再使用时,要马上从后台移除。
九、安全方面别省这几步
这套方案的优点,就是不需要向公网开放 SMB 端口。不要为了“更快”又去路由器上做 445 端口映射。
我还做了这些限制:
- SMB 使用单独账号和强密码;
- 不给“所有人”写权限;
- 只共享需要远程访问的目录;
- Auth Key 用完就妥善保存或撤销;
- Mac 开启 FileVault,所有设备都有锁屏密码;
- 只对自己控制的长期设备关闭密钥过期。
这套方案适合谁
如果你手里正好有一台 Mac mini,想让 Air 和 iPhone 随时访问素材、文档和照片,又不想立刻再买一台 NAS,我觉得非常值得折腾。
它不一定是最专业的 NAS,但可能是你已经拥有、也最容易开始用起来的私人云。
真正重要的不是跑分,而是当你在外面打开 Finder 或手机“文件”App,家里那台 Mini 上的东西真的就在眼前。
我这套已经同时跑通了 MacBook Air 和 iPhone。后面如果大家感兴趣,我再单独写一篇:如何给 Mac mini 加硬盘、做备份,以及怎样降低 24 小时运行的风险。
参考:Apple 的 SMB 文件共享与服务器连接文档、Tailscale 的 macOS 安装与 MagicDNS 文档。






