mount.nfs: odmowa dostępu przez serwer podczas montowania


12

W moim systemie Ubuntu mam ten wiersz w / etc / fstab:

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

Kiedy robię

sudo mount -a

Dostaję:

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

Jak mogę zdiagnozować ten problem? Serwer NFS to także Ubuntu.

Dodatkowe informacje: Jestem w stanie zamontować ten udział nfs z innych klientów Ubuntu w tej samej sieci bez problemu. Problematyczny klient różni się jednak tym, że działa w VirtualBox w systemie Windows. Mogę ping pingować „mój serwer” z problematycznego klienta.

EDYCJA: / etc / export na „myserver”:

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

/etc/hosts.allow i /etc/hosts.deny na „myserver” są komentarzami. I pamiętaj, że mogę dobrze łączyć się z innymi klientami w tej samej sieci.


próbowałeś dostosowywać pliki dziennika na zdalnym serwerze Ubuntu NFS? Sprawdź, czy podejmowana jest próba zamontowania nfs z maszyny wirtualnej w oknie systemu Windows.
— Patrick R

które dokładnie pliki dziennika?
— JoelFan

Czy coś pojawia się w / var / log / messages?
— Matt Simmons,

Odpowiedzi:


22

Znaleziono to!

Jeden z dzienników miał wiersz:

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

Poszukałem go i stwierdziłem, że ponieważ port ma ponad 1024, musiałem dodać opcję „niepewna” do odpowiedniej linii w pliku / etc / export na serwerze. Kiedy to zrobiłem (i uruchomiłem exportfs -r), mount -a na kliencie działał.


3
Chociaż to działa, teraz każdy użytkownik inny niż root może udawać nową instancję NFS i mieć dostęp do wszystkich plików. Czy ktoś wie, czy istnieje sposób, aby po prostu zmusić klienta NFS do zaprzestania używania tych wysokich numerów portów?
— pół

Dziękuję bardzo za to, uratowałem mi tyłek. Był gotowy zrezygnować po GODZINACH Google. Nie widziałem tego w logach, ponieważ szukałem „nfs”, ale tak naprawdę jest to moje „mountd”.
— Cory J

1
@Cory J, dzięki za poświęcenie czasu na poinformowanie mnie, że pomogło! Twój komentarz skłonił mnie do ponownego spojrzenia na to pytanie i widzę, że ma ponad 12 000 wyświetleń! Prawdopodobnie pomogło to innym ludziom, ale tylko ty powiedziałeś „dziękuję”! :)
— JoelFan

10

To pytanie dotyczy konfiguracji sieci dla twojego vm.

Domyślnie w VirtualBox masz sieć NAT . Które powodują tłumaczenie portów .

Krok po kroku daje to:

  1. Klient NFS korzysta z zarezerwowanego portu (<1024 ... który można otworzyć tylko przez root -> zabezpieczony)
  2. Virtualbox wykonuje translację portów (NAT) -> port klienta jest teraz większy niż 1024
  3. Serwer NFS odrzuca połączenie dla tego niezabezpieczonego portu.

Jak wspomniano w @JoelFan, jedną poprawką byłoby ustawienie insecureopcji na serwerze. Jest to szybka poprawka, ale ... niepewna;)

Tym, co naprawiło moją sprawę (w bezpieczny sposób) była zmiana z NAT na sieć Bridge dla tego vm. W ten sposób mój vm ma swój własny adres IP i nie dokonuje się translacji portów.


2

Zgadnij, co ... dla mnie źródłem dokładnie tego samego błędu była niezgodność wersji między moim klientem NFS a serwerem.

Dzienniki były ciche, jakby nic się nie wydarzyło, a tylko nfswatch działający po stronie serwera pomógł mi wyjaśnić sytuację.

Problem został rozwiązany przez dodanie opcji montowania nfsver po stronie klienta:

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

To był również mój problem. Debian 6 (Squeeze) z mountzainstalowanym pakietem v2.17.2-9. Rozwiązanie zadziałało.
— Alastair Irvine

1

Czy sprawdziłeś, czy rozpoznawanie nazw jest prawidłowe na serwerze dla klienta, który próbuje się połączyć (i jest wymieniony w pliku eksportu)?


zobacz moje zmiany w pytaniu ...
— Pozwalam

0

sprawdź pliki hosts.allowi hosts.denyczy klient jest poprawnie wprowadzony. jeśli to nie pomoże, opublikuj plik eksportu.


zobacz moje zmiany w pytaniu
— JoelFan

0

W przypadku, gdy pomaga to innym osobom, mam serwer Synology NAS, a punkt NFS faktycznie dodał kolejny element do ścieżki.

Próbowałem zamontować „xxx.xxx.xxx.xxx/folder”, ponieważ tak właśnie robię w systemie Windows. Ale dla Ubuntu z NFS musiałem użyć „xxx.xxx.xxx.xxx/volume1/folder”.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.