Назад | Перейти на главную страницу

Отказано в разрешении при монтировании NFS через удаленный туннель SSH

Я успешно экспортировал каталог с сервера CentOS 7 на сервер CentOS 6 (я использовал * в /etc/exports (в отличие от IP-адреса сервера). Но я не могу найти решения, которые работают для меня, чтобы экспортировать его через туннели SSH. Это мой текущий /etc/exports:

/dir localhost(insecure,rw,sync,no_subtree_check,no_root_squash,no_all_squash)

Я убедился, что брандмауэр не блокирует его:

[SERVER]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client nfs
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

На стороне клиента я настроил удаленный туннель с помощью PuTTY, выбрав случайный порт источника. 7475 и место назначения 10.2.10.14:2049(IP-адрес сервера NFS и порт NFS). Журнал событий подтверждает, что это сработало:

2020-02-04 12:07:48 Requesting remote port 7475 forward to 10.2.10.14:2049
2020-02-04 12:07:48 Remote port forwarding from 7475 enabled

Вот что происходит, когда я пытаюсь смонтировать:

[CLIENT]# mount -v -t nfs -o port=7475 localhost:/dir /dest
mount.nfs: timeout set for Tue Feb  4 12:09:53 2020
mount.nfs: trying text-based options 'port=7475,vers=4,addr=127.0.0.1,clientaddr=127.0.0.1'
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting localhost:/dir

Журнал событий PuTTY производит следующий вывод:

2020-02-04 12:07:31 Received remote port localhost:7475 open request from 127.0.0.1:962
2020-02-04 12:07:31 Attempting to forward remote port to 10.2.10.14:22
2020-02-04 12:07:31 Forwarded port opened successfully
2020-02-04 12:07:31 Forwarded port closed

Есть идеи, как заставить работать NFS, или советы по устранению неполадок? Я пытался заглянуть в tcpdump, но не мог понять вывод. НЕ ищу sshfs решение.

Глупая ошибка с моей стороны. Я следовал инструкциям от Вот, но похоже (я не совсем понимаю переадресацию локального порта), поскольку мой был удаленным туннелем, а не локальным туннелем, как в инструкции, Мне пришлось изменить /etc/exports сказать:

/dir *(insecure,rw,sync,no_subtree_check,no_root_squash,no_all_squash)

Наверное, не все это было необходимо. Как-то я подумал, что выполнение SSH-туннелирования замаскирует клиента, чтобы он выглядел так, как будто это был сервер NFS, но похоже, что он просто перенаправляет, поэтому экспорт в localhost отказывает в доступе к клиентскому серверу.

Я подумал, что это может быть безопасно, если NFS экспортирует только тем, кто может подключиться к нему через SSH-туннель. Но поскольку это не так, это слишком небезопасно для меня, поскольку NFS, похоже, не имеет простой защиты паролем, поэтому я выберу общий ресурс samba.