Netzwerk Verzeichnisse mounten
Aus Gentoo Linux Wiki
| 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
- DE Linux NFS Howto - Hier wird auch auf die Sicherheit und Fehlersuche eingegangen.
- Automatisches Mounten von NFS Shares
- Benutzen von Portage via NFS
[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
--Misterjack 08:35, 22. Dez 2004 (GMT) --norg 00:35, 27. Aug 2007 (GMT)
