NFS Server Setup: Linux Dateifreigaben im LAN bereitstellen

NFS (Network File System) ist ein bewährtes Protokoll, um Verzeichnisse und Dateien auf einem Linux-Server im LAN freizugeben. Mit NFS können mehrere Clients gleichzeitig auf zentrale Daten zugreifen, was insbesondere in Unternehmensnetzwerken oder Homelabs von Vorteil ist. Dieses Tutorial führt Schritt für Schritt durch die Installation, Konfiguration und Nutzung eines NFS-Servers auf Linux.

NFS-Pakete installieren

Die Installation der notwendigen Pakete hängt von der verwendeten Linux-Distribution ab.

# Debian/Ubuntu
sudo apt update
sudo apt install nfs-kernel-server

RHEL/CentOS/AlmaLinux/Rocky Linux

sudo dnf install nfs-utils

NFS-Dienst starten und aktivieren

Nach der Installation muss der NFS-Dienst gestartet und für den automatischen Start beim Booten aktiviert werden.

sudo systemctl enable --now nfs-server
sudo systemctl status nfs-server

Verzeichnisse für Freigaben vorbereiten

Die Verzeichnisse, die über NFS bereitgestellt werden sollen, müssen existieren und passende Berechtigungen besitzen.

# Beispiel: Verzeichnis erstellen
sudo mkdir -p /srv/nfs/shared
sudo chown nobody:nogroup /srv/nfs/shared
sudo chmod 2770 /srv/nfs/shared

NFS-Freigaben konfigurieren

Die Freigaben werden in der Datei /etc/exports definiert. Hier wird angegeben, welche Verzeichnisse freigegeben werden und welche Clients darauf zugreifen dürfen.

# Beispiel-Eintrag in /etc/exports
/srv/nfs/shared 192.168.1.0/24(rw,sync,no_subtree_check)
  • rw: Schreib- und Leserechte
  • sync: Synchronisierte Schreiboperationen für Datensicherheit
  • no_subtree_check: Vermeidet Probleme bei Unterverzeichnissen

Nach Änderungen die Exports neu laden:

sudo exportfs -ra
sudo exportfs -v

Firewall konfigurieren

Damit NFS-Clients auf den Server zugreifen können, müssen die entsprechenden Ports geöffnet werden.

# Beispiel mit UFW
sudo ufw allow from 192.168.1.0/24 to any port nfs
sudo ufw status

NFS auf Clients einbinden

Auf den Client-Systemen müssen die NFS-Freigaben gemountet werden.

# Temporär mounten
sudo mount -t nfs 192.168.1.10:/srv/nfs/shared /mnt/shared

Dauerhaft einbinden in /etc/fstab

192.168.1.10:/srv/nfs/shared /mnt/shared nfs defaults 0 0

Berechtigungen und Sicherheit

NFS verwendet standardmäßig UID/GID-basierte Berechtigungen. Für mehr Sicherheit empfiehlt sich:

  • Verwendung dedizierter Linux-Benutzer und Gruppen für NFS-Freigaben
  • Netzwerksegmentierung, um unbefugten Zugriff zu verhindern
  • Option no_root_squash nur nach sorgfältiger Prüfung verwenden
  • Firewall- und TCP Wrappers-Filter aktivieren

Best Practices für den NFS-Server

  • Regelmäßige Backups der NFS-Daten und der /etc/exports-Datei
  • Protokollierung aktivieren: log /var/log/nfs.log
  • Nur benötigte Clients zulassen
  • NFSv4 bevorzugen, da es sicherer und effizienter ist
  • Synchronisierte Schreiboperationen (sync) für kritische Daten verwenden

Testen der NFS-Freigaben

Die NFS-Freigaben lassen sich auf Clients und auch lokal testen.

# Von Client aus
showmount -e 192.168.1.10
mount | grep /mnt/shared

Dateien testen

ls /mnt/shared
touch /mnt/shared/testfile

Ein sauber konfigurierter NFS-Server ermöglicht zentralen Datenzugriff für alle berechtigten Clients im LAN, gewährleistet hohe Performance und behält gleichzeitig Sicherheitsrichtlinien ein. Durch die Einhaltung der Best Practices lassen sich Konflikte vermeiden und die Verwaltung der Freigaben deutlich vereinfachen.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles