У меня есть две машины 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 / sizes_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, но лучше сначала исправить порт mountd в / etc / sysconfig / nfs на хосте A.
RPCMOUNTDOPTS="--port 2052"
Имейте в виду, что mountd также может использовать udp.