Montar la exportación de una acción de nfs

Montar la exportación de una acción de nfs

Tengo dos máquinas A y B que no están en la misma red y me gustaría exportar un recurso compartido nfs de una máquina a la otra.

En el medio tengo una máquina M que está en ambas redes.

Monté con éxito mi parte A en M. Ahora, me gustaría exportar este montaje a B.

Creé una exportación en M, como esta:

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

Y traté de montarlo en B, así:

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

Cuando intento montar la exportación de M, aparece este mensaje en B:

mount.nfs: vm-dc:/mnt/dcstore01/data02/formats_exploitation falló, motivo dado por el servidor: permiso denegado

Y recibo este mensaje en el syslog de 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

Qué tengo que hacer ?

Respuesta1

Esto se llama reexportación nfs y no está permitido por los kernels/distribuciones de Linux modernos. Como solución alternativa, intente reenviar puertos en el host 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

Haga lo mismo para mountd también, pero es mejor arreglar primero el puerto mountd en /etc/sysconfig/nfs en el host A

 RPCMOUNTDOPTS="--port 2052"

Tenga en cuenta que mountd también puede usar udp.

información relacionada