FreeBSD: NFS einrichten

NFS

NFS (Network File System) dient zur Verwendung von Partitionen oder Verzeichnissen über Rechnergrenzen hinweg. Diese kleine Anleitung gibt einen nur sehr knappen und schnellen Einstieg ohne auf die vielfältigen Konfigurationsmöglichkeiten einzugehen.

In den Beispielen ist der Rechner mit der IP 192.168.1.1 der NFS-Server und alle Rechner im Netz 192.168.1.0/24 dürfen auf dessen Daten Zugreifen.

Serverseite

Auf der Seite des Servers müssen die Dienste rpcbind, mountd und nfsd laufen. Dazu fügt man folgende Zeilen der Datei /etc/rc.conf hinzu:

nfs_server_enable="YES"
nfs_server_flags="-h 192.168.1.1"

Zusätzlich müssen die zu exportierenden Verzeichnisse in der Datei /etc/exports und die IPs der erlaubten Clients angegeben werden:

/home -alldirs -network 192.168.1.0

Wichtig: Es darf nur eine Zeile pro Partition angegeben werden. Wenn mehrere Verzeichnisse von einer Partition gemountet werden sollen dürfen, dann muss man entweder wie im Beispiel den Schalter -alldirs angeben um das Mounten aller Unterverzeichnisse eines übergeordneten Verzeichnisses zu gestatten oder man gibt alle Verzeichnisse hintereinander in der gleichen Zeile an, also beispielsweise

/home/egon /home/walter /home/detlef -network 192.168.1.0

Viele weitere Informationen zu den Möglichkeiten und Beispiele gibt es in exports(5).

Das Startskript nfsd erzwingt den Start der Dienste rpcbind und mountd sofern sie nicht explizit in /etc/rc.conf aufgeführt sind. Man startet den Server also mit

/etc/rc.d/nfsd start

Bei einer Änderung der Datei /etc/exports braucht man lediglich

/etc/rc.d/mountd forcerestart

ausführen.

Clientseite

Einen NFS-Client zu konfigurieren ist wesentlich einfacher. Man fügt der Datei /etc/rc.conf die Zeile

nfs_client_enable="YES"

hinzu und bereitet das System mit

/etc/rc.d/nfsclient start

auf den Einsatz als NFS-Client vor. Schließlich trägt man nur noch eine entsprechende Zeile für das Verzeichnis in die Datei /etc/fstab ein

192.168.1.1:/home/detlef     /usr/home/detlef      nfs     rw

und mountet das Verzeichnis

mount /usr/home/detlef