mount.nfs: доступ запрещен сервером при монтировании


12

В моей системе Ubuntu эта строка находится в / etc / fstab:

myserver:/home/me /mnt/me nfs rsize=8192,wsize=8192,timeo=14,intr

Когда я делаю

sudo mount -a

Я получил:

mount.nfs: access denied by server while mounting myserver:/home/me

Как я могу диагностировать эту проблему? Сервер NFS также Ubuntu.

Дополнительные сведения: я могу без проблем смонтировать этот общий ресурс nfs с других клиентов Ubuntu в той же сети. Однако проблемный клиент отличается тем, что он работает внутри VirtualBox в системе Windows. Я могу пинговать "myserver" нормально с проблемного клиента.

РЕДАКТИРОВАТЬ: / etc / export на "myserver":

/home/me *(rw,all_squash,async,no_subtree_check,anonuid=1000,anongid=1000)

/etc/hosts.allow и /etc/hosts.deny на «myserver» - все это комментарии. И имейте в виду, что я могу нормально подключаться от других клиентов в той же сети.


Вы пробовали хвост файлы журнала на удаленном сервере Ubuntu NFS? Посмотрите, предпринимается ли попытка монтирования nfs с виртуальной машины в окне Windows.
Патрик Р

какие именно файлы журналов?
JoelFan

Что-нибудь появляется в / var / log / messages?
Мэтт Симмонс

Ответы:


22

Нашел это!

У одного из журналов была строка:

refused mount request from 192.168.1.108 for /home/me (/home/me): illegal port 64112

Я гуглил и обнаружил, что, поскольку порт превышает 1024, мне нужно было добавить опцию «небезопасный» в соответствующую строку в / etc / exports на сервере. Как только я это сделал (и запустил exportfs -r), монтирование -a на клиенте сработало.


3
Хотя это работает, теперь любой пользователь без полномочий root может притвориться новым экземпляром NFS и иметь доступ ко всем вашим файлам. Кто-нибудь знает, есть ли способ просто заставить клиента nfs прекратить использовать эти большие номера портов?
Полу

Большое спасибо за это, спас мою задницу. Был готов сдаться после ЧАСОВ гуглить. Я не видел его в журналах, потому что я подбирал слова "nfs", но это на самом деле записал мой "mountd".
Кори J

1
@ Кори J, спасибо, что нашли время, чтобы сообщить мне, что это помогло! Ваш комментарий заставил меня еще раз взглянуть на этот вопрос, и я вижу, что он имеет более 12 тысяч просмотров! Так что, вероятно, это помогло другим людям, но вы единственный, кто сказал "спасибо"! :)
JoelFan

10

Этот вопрос связан с тем, как настроена сеть для вашего виртуального компьютера.

По умолчанию с VirtualBox у вас есть сеть NAT . Какой результат в переводе порта .

Шаг за шагом это дает:

  1. Клиент NFS использует зарезервированный порт (<1024 ... который может быть открыт только root -> защищен)
  2. Virtualbox выполняет преобразование порта (NAT) -> клиентский порт больше 1024
  3. Сервер NFS отклоняет соединение для этого незащищенного порта.

Как упомянул @JoelFan, одним из исправлений будет установка insecureопции для сервера. Это быстрое решение, но ... небезопасное;)

То, что исправило дело для меня (безопасным способом), было изменить с NAT на сеть Bridge для этого VM. Таким образом, у моего виртуального компьютера есть собственный IP-адрес, и преобразование портов не выполняется.


2

Угадайте, что ... для меня источником точно такой же ошибки было несоответствие версий между моим NFS-клиентом и сервером.

Журналы молчали, как будто ничего не произошло, и только nfswatch, работающий на стороне сервера, помог мне прояснить ситуацию.

Проблема была решена путем добавления опции монтирования nfsver на стороне клиента:

server:/path   /mount/point   nfs   nfsvers=3   0 0

Это тоже была моя проблема. Debian 6 (Squeeze) с mountустановленным пакетом v2.17.2-9. Решение сработало.
Аластер Ирвин

1

Проверено ли правильное разрешение имен на сервере для клиента, который пытается подключиться (и указан в файле экспорта)?


см. мои правки в вопросе ... Я разрешаю все
JoelFan

0

проверьте файлы hosts.allowи hosts.denyи правильно ли введен клиент. если это не помогает, пожалуйста, отправьте файл экспорта.


см. мои правки в вопросе
JoelFan

0

Если это помогает другим людям, у меня есть NAS-устройство Synology, и точка NFS фактически добавила еще один элемент в путь.

Я пытался смонтировать "xxx.xxx.xxx.xxx/folder", так как это то, что я делаю в Windows. Но для Ubuntu с NFS мне пришлось использовать «xxx.xxx.xxx.xxx/volume1/folder».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.