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 portmap

client:

Auf dem Client können wir NFS wie folgt installieren:

apt-get install nfs-common portmap

3 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/nfs

Jetzt 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 -a

ausfü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/nfs

Anschließ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/nfs

Sie sollten jetzt die beiden NFS-Shares in den Ausgaben von

df -h
client:~# 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

mount
client:~# 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.txt

Gehen 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/nfs
server:~# 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 nfs

Um zu testen, ob Ihre geänderte /etc/fstab funktioniert, starten Sie den Client neu:

reboot

Nach dem Neustart sollten Sie die beiden NFS-Shares in den Ausgaben von

df -h
client:~# 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

mount
client:~# 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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.