内容提要
作者在宿舍为 macOS 搭建远程 Time Machine 备份机。路由器方案(Netatalk、SMB、磁盘镜像)均失败后,借用学长的 Ubuntu 虚拟机,用 Netatalk 伪装成 Time Capsule,并通过 frp 内网穿透解决 548 端口被占用问题。最终实现 MacBook 连校园网即每小时无感自动备份,首次备份耗时六小时。
延伸解读
路由器方案的局限
作者尝试用路由器搭建远程备份机,但Netatalk、SMB和磁盘镜像三种方案均失败。Netatalk因闪存不足且MacBook无法识别;SMB在macOS 10.15测试版中不稳定;磁盘镜像虽能备份但速度极慢且常断开。这表明在资源有限的路由器上实现AFP服务并不现实,需要更强大的宿主机。
端口冲突与内网穿透
AFP协议需要开放548端口,但宿主机macOS默认占用该端口,导致直接分配虚拟网卡的方案失败。作者最终采用frp内网穿透,并借助另一台具有独立IP的虚拟服务器作为跳板机解决。这提示在端口冲突时,内网穿透是一种可行的迂回方案,但需要额外的跳板资源。
备份性能与体验
首次备份因宿舍区AP速度慢耗时6小时,但完成后MacBook连校园网即每小时自动备份,每次仅需若干秒且无感。这说明初始备份成本较高,但后续增量备份效率很高,适合长期自动备份场景。
Q&A
如何在macOS上设置远程Time Machine备份?
文章介绍了通过配置网络协议实现macOS局域网内无感知备份的方法。具体步骤包括:让服务器支持AFP协议,使用Netatalk将Linux机器伪装成Time Capsule,并通过frp内网穿透解决端口占用问题。最终实现MacBook连接内网后每小时自动备份。
为什么用路由器搭建Time Machine备份机失败了?
作者尝试了三种方案均失败:1. Netatalk方案:路由器闪存不足,且MacBook无法识别;2. SMB方案:macOS 10.15测试版不稳定,无法识别服务器;3. 磁盘镜像方案:速度极慢且经常断开连接。
Netatalk是什么,如何用它模拟Time Capsule?
Netatalk是一个开源软件,可以将Linux机器伪装成支持AFP协议的各种设备,包括Time Capsule。在Ubuntu上安装Netatalk服务非常简单,经过几分钟设置后,Ubuntu就能成功伪装成Time Capsule,从而让macOS进行Time Machine备份。
如何解决AFP端口548被占用的问题?
由于宿主机macOS默认占用了548端口,作者最初尝试分配虚拟网卡但失败。后来采用frp内网穿透方案,并借用了一个具有独立IP的虚拟服务器作为跳板机,成功解决了端口占用问题。
搭建远程备份后,备份速度和体验如何?
首次备份由于宿舍区AP速度慢,花了6个小时。但搭建完成后,只要MacBook连接校园内网,就会每隔一小时自动备份,每次备份仅需若干秒,且完全无感。
除了Netatalk,还有哪些备份方案?各有什么优缺点?
文章提到三种方案:1. Netatalk:可伪装成Time Capsule,但路由器资源不足且兼容性差;2. SMB:macOS 10.15新增支持,但不稳定;3. 磁盘镜像:通过虚拟磁盘镜像挂载到SMB服务器,但速度慢且易断开。最终作者选择Netatalk+frp方案。