NFS Server · 4 min read · Dec 26, 2025
Einrichten eines NFS-Servers und -Clients unter Debian Lenny
Einrichten eines NFS-Servers und -Clients unter Debian Lenny
Version 1.0
Autor: Falko Timme
Diese Anleitung erklärt, wie man einen NFS-Server und einen NFS-Client unter Debian Lenny einrichtet. NFS steht für Network File System; über NFS kann ein Client auf ein entferntes Share auf einem NFS-Server zugreifen (lesen, schreiben), als ob es sich auf der lokalen Festplatte befände.
Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!
1 Vorbemerkung
Ich verwende hier zwei Debian-Systeme:
- NFS-Server: server.example.com, IP-Adresse: 192.168.0.100
- NFS-Client: client.example.com, IP-Adresse: 192.168.0.101
2 NFS installieren
server:
Auf dem NFS-Server führen wir aus:
apt-get install nfs-kernel-server nfs-common portmapclient:
Auf dem Client können wir NFS wie folgt installieren:
apt-get install nfs-common portmap3 Verzeichnisse auf dem Server exportieren
server:
Ich möchte die Verzeichnisse /home und /var/nfs für den Client zugänglich machen; daher müssen wir sie auf dem Server “exportieren”.
Wenn ein Client auf ein NFS-Share zugreift, geschieht dies normalerweise als Benutzer nobody. Normalerweise gehört das Verzeichnis /home nicht nobody (und ich empfehle nicht, dessen Eigentum auf nobody zu ändern!), und da wir auf /home lesen und schreiben wollen, sagen wir NFS, dass Zugriffe als root erfolgen sollen (wenn unser /home-Share nur lesbar wäre, wäre dies nicht notwendig). Das Verzeichnis /var/nfs existiert nicht, also können wir es erstellen und dessen Eigentum auf nobody und nogroup ändern:
mkdir /var/nfs
chown nobody:nogroup /var/nfsJetzt müssen wir /etc/exports ändern, wo wir unsere NFS-Shares “exportieren”. Wir geben /home und /var/nfs als NFS-Shares an und sagen NFS, dass Zugriffe auf /home als root erfolgen sollen (um mehr über /etc/exports, sein Format und verfügbare Optionen zu erfahren, werfen Sie einen Blick auf
man 5 exports)
vi /etc/exports| # /etc/exports: die Zugriffskontrollliste für Dateisysteme, die an NFS-Clients exportiert werden können # an NFS-Clients. Siehe exports(5). # # Beispiel für NFSv2 und NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Beispiel für NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # /home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check) /var/nfs 192.168.0.101(rw,sync,no_subtree_check) |
(Die Option no_root_squash sorgt dafür, dass /home als root zugegriffen wird.)
Wann immer wir /etc/exports ändern, müssen wir anschließend
exportfs -aausführen, um die Änderungen wirksam zu machen.
4 NFS-Shares auf dem Client einhängen
client:
Zuerst erstellen wir die Verzeichnisse, in denen wir die NFS-Shares einhängen möchten, z.B.:
mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfsAnschließend können wir sie wie folgt einhängen:
mount 192.168.0.100:/home /mnt/nfs/home
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfsSie sollten jetzt die beiden NFS-Shares in den Ausgaben von
df -hclient:~# df -h
Dateisystem Größe Benutzt Verfügbar Ben% Eingehängt in
/dev/mapper/vg0-root 19G 676M 17G 4% /
tmpfs 253M 0 253M 0% /lib/init/rw
odev 10M 80K 10M 1% /dev
tmpfs 253M 0 253M 0% /dev/shm
/dev/sda1 471M 20M 427M 5% /boot
192.168.0.100:/home 29G 684M 27G 3% /mnt/nfs/home
192.168.0.100:/var/nfs
29G 684M 27G 3% /mnt/nfs/var/nfs
client:~#und
mountclient:~# mount
/dev/mapper/vg0-root auf / Typ ext3 (rw,errors=remount-ro)
tmpfs auf /lib/init/rw Typ tmpfs (rw,nosuid,mode=0755)
proc auf /proc Typ proc (rw,noexec,nosuid,nodev)
sysfs auf /sys Typ sysfs (rw,noexec,nosuid,nodev)
odev auf /dev Typ tmpfs (rw,mode=0755)
tmpfs auf /dev/shm Typ tmpfs (rw,nosuid,nodev)
devpts auf /dev/pts Typ devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda1 auf /boot Typ ext3 (rw)
192.168.0.100:/home auf /mnt/nfs/home Typ nfs (rw,addr=192.168.0.100)
192.168.0.100:/var/nfs auf /mnt/nfs/var/nfs Typ nfs (rw,addr=192.168.0.100)
client:~#5 Testen
Auf dem Client können Sie jetzt versuchen, Testdateien auf den NFS-Shares zu erstellen:
client:
touch /mnt/nfs/home/test.txt
touch /mnt/nfs/var/nfs/test.txtGehen Sie jetzt zum Server und überprüfen Sie, ob Sie beide Testdateien sehen können:
server:
ls -l /home/server:~# ls -l /home/
total 4
drwxr-xr-x 2 administrator administrator 4096 2009-02-16 13:18 administrator
-rw-r--r-- 1 root root 0 2009-03-12 17:08 test.txt
server:~#ls -l /var/nfsserver:~# ls -l /var/nfs
total 0
-rw-r--r-- 1 nobody nogroup 0 2009-03-12 17:08 test.txt
server:~#(Bitte beachten Sie die unterschiedlichen Eigentümer der Testdateien: Das /home NFS-Share wird als root zugegriffen, daher gehört /home/test.txt root; das /var/nfs-Share wird als nobody zugegriffen, daher gehört /var/nfs/test.txt nobody.)
6 NFS-Shares beim Booten einhängen
Anstatt die NFS-Shares manuell auf dem Client einzuhängen, könnten Sie /etc/fstab ändern, damit die NFS-Shares automatisch eingehängt werden, wenn der Client bootet.
client:
Öffnen Sie /etc/fstab und fügen Sie die folgenden Zeilen hinzu:
vi /etc/fstab| [...] 192.168.0.100:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0 192.168.0.100:/var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0 |
Anstelle von rw,sync,hard,intr können Sie verschiedene Einhängeoptionen verwenden. Um mehr über verfügbare Optionen zu erfahren, werfen Sie einen Blick auf
man nfsUm zu testen, ob Ihre geänderte /etc/fstab funktioniert, starten Sie den Client neu:
rebootNach dem Neustart sollten Sie die beiden NFS-Shares in den Ausgaben von
df -hclient:~# df -h
Dateisystem Größe Benutzt Verfügbar Ben% Eingehängt in
/dev/mapper/vg0-root 19G 676M 17G 4% /
tmpfs 253M 0 253M 0% /lib/init/rw
odev 10M 80K 10M 1% /dev
tmpfs 253M 0 253M 0% /dev/shm
/dev/sda1 471M 20M 427M 5% /boot
192.168.0.100:/home 29G 684M 27G 3% /mnt/nfs/home
192.168.0.100:/var/nfs
29G 684M 27G 3% /mnt/nfs/var/nfs
client:~#und
mountclient:~# mount
/dev/mapper/vg0-root auf / Typ ext3 (rw,errors=remount-ro)
tmpfs auf /lib/init/rw Typ tmpfs (rw,nosuid,mode=0755)
proc auf /proc Typ proc (rw,noexec,nosuid,nodev)
sysfs auf /sys Typ sysfs (rw,noexec,nosuid,nodev)
odev auf /dev Typ tmpfs (rw,mode=0755)
tmpfs auf /dev/shm Typ tmpfs (rw,nosuid,nodev)
devpts auf /dev/pts Typ devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda1 auf /boot Typ ext3 (rw)
192.168.0.100:/home auf /mnt/nfs/home Typ nfs (rw,sync,hard,intr,addr=192.168.0.100)
192.168.0.100:/var/nfs auf /mnt/nfs/var/nfs Typ nfs (rw,sync,hard,intr,addr=192.168.0.100)
client:~#7 Links
- Linux NFS: http://nfs.sourceforge.net
- Debian: http://www.debian.org
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.