Хост
У меня есть хост, запущенный Ubuntu 12.04, в 10.0.0.202. Он предоставляет общий ресурс NFS для других компьютеров в сети. Ниже приведено содержимое /etc/exports:
/media/storagedrive 10.0.0.0/24(rw,sync,no_subtree_check)
. Цель состоит в том, чтобы разделить содержимое /media/storagedrive на другие машины в сети в диапазоне IP 10.0.0.0 - 10.0.0.255.
4] HostЭто корректно работает с клиентской машиной на 10.0.0.40, запуская Ubuntu 13.10, известную как MattDev. Эта машина /etc/fstab выглядит так:
UUID=8f8c838e-3ea2-457a-87f0-57b12dfab06c / ext4 errors=remount-ro 0 1
UUID=427089d4-46a2-432d-9df4-7016bdfc7df2 none swap sw 0 0
10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive nfs rsize=8192,wsize=8192,timeo=14,intr
И ls -al /mnt/ на этой машине выглядит так:
total 12K
drwxr-xr-x 3 root root 4.0K Feb 4 17:48 .
drwxr-xr-x 23 root root 4.0K Feb 5 08:44 ..
drwxrwxr-x 7 root plugdev 4.0K Feb 5 11:43 NetworkStorageDrive
Вывод id выглядит так:
uid=1000(matt) gid=1000(matt) groups=1000(matt),4(adm),24(cdrom),27(sudo),30(dip),33(www-data),46(plugdev),112(lpadmin),124(sambashare)
Нерабочий виртуальный клиент
У меня есть вторая клиентская машина под управлением Ubuntu 12.10 в качестве гостевой ОС на хост-машине Windows 7. Хост-компьютер находится в сети как 10.0.0.28. Для гостевой машины управляет Vagrant, используя VirtualBox 4.3.6 в качестве поставщика. Я буду вызывать хост AlexDevHost и гостевой Ubuntu AlexDevGuest.
Запуск showmount -e 10.0.0.202 в AlexDevGuest производит:
Export list for 10.0.0.202:
/media/storagedrive 10.0.0.0/24
Однако, когда я пытаюсь установить общий ресурс, он не работает:
$ sudo mount 10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive
mount.nfs: access denied by server while mounting 10.0.0.202:/media/storagedrive
Итак, я начал искать проблемы:
$ ls -alh /mnt/
total 12K
drwxr-xr-x 3 root root 4.0K Feb 5 12:23 .
drwxr-xr-x 26 root root 4.0K Feb 5 12:23 ..
drwxr-xr-x 2 root root 4.0K Feb 5 12:23 NetworkStorageDrive
$ id
uid=1001(vagrant) gid=1001(vagrant) groups=1001(vagrant)
$
Что uid и gid отличаются от пользователя matt на MattDev. Поэтому я жонглировал uid для бродяг, так как я читал, что доступ к NFS контролируется путем сопоставления IP-адреса и uids. Итак, теперь:
$ id
uid=1000(vagrant) gid=1001(vagrant) groups=1001(vagrant)
$ sudo mount 10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive
mount.nfs: access denied by server while mounting 10.0.0.202:/media/storagedrive
$
Все еще нет успеха. Итак, теперь у меня заканчиваются идеи.
Что я делаю неправильно? Если часть uid верна, есть ли способ проверить, что машина NFS-сервера видит мою попытку доступа, исходящую от 10.0.0.28, а не какой-либо другой IP-адрес в разрешенном диапазоне?