Linux als SOHO-Server
für Linux- und Windows-Clients |
Kapitel:
|
NFS (Network File Server) ist ein von der Firma: 'Sun
Microsystems' entwickelte Protokoll, welches den Zugriff auf Dateien über ein
Netzwerk ermöglicht. Benutzer können so auf Dateien zugreifen, als
wenn diese auf ihrer lokalen Festplatte abgespeichert sind. Im Verlauf dieses Kapitels wird gezeigt, wie NFS unter Debian-Linux zu handhaben ist. Dabei wird auf die Server- und Client-Seite bezüglich NFS eingegangen. NFS-ServerUnter Debian gibt es zwei verschiedene Varianten des NFS-Servers. Einmal einen Server, der in den Linux-Kernel eingebunden wird: 'nfs-kernel-server' und einmal einen Server, der als normales Anwendungs-Programm läuft, 'nfs-user-server'. Der Kernel-Server ist schneller, der als Programm laufende NFS-Server hat dafür mehr Features. Je nach dem, welche Variante gewünscht wird, ist diese mit 'apt-get install nfs-kernel-server' oder mit 'apt-get install nfs-user-server' zu installieren. Weiterhin sollten die RPC-Tools und der Portmapper installiert sein. Eventuelle Abhängigkeiten werden bei der Installation des NFS-Servers aufgelöst. Unter Debian-Linux sollten bereits bei der Basis-Installation alle Dienste installiert sein. Ist das nicht der Fall, so können diese mit: 'apt-get install nfs-common' nachinstalliert werden, alle daraus resultierenden Abhängigkeiten sollten aufgelöst werden. Die zentrale Konfigurationsdatei für einen NFS-Server ist die Datei: '/etc/exports'. Diese Datei regelt, welcher Rechner auf welche Verzeichnisse des Servers, wie zugreifen darf. Das folgende Beispiel zeigt zwei NFS-Freigaben:
Die Datei hat eine einfache Form, zeilenweise werden einzelne NFS-Freigaben
definiert. Jede Zeile beginnt mit einen absolutem Pfad zu dem Verzeichnis,
welches exportiert werden soll, gefolgt von einer Liste von berechtigten
Clients, die durch Leerzeichen getrennt werden. Die Clients können über IP-Addresse oder host-Namen spezifiziert werden. Bei Namen können Wildcards '*'
verwendet werden, hinter einer IP-Adresse kann die Netzmaske (z.B. '/24') mit
angegeben werden. In der ersten markierten Zeile wird das Verzeichnis: '/data/projects'
für alle Rechner im Subnetz: '192.168.1.0'
lesend und schreibend freigegeben (Option: 'rw'). Weiterhin ist es dem Rechner: 'alpha.my_network.tld'
gestattet, nur lesend auf das Verzeichnis zuzugreifen. Wurden Änderungen in der Datei: '/etc/exports' vorgenommen, so muss ein:
ausgeführt werden. Alternativ kann auch der NFS-Server erneut gestartet werden. Der Start es NFS-Servers kann je nach installierter Variante mit:
auf der Kommandozeile eingeleitet werden. NFS-ClientBei einem reinen NFS-Client unter Debian, der sich nur mit einen NFS-Server verbinden soll, genügt es, dass Paket: 'nfs-common' zu installieren. Natürlich müssen auch die RPC-Tools und der Portmapper vorhanden sein. Bei einer Installation mittels: 'apt-get install nfs-common' sollten alle Abhängigkeiten aufgelöst werden. Konfigurationstechnisch gibt es auf der Seite des NFS-Clients nicht viel zu. Für einen temporäre Zugriffe auf einen NFS-Server eignet sich das Kommando: 'mount' (mount = montiert). Das Kommando: 'mount' kann nach folgenden Schema angewandt werden:
Als Beispiel, bezogen auf die obige Freigabe (siehe: '/etc/exports'), kann folgendes Kommando auf dem Client ausgeführt werden:
Die Freigabe: '/data/projects' vom Rechner: '192.168.1.10' wird in das
Verzeichnis '/mnt' des Clients eingebaut (montiert).
Zu beachten ist, dass das Verzeichnis '/mnt' auf dem Client schon existieren.
Bezogen auf das vorherige Beispiel:
Beim un-mounten ist cdarauf zu achten, dass man sich nicht im ge-mounteten Verzeichnis befindet. Möchte man vom Client aus, ein entferntes Verzeichnis permanent mounten, so bietet es sich an, dieses Verzeichnis in der Datei: '/etc/fstab' einzutragen. In der Datei: 'fstab' werden statische Informationen über das Dateisystem gehalten, wie z.B. lokale Partitionen der Festplatte usw.. Wieder bezogen auf das obige Beispiel sieht der Eintrag in der 'fstab' wie folgt aus:
Bei jeden Hochlauf des Systems wird nun, das freigegebene NFS-Verzeichnis des Servers, mit ins Dateisystem auf dem Client unter '/mnt' eingebunden. Die Möglichen Optionen lassen sich in den Manualseiten zu 'nfs' und 'fstab' nachlesen. AnmerkungenWird bei einer NFS-Client/-Server-Verbindung die Netzwerkverbindung aus irgendeinem Grund unterbrochen, sollte das Kommando: 'umount' mit der Option '-f' angewandt werden. Andernfalls dauert es sehr lange dauern, bis der 'umount' durchgeführt wird. Beim Aufbau einer NFS-Verbindung während des Bootvorgangs (mittels 'fstab') sollte der NFS-Server einsatzbereit sein, ansonsten kann es eine ganze Weile dauern, bis ein 'Timeout' dafür sorgt, dass der Bootvorgang weitergeht. Mit dem Kommando: 'showmount', angewandt auf dem NFS-Server, werden alle mount-Informationen ausgegeben. Mittels der Option '-h' kann die Hilfe ausgegeben werden, ohne Optionen zeigt 'showmount' eine Liste der Clients, die von diesem Host mounten. Bei Problemen mit NFS-Zugriffen sollte zunächst in den log-Dateien unter '/var/log' nach möglichen Ursachen geschaut werden. Auch sollte eine korrekte Namensauflösung aller beteiligten Rechner gegeben sein. Bei Problemen mit Berechtigungen sollten auch die korrekte Konfiguration der Dateien '/etc/hosts.allow' und '/etc/hosts.deny' geprüft werden. Weitere Infos
letzte Änderung: 11. März 2009 |
Copyright © 2004 Norbert Eusterholz |