web-dev-qa-db-ja.com

nfs共有のエクスポートをマウントします

同じネットワーク上にない2台のマシンAとBがあり、一方のマシンからもう一方のマシンにnfs共有をエクスポートしたいと思います。

真ん中に、両方のネットワーク上にあるマシンMがあります。

AのシェアをMに正常にマウントしました。次に、このマウントをBにエクスポートします。

次のように、Mでエクスポートを作成しました。

/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のsyslogでこのメッセージを受け取ります:

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

私は何をすべきか ?

2
user201680

これは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も使用する可能性があることに注意してください。

2
kofemann