Как подключиться к серверу RPi NFS с помощью версии 4?

Я установил мой Raspberry Pi как сервер NFS, но я не могу подключиться к нему с NFS версии 4. Однако работает версия 3. От моего клиента Kubuntu 13.04:

$ sudo mount -t nfs -o proto=tcp,port=2049,vers=4 192.168.1.91:/export /mnt/pi -v
mount.nfs: timeout set for Tue Sep 17 09:47:26 2013
mount.nfs: trying text-based options 'proto=tcp,port=2049,vers=4,addr=192.168.1.91,clientaddr=192.168.1.7'
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting 192.168.1.91:/export
$ sudo mount -t nfs -o proto=tcp,port=2049,vers=3 192.168.1.91:/export /mnt/pi -v
mount.nfs: timeout set for Tue Sep 17 09:47:31 2013
mount.nfs: trying text-based options 'proto=tcp,port=2049,vers=3,addr=192.168.1.91'
mount.nfs: prog 100005, trying vers=3, prot=6
mount.nfs: trying 192.168.1.91 prog 100005 vers 3 prot TCP port 35976

С сервера кажется, что NFS версия 4 скомпилирована в ядре.

$ rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  51953  status
    100024    1   tcp  42383  status
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    2   tcp   2049
    100227    3   tcp   2049
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    2   udp   2049
    100227    3   udp   2049
    100021    1   udp  41873  nlockmgr
    100021    3   udp  41873  nlockmgr
    100021    4   udp  41873  nlockmgr
    100021    1   tcp  35095  nlockmgr
    100021    3   tcp  35095  nlockmgr
    100021    4   tcp  35095  nlockmgr
    100005    1   udp  60943  mountd
    100005    1   tcp  44936  mountd
    100005    2   udp  52342  mountd
    100005    2   tcp  56312  mountd
    100005    3   udp  57888  mountd
    100005    3   tcp  35976  mountd

== == EDIT

Журналы сервера в /var/log/messages не изменяются для обеих попыток. Журналы сервера в /var/log/syslog не изменяются для неудачных попыток v4, но добавляются для успешных попыток v3, как показано ниже.

Sep 17 21:48:27 raspberrypi rpc.mountd[24098]: authenticated mount request from 192.168.1.7:1021 for /export (/export)
Sep 17 22:09:12 raspberrypi rpc.mountd[24098]: authenticated mount request from 192.168.1.7:790 for /export (/export)
Sep 17 22:09:51 raspberrypi rpc.mountd[24098]: authenticated mount request from 192.168.1.7:1002 for /export (/export)

Как ни странно, кажется, что порт меняется, несмотря на то, что я указываю 2049?

== EDIT == Содержимое сервера /etc/export

/export       192.168.1.0/24(rw,fsid=0,insecure,no_subtree_check,async,crossmnt)
4 голоса | спросил Sparhawk 17 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 17 Sep 2013 03:47:56 +0400 2013, 03:47:56

2 ответа


3

NFS использует защиту на основе IP /Hostname, поэтому вы должны давать разрешение на сервер NFS клиентам. Разрешения должны быть определены в файле /etc /exports. Пример /etc /export file:

# Path          Client IP (options)
/BACKUP/DATA    192.168.1.4(rw,no_root_squash,sync,crossmnt,fsid=1)
/BACKUP/MOVIES  192.168.1.6(rw,no_root_squash,sync,crossmnt,fsid=1)

После редактирования файла /etc /exports вам нужно запустить команду exports -ra, чтобы перечитать файл экспорта с помощью демона сервера NFS. Затем попытайтесь установить;

на клиенте 192.168.21.4;

mount -t nfs -o vers=3 192.168.1.91:/BACKUP/DATA /mnt/pi/DATA -v

на клиенте 192.168.1.6

mount -t nfs -o vers=3 192.168.1.91:/BACKUP/DATA /mnt/pi/MOVIES -v

Вы должны посмотреть ваши файлы журналов и попытаться понять, что происходит с помощью команды tail, как показано ниже.

tail -f /var/log/syslog
tail -f /var/log/messages

Выходы журнала должны давать ключ.

Update:

Поскольку вы говорите, что он работает с NFSv3, а не с NFSv4, вы должны делать дополнительные вещи для использования NFSv4.

Создайте каталог для совместного доступа в папку /export.

mkdir -p /export/myfolder

затем привяжите его. (добавьте строку ниже в файл /etc /fstab на сервере)

/foo/myfolder  /exports/myfolder  none    bind

и поместите эту строку в файл /etc /exports

/exports/myfolder 192.168.1.0/24(rw,sync,insecure,no_subtree_check,nohide)

запустите 'exportfs -ra' и проверьте экспорт с помощью команды exportfs -rv.

затем попытайтесь установить его:

mount -t nfs4 192.168.1.91:/myfolder  /myfolder -o rw

Вы можете добавить эту строку в файл /etc /fstab на клиентской машине, чтобы смонтировать ее при каждой загрузке.

192.168.1.91:/myfolder  /myfolder  nfs4   rw,auto,hard,intr
ответил gurcanozturk 17 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 17 Sep 2013 16:10:27 +0400 2013, 16:10:27
1
/exports/myfolder 192.168.1.0/24(rw,sync,insecure,no_subtree_check,nohide)

запустите exportfs -ra и проверьте экспорт с помощью команды exportfs -rv.

затем попытайтесь установить его:

mount -t nfs4 192.168.1.91:/myfolder  /myfolder -o rw

Вы можете добавить эту строку в файл /etc/fstab на клиентском компьютере, чтобы смонтировать его при каждой загрузке.

Невозможно использовать /etc /fastab- Чтобы ввести ключевого пользователя в качестве машины Mount * (Every Reboot) - <Включить> - для доступа к мощности, IP-S -

ответил Alpha 3 PMpTue, 03 Apr 2018 15:07:49 +030007Tuesday 2018, 15:07:49

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132