Každá RPC služba má jednoznačně určené číslo (jejich seznam je možno získat v /etc/rpc), ale porty, na které se připojuje nejsou pevně určeny. O jejich přidělení na straně serveru se stará portmapper. Vyjímku tvoří NFS, které obvykle běží na vyhrazeném portu 2049. Seznam aktuálně přidělených portů můžeme získat příkazem rpcinfo -p.
Verze:
NFS verze 1:
Prototyp, nebyla nikdy použita.
NFS verze 2:
První verze, která se objevila v operačním systému SunOS 2. Běží nad UDP.
NFS verze 3:
Přidává některé funkce oproti předchozí verzi, např. vytváření speciálních
souborů, běží nad UDP a experimentálně nad TCP.
NFS verze 4:
Tato verze je momentálně ve vývoji, pro zájemce dokumentace RFC 3010.
Verze 2 i 3 jsou podporovány linuxem jak na straně serveru tak na straně klienta.
Vlastní připojení se provádí příkazem mount, například:
mount -t nfs server.domena:/export /mnt/nfsodpojení příkazem:
umount /mnt/nfs
Některé volby příkazu mount:
hard - při spadnutí serveru neumožní přerušit klienta (až na signál
kill), pokud nebyla zadána volba intr. Klient bude čekat na znovunavázání
spojení.
soft - může způsobit poškození souborů. Umožňuje pomocí volby
timeo=time stanovit "čekací dobu", během niž pokud server neodpoví, bude
klientovi vrácena chyba.
rsize=x,wsize=x - stanoví velikost datagramů, které budou použity
při komunikaci (může urychlit spojení, NFS verze 2 ovšem nepodporuje datagramy
větší než implicitní hodnoty).
nolock - nepoužívá zamykání
ro,rw - intuitivní volby (read only, read write)
intr - viz hard.
Pokud chceme připojovat svazky ihned po startu systému, je vhodné přidat následující řádek do /etc/fstab:
# device mountpoint fs-type options dump server.domena:/export /mnt/nfs nfs rw,hard,intr 0 0
/etc/exports
Tento soubor obsahuje seznam svazků, které server poskytuje k připojení
klientům. Jednotlivé řádky jsou tvaru:
adresar klient1(volba1,...) klient2(volba2,...)
kde:
ro | připojí adresář pouze pro čtení |
rw | připojí adresář pro čtení i zápis |
no_subtree_check | vypíná kontrolu, zda daný soubor patří do adresářového stromu. Může urychlit spojení v případě připojení velkého diskového svazku. |
no_auth_nlm | nevyžaduje autentizaci pro připojení svazku |
root_squash | připojuje-li svazek root, bere se jako uživatel anonymous |
sync | po každém zápisu na disk provede fsync() nebo fdatasync(), čímš zpomalí odezvu, ale máme skutečně jistotu, že data jsou na disku zapsána |
rpc.lockd
Spouští NFS lock manager na jádrech, která to nedělají automaticky.
rpc.statd
Je používán NFS pro ochranu dat pro případ rebootu NFS serveru.
/etc/hosts.allow, /etc/hosts.deny
Vystavujeme-li diskové svazky veřejnosti, je výhodné mezit přístup k
službám z některých počítačů, k čemuž slouží právě hosts.allow a hosts.deny.
V případě počadavku na poskytnutí nfs svazku server napřed zjistí, zda IP adresa
vyhovuje adrese z /etc/hosts.allow. Pokud ano, je jí povolen přístup, pokud ne,
podívá se do /etc/hosts.deny. Vyhovuje-li adresa tomuto souboru, pak je přístup
zamítnut.
Formát souborů hosts.*
Služba:IP adresa 1 , IP adresa 2 , ... (popř. ALL)
Po instalaci z rpm balíčku se automount zpouští klasicky z /etc/init.d/autofs, konfigurace probíhá typicky ve dvou souborech:
/etc/auto.master /etc/auto.misc, popřípadě jinak pojmenovaný, odkazuje na něj auto.master
/etc/auto.master
Formát je následující:
mount_point map_type:map_name optionskde:
/auto /etc/auto.misc --timeout=60
/etc/auto.misc
Formát je následující:
key [- options] locationkde:
kernel -ro,soft,intr ftp.kernel.org:/pub/linux cd -fstype=iso9660,ro :/dev/cdrom zip -fstype=auto :/dev/hdd4 floppy -fstype=vfat :/dev/fd0
amd /net /etc/disk.mapkde:
/etc/disk.map
Soubor je ve tvaru:
key value ....kde:
/defaults type:=nfs;rhost:=fileserver * rfs:=/home/;sublink:=${key}