Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:server:nfs]] 

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
anwenderwiki:server:nfs [2017/12/04 20:43] svenanwenderwiki:server:nfs [2017/12/04 20:48] (aktuell) sven
Zeile 1: Zeile 1:
 +====== NFS ======
 +Die linuxmuster.net stellte die Homeverzeichnisse der Benutzer den Clients via SAMBA zu Verfügung. Hier wird beschrieben, wie man dies alternativ vis NFS macht.
 +
 +<note important>Nach allgemeiner Meinung gilt NFS als unsicher gegenüber Cifs, u.a. weil ein Client sich
 +nur mit seiner IP-Adresse, nicht aber seiner MAC-Adresse ausweist.</note>
 +
 +=== Überblick ===
 +Die passenden Pakete müssen installiert werden. Dann müssen die mannigfaltigen Dienste auf feste Portnumern konfiguriert und diese beim Firewall eingetragen werden. Abschließend kann man von einem Client aus testen.
 +
 +=== Vorgehensweise ===
 +
 +1. Die Pakete **nfs-kernel-server** und **nfs-common** installieren.
 +
 +2. Die benötigten Freigaben werden in die Datei **/etc/exports** eingetragen. Für die Home-Verzeichnisse wird der ganze Baum freigegeben (10.16.1.1 muss durch die IP-Adresse des Servers ersetzt werden):
 +
 +''/home 10.16.1.1/12(rw,sync,no_subtree_check)''
 +
 +3. Die Dienste müssen auf feste Portnummern gelegt werden.
 +
 +a) Als Orientierung dient das Programm **rpcinfo -p**. Es sollte schließlich (nach erfolgter richtiger Konfiguration, also
 +am Ende dieses Artikels) folgendes erscheinen:
 +
 +   18:32/0 arktur /etc # rpcinfo -p
 +   Program Vers Proto   Port
 +    100000    2   tcp    111  portmapper
 +    100000    2   udp    111  portmapper
 +    100024    1   udp   4000  status
 +    100024    1   tcp   4000  status
 +    100003    2   udp   2049  nfs
 +    100003    3   udp   2049  nfs
 +    100003    4   udp   2049  nfs
 +    100021    1   udp   4002  nlockmgr
 +    100021    3   udp   4002  nlockmgr
 +    100021    4   udp   4002  nlockmgr
 +    100021    1   tcp   4002  nlockmgr
 +    100021    3   tcp   4002  nlockmgr
 +    100021    4   tcp   4002  nlockmgr
 +    100003    2   tcp   2049  nfs
 +    100003    3   tcp   2049  nfs
 +    100003    4   tcp   2049  nfs
 +    100005    1   udp   4003  mountd
 +    100005    1   tcp   4003  mountd
 +    100005    2   udp   4003  mountd
 +    100005    2   tcp   4003  mountd
 +    100005    3   udp   4003  mountd
 +    100005    3   tcp   4003  mountd
 +    100011    1   udp   4004  rquotad
 +    100011    2   udp   4004  rquotad
 +    100011    1   tcp   4004  rquotad
 +    100011    2   tcp   4004  rquotad
 +
 +b) Der Portmapper hat immer den Standardport **111**. Daran muss nichts geändert werden. Genauso hat der nfs-Dämon immer den Standardport **2049**. Alle weiteren Dienste benutzen üblicherweise wechselnde Ports.
 +
 +c) **rpc.statusd**\\
 +In der Datei ''/etc/default/nfs-common'' wird die vorhandene Variable 
 +
 +''STATDOPTS="--port 4000 --outgoing-port 4001"''
 +
 +gesetzt. Die Überprüfung erfolgt durch Neustart von ''nfs-common'' und ''rpcinfo -p''
 +(/etc/init.d/nfs-common restart).
 +
 +d) **rpc.mountd**\\
 +In der Datei ''/etc/services'' wird der Eintrag für den rpc.mountd entweder ergänzt oder verschoben. Die entsprechenden Zeilen müssen hinterher lauten:
 +
 +  mount           4003/udp                # rpc.mountd
 +  mount           4003/tcp                 # rpc.mountd
 +
 +Überprüfung durch Neustart von nfs-kernel-server und rpcinfo -p
 +(/etc/init.d/nfs-kernel-server restart).
 +
 +e) **rpc.rquotad**\\
 +In der Datei ''/etc/services'' wird der Eintrag für den rpc.rquotad ergänzt. Die entsprechenden Zeilen müssen hinterher lauten:
 +
 +  rquotad         4004/udp                 # rpc.rquotad
 +  rquotad         4004/tcp                 # rpc.rquotad
 +
 +Überprüfung durch Neustart von quotarpc und rpcinfo -p (/etc/init.d/quotarpc restart).
 +
 +f) **rpc.nlockmgr**\\
 +Um festzustellen, welche Variante richtig ist, prüfen Sie, ob der __lockd__ als Modul geladen ist (als root am Server):
 +<code>
 +lsmod | grep lockd
 +</code>
 +zeigt eine Zeile, die mit 
 +<code>
 +lockd ...
 +</code>
 +beginnt. Damit ist __lockd__ als Modul geladen und Variante 1 ist richtig, andernfalls ist Variante 2 richtig.
 +
 +**Variante 1: lockd als Modul**
 +
 +Man kann dem __lockd__, der als Modul geladen wird, die Portnummer als Option mit auf den Weg geben, dazu erzeugt man in dem Verzeichnis __/etc/modprobe.d/__ die Datei __lockd__. Sie erhält folgenden Inhalt:
 +<file>
 +# nfs: nlockmgr auf einen festen Port legen
 +options lockd nlm_udpport=4002 nlm_tcpport=4002
 +</file>
 +Danach muss (sicherheitshalber) der Server neu gestartet werden, damit die Optionen geladen werden.
 +
 +**Variante 2: lockd in den Kernel kompiliert**
 +
 +Da der lockd in den Kernel kompiliert worden ist, kann seine Portnummer nur durch einen Parameter in der Kernelzeile beeinflusst werden. In der Datei ''/boot/grub/menu.lst'' wird die Zeile „kernel ...“ des zu bootenden Kernels um die Parameter __lockd.udpport=4002“ und „lockd.tcpport=4002__ ergänzt. Der Eintrag lautet damit:
 +
 +  title           Debian GNU/Linux, kernel 2.6.24-3-server
 +  root            (hd0,0)
 +  kernel          /boot/vmlinuz-2 ... sda1 ro lockd.udpport=4002 lockd.tcpport=4002
 +  initrd          /boot/initrd.img-2.6.24-3-server
 +  savedefault
 +
 +Überprüfung nach einem Neustart des Servers durch rpcinfo -p.
 +
 +3. Alle Ports, die für dem Server bekannte Rechner freigegeben sein sollen, müssen in der Datei ''/etc/linuxmuster/allowed_ports'' eingetragen werden. Alle hier aufgelisteten Ports werden in die Firewallregeln eingetragen.
 +Die Datei lautet nach den Eintragungen:
 +
 +  #
 +  # List of allowed intranet ports.
 +  # Allowed only for imported workstations. 
 +  #
 +  # nfs: portmap(111 u|t), mountd(4003 u|t), nfs(2049 u|t), status(4000,4001 u|t)
 +  #      nlockmgr(4002 u|t) rquotad(4004 u|t)
 +  # protocol tcp|udp        portlist
 +  
 +  tcp 111,2049,4000:4004,domain,ldap,ldaps,ipp,auth,sunrpc,netbios-ssn,microsoft-ds,1095:1125,webcache
 +  udp 111,2049,4000:4004,domain,netbios-ns,netbios-dgm,9000:9100
 +
 +Überprüfung nach Neustart von linuxmuster-base (/etc/init.d/linuxmuster-base restart) von einem registrierten Linuxclient aus durch „rpcinfo -p server“. Es sollten die angegebenen Ports aufgelistet werden. Außerdem mit dem Portscanner „nmap server“ die freigegebenen Ports testen.
 +
 +4. Wenn alle diese Vorbereitungsschritte erledigt sind, kann man von einem registrierten Linuxclient aus den Baum mit dem Befehl 
 +mount server:/home /home
 +einhängen.
 +
 +=== Anmerkungen ===
 +  * Durch ein Update des Servers können einige dieser Änderungen wieder rückgängig gemacht werden. Daher sollte man sich Kopien der geänderten Dateien sichern.
  
 [[anwenderwiki:server:nfs]] anwenderwiki/server/nfs.txt · Zuletzt geändert: 2017/12/04 20:48 von sven