
Tenho duas máquinas A e B que não estão na mesma rede e gostaria de exportar um compartilhamento NFS de uma máquina para outra.
No meio, tenho uma máquina M que está nas duas redes.
Montei com sucesso minha parte A em M. Agora, gostaria de exportar esta montagem para B.
Criei uma exportação em M, assim:
/mnt/path/to/mountpoint/of/A's/nfsshare <B's IP address>(rw,insecure,secure,root_squash,wdelay,sync,no_subtree_check)
E tentei montá-lo em B, assim:
<M's hostname>:/mnt/path/to/mountpoint/of/A's/nfsshare /some/empty/directory nfs auto,rw,rsize=65535 0 0
Quando tento montar a exportação de M, recebo esta mensagem em B:
mount.nfs: vm-dc:/mnt/dcstore01/data02/formats_exploitation falhou, motivo fornecido pelo servidor: permissão negada
E recebo esta mensagem no 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
O que devo fazer ?
Responder1
Isso é chamado de reexportação nfs e não é permitido pelos kernels/distribuições Linux modernos. Como solução alternativa, tente o encaminhamento de porta no 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
Faça o mesmo para o mountd, mas é melhor corrigir a porta mountd em /etc/sysconfig/nfs no host A primeiro
RPCMOUNTDOPTS="--port 2052"
Tenha em mente que o mountd também pode usar o udp.