Я успешно экспортировал каталог с сервера 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.