Mounten des Exports einer NFS-Freigabe

Mounten des Exports einer NFS-Freigabe

Ich habe zwei Maschinen A und B, die sich nicht im selben Netzwerk befinden, und ich möchte eine NFS-Freigabe von einer Maschine auf die andere exportieren.

In der Mitte habe ich eine Maschine M, die in beiden Netzwerken ist.

Ich habe meine A-Freigabe erfolgreich auf M gemountet. Jetzt möchte ich diese Mountung nach B exportieren.

Ich habe einen Export auf M erstellt, wie folgt:

/mnt/path/to/mountpoint/of/A's/nfsshare <B's IP address>(rw,insecure,secure,root_squash,wdelay,sync,no_subtree_check)

Und habe versucht, es auf B zu montieren, und zwar wie folgt:

<M's hostname>:/mnt/path/to/mountpoint/of/A's/nfsshare /some/empty/directory  nfs auto,rw,rsize=65535 0 0

Wenn ich versuche, den Export von M zu mounten, erhalte ich auf B diese Meldung:

mount.nfs: vm-dc:/mnt/dcstore01/data02/formats_exploitation ist fehlgeschlagen, Grund vom Server angegeben: Berechtigung verweigert

Und ich erhalte diese Meldung im Syslog von 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

Was soll ich machen ?

Antwort1

Dies wird als NFS-Reexport bezeichnet und von modernen Linux-Kerneln/Distributionen nicht zugelassen. Als Workaround können Sie Portweiterleitung auf dem Host M versuchen:

  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

Machen Sie dasselbe auch für mountd, aber besser ist es, zuerst den mountd-Port in /etc/sysconfig/nfs auf Host A zu reparieren.

 RPCMOUNTDOPTS="--port 2052"

Bedenken Sie, dass mountd auch UDP verwenden kann.

verwandte Informationen