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. Я можу подати штраф «мізерверу» від проблемного клієнта.

EDIT: / 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 / export на сервері. Як тільки я це зробив (і запустив exportfs -r), кріплення -a на клієнті спрацювало.


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

Дякую за це, врятував мою дупу. Був готовий відмовитись від HOURS гугла. Я не бачив його в журналах, тому що я схоплювався за "nfs", але це фактично зареєстроване моє "mountd".
Cory J

1
@ Cory J, дякую, що знайшли час, щоб повідомити мені, що це допомогло! Ваш коментар змусив мене ще раз поглянути на це питання, і я бачу, що він має понад 12 тис. Переглядів! Тому, ймовірно, це допомагало іншим людям, але ви єдиний, хто сказав "спасибі"! :)
JoelFan

10

Це питання пов'язане з тим, як встановлена ​​мережа для вашого vm.

За замовчуванням у VirtualBox у вас є мережа NAT . Результат перекладу портів .

Крок за кроком це дає:

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

Як згадував @JoelFan, одним виправленням було б встановити insecureпараметр для сервера. Це швидке виправлення, але ... небезпечно;)

Що для мене виправлено (захищеним чином) - це перехід від NAT до мережі Bridge для цього vm. Таким чином, мій 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

Якщо це допомагає іншим людям, у мене є Synology NAS, і точка 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.