我在家里有一个 NFS 服务器(以及一个只能在家外使用的 openvpn 连接)。
我的手机(Jolla)基本上是 Linux,并且具有移动数据/wifi/usb 网络功能。
基本上,我想将 NFS 从手机挂载到我的服务器,以便我可以看到存储在 NFS 服务器上的电影/音乐。
理想情况下,如果我没有网络,它会停止,但当我恢复连接时继续播放,这会很好。(例如,希望播放器有一些缓冲,可以消除从 wifi 切换到 openvn 的超时)。
这里最重要的部分是可靠性/稳定性,我不太关心性能。
NFS 服务器位于网络 10.73.98.0/24 中。openvpn 网络(10.73.99.0/24)可以直接路由到它,LAN 网络内部拒绝 openvpn 连接,因此不会发生冲突。
考虑以下网络连接选项:
- 通过 PC 的 USB 网络(源网络 192.168.7.0/24,伪装为 10.73.98.0/24 网络)
- 家里的 wifi 连接(在局域网中,源网络 10.73.98.0/24)
- 移动数据连接(动态ip,openvpn网络10.73.99.0/24)
- 家庭外的 wifi(openvpn 网络 10.73.99.0/24)
据我所知,UDP 上的 NFS 不必担心路由,但需要相同的 IP 地址(可能?)才能使挂载在网络中存活......
现在,我也研究了 fscache,希望它可以在块级别缓存并存储块(可能从 NFS 文件中预读一些?)。但它看起来像是在文件级别存储。
例如,当前测试无法在离开 WiFi 范围再返回后继续进行,即使等待一段时间后……
什么是最佳安装选项我应该试试吗?我是否也应该考虑某种形式的自动挂载?内或者软硬或者TCP/UDP我应该挖隧道吗总是通过 openvpn可靠性如何?openvpn 设置? ETC...
答案1
同意扎格里姆桑声明称不可靠的网络和网络文件系统合作不顺利。您的里程肯定会有所不同,不要期待任何承诺,尽管一般来说这是可行的。
互联网上的 OpenVPN 大致相当于一条质量很差、很长的电缆,从您所在的任何地方直接连接到您的专用网络。NFS 的设计考虑了低延迟和高质量,因此这不是最佳用例。
这柔软的和内mount 选项是可取的,因为外出时很容易发生中断,尤其是使用您描述的连接类型时。为简单起见,您在连接到共享时应该始终使用 VPN,否则服务器会将您的家庭和漫游连接解释为两个客户端,如果您在 VPN 重新连接时获得新 IP,则解释为更多客户端,从而混淆锁定和其他并发逻辑。
如果您的 .99 网络已经只能通过 VPN 使用,那么只需将任何其他路由推送到客户端即可在家中启用 VPN。
TUN 模式下的 OpenVPN 通常会向具有相同证书的客户端重新发布相同的 IP 地址,并且无论您使用哪种 DHCP 服务,都应使用静态 MAC(使用 OpenVPN 的lladdr
选项)在 TAP 模式下为每个连接提供相同的 IP。TAP 在这里没有任何优势,所以我会避开。您可以使用ifconfig-push
ccd指令如果你使用密码而不是证书
我首先会考虑 NFS 传输的 TCP 和 OpenVPN 传输的 UDP。你绝对不要在这些不稳定的连接类型上,TCP 上的 OpenVPN 和 TCP 上的 NFS 都是如此。