Netzwerk Verzeichnisse mounten

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
Installationsmethoden LiveCDs Kernel & Hardware Laptops & Notebooks Portage System Netzwerke & Services X Software Anderes alphabetischer HOWTO Index



Inhaltsverzeichnis

[Bearbeiten] NFS

NFS ist die komfortable Möglichkeit, Verzeichnise eines anderen Rechners wie Partitionen in die Baumstruktur zu mounten. NFS unterstützt keine Verschlüsselung oder Passwortabfrage, weshalb man es nur in sicheren lokalen Netzen einsetzen sollte.

[Bearbeiten] Kernel konfigurieren

In den Kerneln der beteiligten Rechner muss natürlich NFS einkompiliert werden. Dazu

cd /usr/src/linux && make menuconfig
File systems  ---> 
 Network File Systems --->
  <M> NFS file system support
  [ ]   Provide NFSv3 client support
  [*]   Provide NFSv4 client support (EXPERIMENTAL)
  [ ]   Allow direct I/O on NFS files (EXPERIMENTAL)
  <M> NFS server support
  [ ]   Provide NFSv3 server support
  [*]   Provide NFS server over TCP support

Soll ein Rechner keine Verzeichnisse exportieren, dann braucht dieser keine NFS-Server-Unterstützung.

[Bearbeiten] Tools emergen

Die NFS Tools braucht man auch noch auf jedem beteiligten Rechner, erhältlich per:

emerge -av nfs-utils

[Bearbeiten] Server (/etc/exports) konfigurieren

Das ist auf jedem Rechner notwendig, der Verzeichnisse exportieren soll.

nano -w /etc/exports

Meine sieht so aus:

/home/mrjack/pub        192.168.0.0/24(rw,sync)
/srv/www/htdocs         192.168.0.2(rw,sync)    192.168.0.4(rw,sync)
/usr/portage            192.168.0.0/24(rw,sync,no_root_squash)
/usr/local/overlays     192.168.0.0/24(rw,sync,no_root_squash)

Wie ersichtlich ist die Syntax:

Verzeichnis              Maschine/SubnetzA(Optionen)         Maschine/SubnetzB(Optionen)

Die letzten beiden Verzeichnisse nutze ich zum Exportieren der Portage-Trees, mehr dazu im Benutzen von Portage via NFS Howto.

[Bearbeiten] Verzeichnis

Ist klar, das sind die Verzeichnise, auf die man per NFS zugreifen will.

[Bearbeiten] Maschine/Subnetz

Mit Angabe einer spezifischen Adresse gibt man die Freigabe nur einem Rechner frei. Man kann jedoch mehrere Rechner einbinden, siehe in der zweiten Zeile. Subnetze kann man wie ersichtlich mit 192.168.0.0/24 angeben, in dem Fall gilt die Freigabe für sämtliche Rechner der IP 192.168.0.1 - 192.168.0.255.

Folgende Möglichkeiten gibt es unter anderem:

192.168.0.0/16       192.168.0.1 - 192.168.255.255
192.168.0.0/24       192.168.0.1 - 192.168.0.255

Mehr dazu findet man z.B. im Netzwerk Konzept Howto unter Punkt 4.1.

[Bearbeiten] Optionen

Die wichtigsten Optionen sind:

  • rw - Dies erlaubt schreibenden Zugriff der Clients. Per default ist das Schreiben verboten.
  • sync - Diese Option sorgt dafür, dass die Daten sofort geschrieben werden, so dass es bei einem Stromausfall z.B. nicht zu Datenverlust kommt. Die Gegenoption async erhöht zwar ein wenig die Performance, ist aber nicht zu empfehlen.
  • root_squash - Zugriffe von dem Client mit der uid/gid 0 (root) werden mit der anonymous uid/gid behandelt. Diese Option gilt nur für root-Zugriffe.
  • no_root_squash - Diese Option schaltet Root Squashing aus. ACHTUNG: Der Client bewegt sich, wenn er als root angemeldet ist, ebenfalls als root auf dem Server!
  • all_squash - Für alle User der Clients wird die uid/gid des Users anonymous benutzt. Diese ist nützlich für exportierte public-Verzeichnise. Die Gegenoption ist "no_all_squash", diese ist die Standardeinstellung.
  • anonuid and anongid - Diese Option setzt die uid und gid für den User anonymous.

Mehr dazu in der exports Manpage.

Der Server kann nun gestartet werden mit:

/etc/init.d/nfs start

Damit er beim Booten gestarted wird:

rc-update -a nfs default

[Bearbeiten] Clients (/etc/fstab) konfigurieren

Alternativ lassen sich die Clients auch mit Autofs konfigurieren. Der Vorteil ist, dass beim Betreten der Verzeichnisse, an denen die NFS-Freigaben eingehängt werden sollen, Autofs das Einhängen automatisch erledigt. Mehr dazu im Autofs Howto.

Um die Verzeichnise nun praktisch mounten zu können:

nano -w /etc/fstab

In meinen Beispiel:

192.168.0.1:/home/mrjack/pub     /pub                  nfs    intr,rw,suid,auto
192.168.0.1:/srv/www/htdocs      /htdocs               nfs    intr,rw,suid,noauto
192.168.0.1:/usr/portage         /usr/portage          nfs    intr,rw,suid,auto
192.168.0.1:/usr/local/overlays  /usr/local/overlays   nfs    intr,rw,suid,auto

Wichtig ist, dass die Angabe der Shares mit IP:Pfad/zur/Freigabe erfolgt. Für nfs sind einige Optionen verfügbar, weiterführende Auskunft gibt die NFS Manpage.

Anmerkung: Wenn mount sich beim mounten der nfs-Partitionen aufhängt, sollte man überprüfen, ob /etc/init.d/nfsmount gestartet ist. Hängt sich dagegen der grafische Desktop beim Aufstarten nahezu auf (z.B. KDE) und ist das home-Verzeichnis z.B. per NFS gemountet (man sieht dann in dmesg einen Timeout), so muss man noch nfs-utils installieren und in den Runlevel packen:

emerge -au nfs-utils  # falls noch nicht installiert
rc-update add nfsmount default # ebenfalls notwendig

Dann klappt es auch mit KDE und Co. Durch nfsmount wird auch portmap gestartet.

[Bearbeiten] Links

[Bearbeiten] SHFS

Im Gegensatz zu NFS erfolgt die Übertragung und der Zugriff über das SSH-Protokoll und ist einfacher einzurichten. Achtet darauf, dass ihr derjenigen Person, der ihr SSH-Zugriff gebt, auch wirklich 100% vertrauen könnt. Viele der derzeitigen Sicherheitslücken lassen sich nur lokal angemeldet ausführen und per SSH ist man lokal angemeldet. Unter Umständen kann dann ein angemeldeter User Rootzugriff erhalten und euren Rechner missbrauchen. Ergo ist SHFS nur etwas für voll vertrauenswürdige Personen!

[Bearbeiten] Server

Auf dem Rechner, von den man die Verzeichnisse mounten will, braucht man lediglich den SSH-Server zu starten:

/etc/init.d/sshd start

Um den Server beim Booten gleich starten zu lassen:

rc-update -a sshd default

Natürlich muss für den User, der ein Verzeichnis des Rechners mounten will ein Benutzerkonto vorhanden sein.

[Bearbeiten] Client

Der Client braucht ein zusätzliches Kernelmodul, SHFS. Dieses ist erhätlich per:

emerge -av shfs

Wenn man sich die USE-Flags anschaut, sieht man, das SHFS "amd" als Useflags besitzt. Das fügt automounter Support hinzu. Alternativ ist das automatische Mounten auch mit Autofs möglich.

Nun noch das Kernelmodul laden:

modprobe shfs

Nun braucht man noch einen Mountpoint:

mkdir /mnt/shfs

Mounten kann man die Verzeichnisse nun wie folgt:

shfsmount username@server:/pfad/zu/verzeichnis /mnt/shfs

oder

mount -t shfs username@server:/pfad/zu/verzeichnis /mnt/shfs

[Bearbeiten] Links

Shfs Homepage


--Misterjack 08:35, 22. Dez 2004 (GMT) --norg 00:35, 27. Aug 2007 (GMT)

'Persönliche Werkzeuge