在房车 (RV) 中进行异地备份非常棒,经过一年的使用,我发现了一些使其变得更好的方法。

去年,我写了一篇关于我为我的房车设置的数据备份系统的长篇专题文章(请参阅 Kyle 的 “DIY RV 异地备份和媒体服务器”,刊登于 LJ 2018 年 6 月刊)。如果您尚未阅读该文章,我建议您先查看一下,以便了解有关该系统的详细信息。总而言之,我设置了一台连接到房车中 12V 电视的树莓派媒体中心 PC。我将一个 8TB 硬盘驱动器连接到该系统,并同步了我所有的文件和媒体,使其充当一种异地备份。最后,我设置了一个脚本,该脚本会在检测到房车位于本地网络上时,尝试从我的 NAS 同步所有这些文件。因此,在这里,我提供了有关该系统运行情况的更新以及我对它进行的一些调整。

有效的功能

总的来说,媒体中心运行良好。在公路旅行中拥有我所有的媒体非常棒,我的儿子也很喜欢访问他最喜欢的卡通片。由于界面与我们在家中的媒体中心相同,因此没有学习曲线——一切正常运行。由于树莓派由房车中的电视供电,您只需打开电视,一切都会启动。

知道我附近有所有文件的良好备份也很棒。如果我的房子或我的主 NAS 发生任何事情,我知道我可以从房车中获取备份。对您的重要文件感到安心非常重要,而且很高兴知道在最坏的情况下,当我的 NAS 坏掉时,我可以断开房车上的 USB 驱动器,将其连接到本地系统,然后重新启动并运行。

我在房车上设置的 WiFi 增强器在增加树莓派(以及房车内的笔记本电脑)在路上的覆盖范围方面也运行良好。当我们到达碰巧提供 WiFi 的露营地时,我只需重置增强器并设置一个新的接入点,以增强房车内的露营地信号。在一次旅行中,我甚至将其从房车中取出并放入酒店房间,以增强微弱的信号。

改进空间

在大多数情况下,当我在家时,我会将房车插上电源,但是由于树莓派由电视供电,因此我不一定会一直将其打开。大约每隔一周左右,我倾向于将其打开一两天,以确保文件同步,但我意识到如果我只是让树莓派独立于电视运行会更好。即使 OSMC 在树莓派上启动速度很快,但如果它在我打开电视的那一刻就准备就绪,那将是非常好的。由于树莓派在空闲时不会消耗太多电量,因此如果我将其在家中保持开启状态,我真的不必担心它会耗尽我的家用电池——尤其是在房车通常在家中插上电源的情况下。

WiFi 增强器可以工作,但默认情况下,它只是将“_8C”添加到远程接入点的 SSID。默认情况下,它还会重复使用远程接入点的密码。这意味着您可能会冒着附近其他人使用您的接入点的风险,以为它是官方中继器之一。我已经开始将它选择的默认 SSID 更改为对我来说是自定义的名称,但不幸的是,到目前为止,我还没有在界面中找到一种方法来为我的增强型 AP 提供不同的密码,这意味着即使我为我的 WiFi 增强器选择一致的 SSID,我仍然必须重新配置笔记本电脑和树莓派以使用不同的密码。

我已经开始怀疑,将更高功率的 USB WiFi 网卡与外部天线连接到树莓派并将其变成中继器是否更有意义。然后,我可以使用 OSMC 界面连接到远程接入点,并通过我在树莓派上设置的接入点路由连接。

我在长途旅行中遇到的另一个问题是,当我在路上时,我的房车不再与我的家庭 NAS 同步。这意味着如果我的家庭 NAS 上出现任何新的媒体,我在路上就不会拥有它。例如,如果我关注了很多播客并将它们存储在我的 NAS 上,那么如果新的播客也能在我在路上时出现在我的房车上,那就太好了。

从路上同步

我计划进行一次史诗般的多周美国公路旅行,我意识到我可以确保我在路上拥有新媒体的一种简单方法——VPN。如今,许多人认为 VPN 只是安全和隐私的背景下的工具,作为一种保护他们的系统免受 ISP 或他们连接的当地咖啡店的窥探的方式。然而,VPN 只是一种让您在可能不受信任的网络上安全地连接两个受信任网络的方式。这正是我房车所需要的。

通过在我的树莓派和我的家庭 NAS 之间建立 VPN 连接,无论它在世界何处,只要有 WiFi 连接,它都可以连接到我的家庭网络。更重要的是,由于 OpenVPN 可以配置为在客户端连接时为其分配一致的 IP,因此一旦我设置好它,我在服务器端所要做的就是修改本地 hosts 条目以指向 VPN IP 而不是房车在本地网络上的正常 IP,并且同步脚本可以保持不变。

我已经在我家的网络上设置了一个简单的本地 Puppet 服务器,并添加了一个模块来管理我的 VPN 配置,因此为我的房车添加一个新的客户端并生成一组密钥和配置文件相对简单。在房车端,我只是复制了客户端密钥和配置,并确保在房车的树莓派上安装了 OpenVPN。最后,我编辑了 /etc/default/openvpn 文件以确保我的客户端配置设置为默认启动,并且我还使用 systemctl 启用该 OpenVPN 客户端,以便它在启动时启动。

设置 VPN 后,我确认同步脚本在我家的网络上仍然可以通过新的 VPN IP 工作。OpenVPN 客户端的优点在于它们是持久的——如果连接断开,它会不断尝试重新连接。这意味着一旦树莓派连接到 WiFi 接入点,恢复 VPN 连接只是时间问题。

我们最终开始了史诗般的夏季公路旅行,大约一周后,我们意识到家里有一些新媒体我们想在房车里拥有。我们碰巧在一个提供 WiFi 的露营地,所以那天晚上我们在那里露营时,睡觉前,我重新连接了树莓派,使其由 12V USB 适配器而不是电视供电。这样,我可以让它整夜开着,而不会因电视的光芒而难以入睡。我登录了家中的 NAS,并确认我可以从那里 ssh 进入我的房车,然后就去睡觉了。当我醒来时,我检查了媒体中心,果然,在我们睡觉的时候,新文件已经复制到房车上了!

哎呀

但如果没有一个错误,这个故事就不完整了。在我们之前的旅行中的某个时候,我将树莓派连接到我手机的流量共享计划,它记住了那个接入点。我们碰巧在另一个提供 WiFi 的露营地,所以我决定再次将树莓派开过夜以重新同步。不幸的是,露营地的 WiFi 无法正常工作,因此我们一直在通过手机共享笔记本电脑的流量。那天晚上我去睡觉时,我忘记禁用手机上的流量共享,当我第二天早上醒来时,我发现手机的电池完全耗尽了!

当我意识到电池耗尽的那一刻,我意识到发生了什么事。我查看了我的流量套餐,果然,在过去的晚上,我的流量使用量出现了巨大的峰值。树莓派记住了那个接入点,通过我的手机共享流量,并且在我们睡觉的时候同步了一堆媒体!幸运的是,即使我的套餐是按流量计费的,它也设置了一个上限,一旦您使用了一定的流量,就会转换为“无限模式”,但如果该上限没有到位,那将是一场灾难。毋庸置疑,我进入了树莓派配置并删除了该接入点,以使其不会再次发生。

结论

我对使用我的房车媒体中心作为异地备份非常满意,并且随着 VPN 的加入,在我在路上时拥有新媒体变得更好。我只需要找到一种经济高效的方法来保持树莓派开启和在线,而不会产生巨额手机账单,这样我才能真正拥有一个始终保持最新的异地备份。自从我上次公路旅行以来,我想到了一些对这种设置的改进,因此请继续关注未来的文章,我将在其中描述更多的更新。

Kyle Rankin 是 Linux Journal 的技术编辑和专栏作家,也是 Purism 的首席安全官。他是 Linux Hardening in Hostile Networks, DevOps Troubleshooting, The Official Ubuntu Server Book, Knoppix Hacks, Knoppix Pocket Reference, Linux Multimedia HacksUbuntu Hacks 的作者,也是许多其他 O'Reilly 书籍的贡献者。Rankin 经常在安全和开源软件方面发表演讲,包括在 BsidesLV、O'Reilly Security Conference、OSCON、SCALE、CactusCon、Linux World Expo 和 Penguicon 上。您可以在 @kylerankin 上关注他。

加载 Disqus 评论