如何使用内核服务器和客户端创建 NFS 代理?

如何使用内核服务器和客户端创建 NFS 代理?

我有一个以 NFS 形式导出的文件服务器。我在一台 Ubuntu 机器上挂载了它,然后尝试将其导出为 NFS 卷。当我导出它时,我收到以下消息:

exportfs: /test/nfs-mount-point does not support NFS export

我怎样才能让它工作,或者至少获得有关问题的更多信息?

具体步骤:

Ubuntu 12.04

mount -f nfs myfileserver.com:/server-dir /test/nfs-mount-point

[运行良好,我可以读取和写入文件]

/etc/exports包含:

/test/nfs-mount-point *(rw,no_subtree_check)

sudo /etc/init.d/nfs-kernel-server restart

 * Stopping NFS kernel daemon                                      [ OK ] 
 * Unexporting directories for NFS kernel daemon...                [ OK ] 
 * Exporting directories for NFS kernel daemon...           exportfs: /test/nfs-mount-point does not support NFS export
                                                                   [ OK ]
 * Starting NFS kernel daemon                                      [ OK ] 

答案1

NFS 协议不支持代理。不过,您可以使用 iptables NAT 将客户端连接到只能通过 Ubuntu 服务器访问的服务器。

假设以下网络

       Ubuntu server eth0: x.x.x.x
       NFS server:         x.x.x.y
       Clients:            z.z.z.0/24
       Ubuntu server eth1: z.z.z.x

那么你将需要以下类型的 iptables 规则:

  -t nat -A POSTROUTING -s z.z.z.0/255.255.255.0 -d x.x.x.y -o eth0 -j SNAT \
                --destination x.x.x.y --to-source z.z.z.x
  -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT  

相关内容