NFS (Network File System) ist ein unter Linux / UNIX bewährtes und schnelles Netzwerk-Protokoll zum Verteilen von Dateien im lokalen Netzwerk. Es ist schneller als Samba (SMB), das vor allem in Verbindung mit Windows-Rechnern im Einsatz kommt. Das Aufsetzen eines NFS-Servers nimmt zwar einige Minuten mehr in Anspruch als SMB, lohnt sich aber.

NFS-Server aufsetzen

Diese Anleitung gilt nur für auf Debian basierenden Linux-Distributionen, da sich unter anderen Distributionen die Namen der Pakete unterscheiden können. Als Erstes gilt es zu unterscheiden – zumindest ein Rechner muss im lokalen Netzwerk als Server konfiguriert werden – auf diesem werden die Dateien gespeichert. Die weiteren Rechner dienen anschließend als Clients – natürlich kann man auch mehrere Server aufsetzen.

Wichtig – Die Benutzer aller Systeme sollten auf allen Rechnern dieselbe UID haben – siehe adduser oder für bestehende Benutzer usermod. Ebenfalls ist es vorteilhaft, wenn jeder Rechner im lokalen Netzwerk seine statische IP-Adresse hat – siehe /etc/host.

Unter auf Debian basierenden Linux-Distributionen installieren Sie über die Paket-Verwaltung für den Server das Paketnfs-kernel-server„, auf den Clients das Paketnfs-common„.

Anschließend gilt es den Server einzurichten – speziell gilt es die Freigaben anzugeben, dies gelingt über die Datei/etc/exports„. Diese Datei öffnen wir mit administrativen Rechten am Terminal mit dem Befehl:

nano /etc/exports

Hier haben wir die Standardeinträge der Datei noch einmal als Text:

# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#

Jetzt legt man die Freigaben in der oben genannten Datei an. Sie können mehrere Freigaben erstellen – also mehrere Verzeichnisse freigeben, auf für unterschiedliche Rechner unterschiedliche Freigaben erstellen. Pro Zeile gibt man eine Freigabe an – deren Syntax sieht so aus:

/Pfad/zur/Freigabe/          Rechner-Name/oder Rechner-IP-Adresse(Optionen)

Sehen wir uns zu Beginn einmal die Optionen an, mit diesen wird geregelt, wer was mit welcher Freigabe anfangen kann:

  • rw – Lesen und Schreiben
  • ro – Lesen
  • sync – Daten werden sofort übertragen und geändert (etwa beim Speichern auf dem Server von einem anderen Rechner aus)
  • async – Schneller als „sync„, kann aber etwa bei Stromausfällen (Absturtz) zum Verlust von Daten führen

Es gibt natürlich noch weitere Optionen, für lokale Netzwerke ist aber kaum mehr nötig. Wollen wir einmal einen Versuch starten – ich möchte dem Rechner „robert_desktop“ Zugriff auf das Verzeichnis/home/robert/“ gewähren, natürlich lesend und schreibend:

/home/robert/          robert_desktop(sync,rw)

Jetzt möchte ich dem Rechner „robert_laptop“ ebenfalls Zugriff gewähren, aber nur lesend:

/home/robert/          robert_desktop(rw,sync)
/home/robert/          robert_laptop(ro,sync)

Dies lässt sich auch mit einer einzelnen Zeile lösen:

/home/robert/          robert_desktop(rw,sync) robert_laptop(ro,sync)

Statt des Namens des Rechners lässt sich alternativ natürlich auch die IP-Adresse nutzen. Auch können Sie natürlich einen kompletten IP-Adressbereich angeben, statt einzelner Rechner-Namen oder Rechner-IP-Adressen. Im Beispiel für die IP-Adressen von „192.168.1.1“ bis „192.168.1.255“ (Standard für private Netzwerke):

/home/robert/Musik/          192.168.1.0/255.255.255.0(rw,sync)

Damit Clients mit ihren Rechner-Namen zugreifen können – haben Sie diese in der Datei eingetragen, müssen diese auch in der Datei/etc/hosts“ aufscheinen – wie im Link beschrieben.

Haben Sie die Datei/etc/exports“ entsprechend angepasst, wird diese mit Strg+o gespeichert – Sie bestätigen die Nachfrage mit Eingabe und schließend den Editor mit Strg+x.
Jetzt soll NFS die Einstellungen neu einlesen und der Server neu gestartet werden, dies gelingt mit den Befehlen:

exportfs -ra
systemctl restart nfs-kernel-server

Starten Sie jetzt den Befehl:

showmount -e NFS_SERVER

können Sie Ihre Freigaben ansehen. Haben Sie eine Firewall aufgesetzt, gilt es die Ports2049/tcp“ und „2049/udp“ freizuschalten – siehe auch GUFW.

Auf NFS-Freigaben zugreifen

Zu Beginn erstellen wir auf dem Client mit administrativen Rechten auf dem Terminal ein Verzeichnis unter „/media/„, im Beispiel nenne ich dieses ganz einfach „nfs-freigabe„:

mkdir /media/nfs-freigabe

Jetzt gibt es zwei Möglichkeiten, die Freigabe einzuhängen – manuell und automatisch (hierfür muss der Client anschließend neu gestartet werden). Versuchen wir es einmal manuell – die IP-Adresse des Servers lautet „192.168.1.0„, die Freigabe „/home/robert/“ – am Terminal mit administrativen Rechten:

mount 192.168.1.0:/home/robert/ /media/nfs-freigabe/

Im Dateimanager finden Sie anschließend in der Orte-Liste den neuen Eintrag und Sie können darauf zugreifen. Die Automatische Konfiguration erstellen Sie mit administrativen Rechten in der Datei/etc/fstab“ am Terminal:

nano /etc/fstab

Fügen Sie eine neue Zeile ein – mit dem obigen Beispiel:

192.168.1.0:/home/robert/Musik/ /media/nfs-freigabe/

Categories:

Schreibe einen Kommentar

Noch keine Reaktion

Neue Themen im Forum
Debian installieren - für Anfänge …Da treten nun einige Fragen auf: Netzwerk einrichten - Domain-N … Weiterlesen
Frage zu GrubDanke @juhu, das war für mich eine reine Verständnisfrage allge … Weiterlesen
Brother Drucker unter LinuxMit der Suche nach „Linux Brother HL-2030“ fand ich zur Seite htt … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

September 2023
M D M D F S S
 123
45678910
11121314151617
18192021222324
252627282930  
Archive