我有一台服务器(名为“head”),它连接到两个网络,但这两个网络之间没有互连。在网络 1 上,服务器(名为“server1”)通过 NFS 共享一个文件夹。然后,此文件夹在“head”上安装为:/public/server1。我想将“head”上的文件夹:/public 共享给网络 2 上的机器,顺便说一下,我希望网络 2 上的所有机器都能够通过安装 NFS 文件夹 head:/public 并访问文件夹:/public/server1 来访问“server1”上的内容。我试过了,但失败了。网络 2 上的机器只能看到 /public/server1 的空白文件夹,而看不到“server1”上的内容。我该如何实现我的愿望?谢谢。
答案1
您所要求的是 NFS 代理。它们确实存在,但免费的代理很糟糕,而商业代理则贵得离谱。然而,您实际上并不需要您所要求的东西。
如果您的“头”服务器连接到两个网络,您可以简单地让它充当网络 1 上的系统访问网络 2 上的系统的路由器。例如,如果网络 1 是 192.168.1.0/24,网络 2 是 192.168.2.0/24,并且 head 在网络 1 上是 192.168.1.10,在网络 2 上是 192.168.2.10,并且网络 2 上的文件系统是 192.168.2.11,那么您的网络 1 客户端将有这样的路由:
route add 192.168.2.11 gw 192.168.1.10
这将告诉客户端通过 192.168.1.10(又名“head”)将访问路由到 192.168.2.11。这假定您已在 head 系统上启用路由。
有了这个解决方案,您不需要担心重新导出任何东西;客户端只需直接访问文件服务器,就像您已经能够从头节点执行的操作一样。