我有两台机器A和B不在同一个networking上,我想从一台机器上导出一个nfs共享。
在中间,我有一台机器在这两个networking上。
我成功地将我的A的份额挂载到M.现在,我想将此挂载导出到B.
我在M上创build了一个导出,如下所示:
/mnt/path/to/mountpoint/of/A's/nfsshare <B's IP address>(rw,insecure,secure,root_squash,wdelay,sync,no_subtree_check)
并试图把它安装在B上,就像这样:
<M's hostname>:/mnt/path/to/mountpoint/of/A's/nfsshare /some/empty/directory nfs auto,rw,rsize=65535 0 0
当我尝试挂载M的导出时,我在B上得到这个消息:
mount.nfs:vm-dc:/ mnt / dcstore01 / data02 / formats_exploitation失败,服务器给出的原因:权限被拒绝
我在M的系统日志中得到这个消息:
Dec 6 13:53:05 vm-dc rpc.mountd[27916]: authenticated mount request from 10.0.0.1:773 for /mnt/dcstore01/data02/formats_exploitation (/mnt/dcstore01/data02) Dec 6 13:53:05 vm-dc rpc.mountd[27916]: qword_eol: fflush failed: errno 22 (Invalid argument) Dec 6 13:53:05 vm-dc rpc.mountd[27916]: Cannot export /mnt/dcstore01/data02, possibly unsupported filesystem or fsid= required
我该怎么办 ?
这被称为nfs重新导出,并被现代Linux内核/发行版所禁止。 作为解决方法,请尝试主机M上的端口转发:
iptables -t nat -A PREROUTING -p tcp --dport 2049 -j DNAT --to-destination 10.10.10.10:2049 iptables -t nat -A POSTROUTING -p tcp --dport 2049 -j MASQUERADE
对mountd也是这样,但是最好先在主机A上的/ etc / sysconfig / nfs中修改mountd端口
RPCMOUNTDOPTS="--port 2052"
记住,mountd也可以使用udp。