Смонтировать экспорт общего ресурса nfs

Смонтировать экспорт общего ресурса nfs

У меня есть две машины 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:

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

Что я должен делать ?

решение1

Это называется nfs re-export и запрещено современными ядрами/дистрибутивами 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.

Связанный контент