Tutorial: Linux NFS Einrichten

Tutorial: Linux NFS (Network File System) Einrichten

In diesem Tutorial erkläre ich dir Schritt für Schritt, wie du NFS (Network File System) unter Linux einrichtest. NFS ermöglicht es, Verzeichnisse über ein Netzwerk freizugeben, sodass entfernte Rechner darauf zugreifen können, als wären sie lokale Verzeichnisse.

Voraussetzungen:

  • Zwei Linux-Maschinen: Eine als NFS-Server und eine als NFS-Client.
  • Root- oder sudo-Rechte auf beiden Maschinen.

Schritt 1: Installation von NFS-Server und -Client

Auf dem NFS-Server:

Zuerst installieren wir den NFS-Server auf der Maschine, die die Verzeichnisse freigeben soll.

sudo apt update
sudo apt install nfs-kernel-server

Für RHEL/CentOS:

sudo yum install nfs-utils

Auf dem NFS-Client:

Auf der Client-Maschine (die auf die freigegebenen Verzeichnisse zugreifen soll), installieren wir den NFS-Client.

Für Ubuntu/Debian:

sudo apt install nfs-common

Für RHEL/CentOS:

sudo yum install nfs-utils

Schritt 2: Freigabe eines Verzeichnisses auf dem NFS-Server

Erstelle das Verzeichnis, das du freigeben möchtest. In diesem Beispiel verwenden wir /srv/nfs_share.

sudo mkdir -p /srv/nfs_share

Gib diesem Verzeichnis die entsprechenden Berechtigungen. Standardmäßig können Clients nur auf Verzeichnisse zugreifen, die für sie zugänglich sind. Stelle sicher, dass die Berechtigungen korrekt gesetzt sind.

sudo chown nobody:nogroup /srv/nfs_share
sudo chmod 755 /srv/nfs_share

Nun müssen wir die NFS-Konfiguration anpassen. Öffne die Datei /etc/exports mit einem Texteditor:

sudo nano /etc/exports

Füge dort folgende Zeile ein, um das Verzeichnis freizugeben:

/srv/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check)
  • /srv/nfs_share: Der Pfad des freigegebenen Verzeichnisses.
  • 192.168.1.0/24: Das Netzwerksegment, das auf das Verzeichnis zugreifen darf.
  • (rw,sync,no_subtree_check): Optionen für die Freigabe:
    • rw: Leseschreibzugriff erlauben.
    • sync: Änderungen werden synchron geschrieben (sicherer, aber langsamer).
    • no_subtree_check: Deaktiviert zusätzliche Überprüfungen bei Zugriff auf Unterverzeichnisse.

Speichere die Datei und lade die NFS-Konfiguration neu:

sudo exportfs -ra

Um zu überprüfen, ob die Freigabe korrekt eingerichtet wurde, verwende:

sudo exportfs -v

Schritt 3: NFS-Server starten und aktivieren

Starte und aktiviere den NFS-Dienst, sodass er automatisch beim Booten startet.

Für Ubuntu/Debian:

sudo systemctl start nfs-kernel-server
sudo systemctl enable nfs-kernel-server

Für RHEL/CentOS:

sudo systemctl start nfs
sudo systemctl enable nfs

Schritt 4: Firewall-Konfiguration (optional)

Wenn auf deinem NFS-Server eine Firewall läuft, musst du sicherstellen, dass NFS-Verbindungen erlaubt sind.

Für ufw (Ubuntu/Debian):

sudo ufw allow from 192.168.1.0/24 to any port nfs

Für firewalld (RHEL/CentOS):

sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --reload

Schritt 5: NFS-Client einrichten und Mounten

Auf dem Client (der entfernten Maschine) müssen wir das freigegebene Verzeichnis mounten.

Erstelle zuerst ein lokales Verzeichnis, in das du die NFS-Freigabe einhängen möchtest, z. B. /mnt/nfs_clientshare.

sudo mkdir -p /mnt/nfs_clientshare

Mounten der NFS-Freigabe:

sudo mount 192.168.1.100:/srv/nfs_share /mnt/nfs_clientshare
  • 192.168.1.100: IP-Adresse des NFS-Servers.
  • /srv/nfs_share: Das freigegebene Verzeichnis auf dem Server.
  • /mnt/nfs_clientshare: Lokales Verzeichnis, in das das NFS-Verzeichnis gemountet wird.

Überprüfe, ob der Mount erfolgreich war:

df -h

Schritt 6: Automatisches Mounten beim Systemstart

Um sicherzustellen, dass das NFS-Verzeichnis bei jedem Neustart automatisch gemountet wird, kannst du die /etc/fstab bearbeiten.

Füge in die Datei /etc/fstab auf dem Client folgende Zeile ein:

192.168.1.100:/srv/nfs_share /mnt/nfs_clientshare nfs defaults 0 0

Speichere die Datei und teste die fstab-Konfiguration:

sudo mount -a

Schritt 7: NFS-Performance und Sicherheit

Performance-Tipps:

  • sync vs async: Verwende async in der /etc/exports-Datei, um die Geschwindigkeit zu verbessern, allerdings auf Kosten der Datensicherheit bei Abstürzen.
  • rsize/wsize: Du kannst die Leseblockgröße (rsize) und Schreibblockgröße (wsize) optimieren, z. B. auf 8192 setzen, um den Durchsatz zu verbessern.
sudo mount -o rsize=8192,wsize=8192 192.168.1.100:/srv/nfs_share /mnt/nfs_clientshare

Sicherheits-Tipps:

  • NFS-Version: Setze NFSv4 ein, da es sicherer ist als frühere Versionen. Dies kannst du in der /etc/exports-Datei durch das Hinzufügen der Option fsid=0 aktivieren:
/srv/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check,fsid=0)
  • NFS über Kerberos: Für zusätzliche Sicherheit kannst du NFS mit Kerberos integrieren, um authentifizierte Verbindungen zu gewährleisten.

Fazit:

NFS ist eine einfache und schnelle Methode, um Verzeichnisse über ein Netzwerk freizugeben. Mit den oben beschriebenen Schritten kannst du ein NFS-System einrichten, das sowohl für den Heimgebrauch als auch für den Unternehmenseinsatz geeignet ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert