Erinevus lehekülje "NFS kasutamine Debianiga" redaktsioonide vahel
(→Märkused) |
(→Märkused) |
||
240. rida: | 240. rida: | ||
ning tuleks eemaldada mainitud kataloog, mis tõenäoliselt jäi süsteemi krahhist vms sündmusest. | ning tuleks eemaldada mainitud kataloog, mis tõenäoliselt jäi süsteemi krahhist vms sündmusest. | ||
+ | |||
+ | * Tundub, et üldiselt saab NFS klient aru, kui NFS serverist välja jagatud ressurssi online'is suurendatakse. Põhjusel, et NFS klient kasutab NFS serveri teenust nö objektipõhiselt, mitte plokkseadme või failisüsteemi kui tervikuna. | ||
===Kasulikud lisamaterjalid=== | ===Kasulikud lisamaterjalid=== |
Viimane redaktsioon: 26. september 2011, kell 12:25
Sisukord
Sissejuhatus
NFS (Network File System) failisüsteemi töötas 1984 aastal välja Sun Microsystems ja seda toetavad erineval määral paljud operatsioonisüsteemid sh Linux ja BSD. Protokollist on levinud mitmeid versioone, 2010 aastal valdavalt v3 ja v4, Debian Lenny paketihaldus sisaldab tarkvara NFSv3 ja NFSv4 kasutamiseks. Linuxi NFSv4 http://nfs.sourceforge.net/ on protokolli http://tools.ietf.org/html/rfc3530 implementatsioon.
Tööpõhimõte
NFS (Network File System) võimaldab ühe arvuti failisüsteemi kasutada teisest arvutist. NFS serveri ülesanne on jagada võrgus olevatele NFS klientidele serveri failisüsteemi sealjuures kontrollitakse, millisele osale NFS serveri failisüsteemist millised kliendid ligi pääsevad ja milliste privileegidega.
NFS puhul on oluline asjaolu, et võrku jagatakse olemasolevat failisüsteemi, mis võib iseenesest olla nt ext3 võis xfs kusjuures võrku välja jagatud failisüsteem on serveris külge-monteeritud olekus ning kasutatav.
NFS tarkvara paigaldamine
Üldiselt Debiani kasutajal ei ole vaja NFS tarkvara ise kompileerida, kõik praktiliselt vajalik on paketihaldusest kättesaadav, nt Debian Lenny tuum on seadistatud NFS osas selliselt
# grep NFS /boot/config-2.6.26-2-amd64 CONFIG_NFS_FS=m CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=y CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_NFS_ACL_SUPPORT=m CONFIG_NFS_COMMON=y CONFIG_NCPFS_NFS_NS=y
NFS server
NFS serveri tarkvara esineb kahel kujul, nfs-user-server ja nfs-kernel-server, antud juhtumil tutvustatakse nfs-kernel-serveri kasutamist. Serveri tarkvara paigaldamiseks tuleb öelda
# apt-get install nfs-kernel-server
NFS klient
NFS kliendile vajaliku tarkvara paigaldamiseks tuleb öelda
# apt-get install nfs-common
NFSv3 kasutamine
NFSv3 võimaldab ühe arvuti failisüsteemi kasutada teisest arvutist, kusjuures kliendi autentimine toimub ip aadressi ja kasutaja UID põhiselt.
NFSv3 server
NFS serveri seadistusfailis /etc/exports kirjeldatakse, milliseid katalooge oma failisüsteemist NFS server võrku jagab ja milliste ligipääsupiirangutega. Nt selline rida
# cat /etc/exports /srv/home 192.168.10.0/24(rw,no_root_squash,async,no_subtree_check)
jagab välja selliste omadustega ressursi
- /srv/home - milline kataloog võrku jagatakse
- 192.168.10.0/24 - võrgu arvutid saavad kasutada
- rw - kataloog on kasutajatele loetav ja kirjutatav
- no_root_squash - nfs kliendi juurkasutajal on nfs ressursi suhtes nö tavalised juurkasutaja privileegid
- async - nfs failisüsteemi kasutatakse asünkroonselt, st nfs klient ei oota nfs serverilt kinnitust, et muudatused on jõudnud serveri failisüsteemi
NFSv3 klient
Ressursi monteerimiseks sobib öelda
# mount 10.0.9.19:/srv/home /srv/home
või lisada /etc/fstab faili rida
10.0.9.19:/srv/home /srv/home nfs defaults 0 0
NFSv4 kasutamine ilma Kerberoseta
NFSv4 kasutamisel võrrelded varasema versiooniga on iseloomulik
- kliendi ja serveri poolel peab töötama idmapd deemon
- väljajagatud ressursi poole pöördumisel kasutatakse nö virtuaalset juurikat, mida seadistusfailis tähistab fsid=0
NFSv4 server
Seadistusfailis /etc/default/nfs-common peab sisalduma rida
NEED_IDMAPD=yes
Seadistusfailis /etc/exports näidatakse, millised ressursid kuidas välja jagatakse, nt
/srv 192.168.10.0/24(rw,fsid=0,insecure,no_subtree_check,async) /srv/home 192.168.10.0/24(rw,nohide,insecure,no_subtree_check,async)
Muudatuste kehtestamiseks tuleb öelda
# /etc/init.d/nfs-kernel-server restart
NFSv4 klient
Seadistusfailis /etc/default/nfs-common peab sisalduma rida
NEED_IDMAPD=yes
Serveri ressursi monteerimiseks tuleb öelda nt
# mount -t nfs4 nfs-server:/home /home
või kasutada /etc/fstab failis rida
nfs-server:/home /home nfs4 rw 0 0
NFSv4 kasutamine Kerberosega
NFSv4 üks oluline eelis varasemate versioonide ees on võimalus kasutada teda koos Kerberosega ja korraldada nii oluliselt turvalisem andmevahetus.
Eesmärk
Olgu skeemis kolm osalist
- Kerberose server
- Failiserver nfs-server.loomaaed
- Failiserveri klient nfs-klient.loomaaed
kerberos.loomaaed ___ | | krb5kdc - 88/tcp |___| kadmind - 749/tcp | /etc/krb5kdc/principal | ----|----------|-------------------------|--- | | __|__ __|__ | | /tmp/krb5cc_1000 | | /etc/krb5.keytab |_____| |_____| nfs-klient.loomaaed nfs-server.loomaaed
Kerberose ettevalmistamine
Eeldame, et käesoleva teksti kasutajal on üldiselt on Kerberose kasutamisest ettekujutus olemas, nt teksti MIT Kerberose kasutamine Debianiga põhjal, ja Kerberose server on juurutatud.
Lisaks tuleb Kerberose serveri seadistusfaili /etc/krb5.conf sektsiooni [libdefaults] lisada rida
[libdefaults] .... allow_weak_crypto = true
ja muudatuste kehtestamiseks öelda
# /etc/init.d/krb5-admin-server restart # /etc/init.d/krb5-kdc restart
NFSv4 server
NFSv4 serverisse tuleb lisaks paigaldada paketid
# apt-get install nfs-kernel-server krb5-config krb5-user libkadm55
ning seadistada /etc/krb5.conf faili sisu nt nii nagu Kerberose serveris. Lisaks tuleb registreerida Kerberose andmebaasis NFS teenusele vastav osapool öeldes NFS serveris
# kadmin -p root/admin -q "addprinc -randkey nfs/nfs-server.loomaaed"
Seejärel tuleb kopeerida NFS serveri failisüsteemi NFS serverile vastav saladus
# kadmin -p root/admin -q "ktadd -e des-cbc-crc:normal -k /etc/krb5.keytab nfs/nfs-server.loomaaed"
NFS serveri seadistusfailis /etc/default/nfs-kernel-server peab sisalduma rida
NEED_SVCGSSD=yes
ja seadistusfailis /etc/default/nfs-common rida
NEED_IDMAPD=yes
NFS tuleb ressurss välja jagada nt selliselt
# cat /etc/fstab /srv/nfs4 gss/krb5p(rw,sync,fsid=0,insecure,no_subtree_check) /srv/nfs4/homes gss/krb5p(rw,nohide,sync,insecure,no_subtree_check)
kusjuures gss/krb5p kohal saab kasutada selliseid väärtusi
- gss/krb5 - autentimine
- gss/krb5i - terviklikkus
- gss/krb5p - privaatsus
Seadistuste kehtestamiseks tuleb restartida nfs-kernel-server öeldes
# /etc/init.d/nfs-kernel-server restart ... Exporting directories for NFS kernel daemon.... Starting NFS kernel daemon: nfsd svcgssd.
NFSv4 klient
NFSv4 klienti tuleb lisaks paigaldada paketid
# apt-get install nfs-kernel-common krb5-config krb5-user libkadm55
ning seadistada /etc/krb5.conf faili sisu nt nii nagu Kerberose serveris. Lisaks tuleb registreerida Kerberose andmebaasis NFS teenusele vastav osapool öeldes NFS serveris
# kadmin -p root/admin -q "addprinc -randkey nfs/nfs-klient.loomaaed"
Seejärel tuleb kopeerida NFS kliendi failisüsteemi NFS kliendile vastav saladus
# kadmin -p root/admin -q "ktadd -e des-cbc-crc:normal -k /etc/krb5.keytab nfs/nfs-klient.loomaaed"
NFS kliendi seadistusfailis /etc/default/nfs-common peavad sisalduma read
NEED_IDMAPD=yes NEED_GSSD=yes
Muudatuste kehtestamiseks tuleb uuesti startida nfs-commons öeldes
# /etc/init.d/nfs-common restart ... Starting NFS common utilities: statd idmapd gssd.
Ressursi kasutamiseks sobib juurkasutajal öelda
# mount -t nfs4 -o sec=krb5p nfs-server.loomaaed:/home /srv/home
või kasutada NFS kliendi /etc/fstab failis rida
nfs-server.loomaaed:/home /srv/home nfs4 rw,sec=krb5p 0 0
Ja seejärel saab kasutaja oma TGT pileti olemasolul pääseda juurde oma nfs andmetele kataloogi /srv/home/priit
Alternatiiviks on, et kasutaja ise ühendab oma ressurssi külge nfs serverist
$ mount -t nfs4 -o sec=krb5p,users nfs-server.loomaaed:/home/priit /home/priit/nfs
Märkused
- Probleemide jälitamiseks sobib kasutada failis /etc/default/nfs-common rida
RPCGSSDOPTS="-vvv"
ning failis /etc/default/nfs-kernel-server rida
RPCSVCGSSDOPTS="-vvv"
- Kui on ebaselge, miks /etc/fstab failis kirjeldatud ressursse ei ühendata külge, maksab vaadata, kas konsoolile ei kirjutata
if-up.d/mountnfs[eth0]: lock /var/run/network/mountnfs exist, not mounting ... failed!
ning tuleks eemaldada mainitud kataloog, mis tõenäoliselt jäi süsteemi krahhist vms sündmusest.
- Tundub, et üldiselt saab NFS klient aru, kui NFS serverist välja jagatud ressurssi online'is suurendatakse. Põhjusel, et NFS klient kasutab NFS serveri teenust nö objektipõhiselt, mitte plokkseadme või failisüsteemi kui tervikuna.
Kasulikud lisamaterjalid
- http://wiki.debian.org/NFS/Kerberos
- http://en.wikipedia.org/wiki/Network_File_System_(protocol)
- https://help.ubuntu.com/community/NFSv4Howto
- https://help.ubuntu.com/community/SettingUpNFSHowTo
- http://nfsv4.bullopensource.org/doc/kerberosnfs/krbnfs_howto.pdf
- http://www.cs.rug.nl/~jurjen/ApprenticesNotes/ch29s08.html
- MIT Kerberose kasutamine Debianiga
- Root-over-NFS
- Diskless OpenBSD
- Diskless Debian
- NFS
- http://www-theorie.physik.unizh.ch/~dpotter/howto/kerberos