GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

„mount.nfs:Zugriff vom Server beim Mounten verweigert“ – wie man es löst

Problem

Das Mounten der nfs-Freigabe vom CentOS/RHEL NFS-Server auf einem NFS-Client gibt den unten gezeigten Fehler aus:

# mount -t nfs x.x.x.x:/share /mnt
mount.nfs: access denied by server while mounting x.x.x.x:/share

Sie können versuchen, den Befehl mount mit der Option verbose auszuführen, um einen detaillierten Fehler zu diesem Problem zu erhalten.

# mount -t nfs -vvvv server.example.com:/share /mnt
mount.nfs: timeout set for Fri Mar 9 17:56:57 2018
mount.nfs: trying text-based options 'vers=4.1,addr=x.x.x.x,clientaddr=x.x.x.x'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'vers=4.0,addr=x.x.x.x,clientaddr=x.x.x.x'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'addr=x.x.x.x'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying x.x.x.x prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying x.x.x.x prog 100005 vers 3 prot UDP port 300
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting server.example.com:/share

Lösung

Dies ist ein allgemeines Problem beim NFS-Mounting beim Client und kann aufgrund vieler Probleme auftreten. Nachfolgend sind einige der am häufigsten auftretenden Probleme aufgeführt.

1. Versuchen Sie das Mounten mit NFSv3

Manchmal unterstützt der NFS-Server möglicherweise nur NFSv3-Verbindungen. Standardmäßig verwendet der Mount-Befehl NFSv4, was zu dem Fehler führen kann. Um dies zu vermeiden, geben Sie beim Mounten der Freigabe NFSv3 an.

# mount -t nfs -o nfsvers=3 x.x.x.x:/share /mnt

2. Überprüfen Sie /etc/exports auf korrekte Freigabeoptionen

Stellen Sie sicher, dass /etc/exports korrekt auf die korrekten NFS-Client-Informationen verweist, um Zugriff zu gewähren. Einige NFS-Server erfordern, dass der NFS-Clientname in IP auflösbar ist, daher sollte er über DNS auflösbar oder in /etc/hosts des NFS-Servers angegeben sein. Das Format von /etc/exports Datei ist:

dir client1 (options) [client2(options)...]

Zu den Client-Optionen gehören (Standardwerte werden zuerst aufgeführt):
ro / rw :
a) ro :Clients nur Lesezugriff auf die Freigabe gewähren.
b) rw :Clients Lese-/Schreibzugriff auf die Freigabe gewähren.
sync / async :
a) sync :Der NFS-Server antwortet auf die Anfrage erst, nachdem Änderungen, die durch vorherige Anfragen vorgenommen wurden, auf die Festplatte geschrieben wurden.
b) async :gibt an, dass der Server nicht warten muss.
wdelay / no_wdelay
a) wdelay :Der NFS-Server verzögert das Festschreiben von Schreibanfragen, wenn er vermutet, dass eine weitere Schreibanfrage unmittelbar bevorsteht.
b) no_wdelay :Verwenden Sie diese Option, um die Verzögerung zu deaktivieren. Die Option no_wdelay kann nur aktiviert werden, wenn standardmäßig sync Option ist aktiviert.
no_all_squash / all_squash :
a) no_all_squash :ändert nicht die Zuordnung von entfernten Benutzern.
b) all_squash :um alle entfernten Benutzer einschließlich root zu squashen.
root_squash / no_root_squash :
a) root_squash :verhindern, dass remote verbundene Root-Benutzer Root-Zugriff haben. Effektives Squashing von Remote-Root-Privilegien.
b) no_root_squash :Root-Squashing deaktivieren.

Beispiel:

# vi /etc/exports
/test nfs_client(rw)

3. Überprüfen Sie die NFS-Serverberechtigungen

– Es könnte ein Problem mit dem NFS-Server geben, der die NFS-Freigabe teilt. Versuchen Sie, die problematische Freigabe auf einem anderen NFS-Client zu mounten, um die Möglichkeit eines Problems auf dem NFS-Server auszuschließen.
– Setzen Sie die Berechtigung auf (ro,no_root_squash,sync) für den NFS-Export auf Serverseite und führen Sie den Befehl aus:

# exportfs -r

Versuchen Sie dann, das NFS-Freigabeverzeichnis zu mounten. Wenn Sie den NFS-Client in /etc/exports nach Domäne oder Hostname angeben, stellen Sie sicher, dass der Domänenname der richtigen IP zugeordnet ist, einem falschen Eintrag in /etc/hosts könnte beispielsweise dazu führen, dass der Zugriff verweigert wird.

4. Verwendung von tcpdump

In sehr seltenen Fällen müssen Sie möglicherweise tcpdump verwenden, um tcpdump der Mount-Operation zu erfassen. Führen Sie zuerst den folgenden Befehl aus, um mit der Erfassung der Netzwerkpakete zu beginnen. Starten Sie in einem anderen Terminal die NFS-Mount-Operation.

# tcpdump -s0 -i [eth#] host [nfs_server_ip] -w /tmp/tcpdump.pcap
Fehlerbehebung bei häufigen NFS-Problemen unter Linux
CentOS / RHEL 7 :Konfigurieren eines NFS-Servers und NFS-Clients


Cent OS
  1. So konfigurieren Sie einen NFS-Server und mounten NFS-Freigaben unter Ubuntu 14.10

  2. Einrichten eines NFS-Servers und -Clients unter CentOS 6.3

  3. So greifen Sie über einen Webbrowser in CentOS/RHEL auf den VNC-Server zu

  4. Zugriff auf den VNC-Server über einen Webbrowser unter Linux

  5. mount.nfs:Zugriff vom Server beim Mounten auf Ubuntu-Rechnern verweigert?

So mounten Sie eine NFS-Freigabe unter Linux

So richten Sie NFS-Server und -Client unter Debian 10 ein

So installieren Sie den NFS-Server unter Ubuntu 20.04 LTS

So richten Sie NFS-Server und -Client unter CentOS 8 ein

Zugriff auf die Systemsteuerung (Plesk)

So mounten Sie NFS unter Debian 11