NFS

De La Wiki de MaInKiVi
Salta a la navegació Salta a la cerca

Introducció

NFS (Network File System) permet "compartir" un directori allotjat al servidor amb altres equips o serveis. El funcionament bàsicament especifica en indicar els directoris compartits i permisos a aplicar i després el "client" només haurà de muntar-los tenint en compte els permisos donats pel servidor en la seva estructura.

Instal.lació al servidor

Instal.lem

sudo apt install nfs-kernel-server

Configurem

sudo nano /etc/exports 

I afegim el directori /home i els recursos compartits

/home/  *(rw,no_root_squash,sync,no_subtree_check)
/srv/exports/P *(rw,root_squash,sync,no_subtree_check)
/srv/exports/M *(rw,root_squash,sync,no_subtree_check)
/srv/exports/S *(rw,root_squash,sync,no_subtree_check)
/srv/exports/G *(rw,root_squash,sync,no_subtree_check)
/srv/exports/T *(rw,all_squash,sync,no_subtree_check)

Reiniciem el servei:

sudo systemctl start nfs-kernel-server.service

Comprovant

Comprovem les carpetes cmpartides amb:

sudo exportfs -rv

Amb un resultat similar a aquest:

exporting *:/srv/exports/T
exporting *:/srv/exports/G
exporting *:/srv/exports/S
exporting *:/srv/exports/M
exporting *:/srv/exports/P
exporting *:/home

Confirmant que les carpetes estàn compartides per a tots els equips.

Muntatge al client

Amb el paquet AutoFS muntarem les unitats compartides i el directori home' on ubicarem els perfils dels usuaris creats als servidor i on es carregarà i desarà des d'aquest. A aquest tipus de montatge es diu perfil mòbils.

Instal.lació

Instal.larem el paquet:

sudo apt-get install autofs nfs-common

La instal.lació ja instal.larà el paquet de client de NFS.

Configuració

Ara procedirem a configurar-lo editant primer el fitxer mestre:

sudo nano /etc/auto.master

Afegim al final del fitxer els punts de muntatge:

/mnt/.nfs /etc/auto.nfs --timeout 30

Ara configurem el muntatge de les unitats compartides.

sudo nano /etc/auto.nfs

Amb el següent contingut:

Professorat -fstype=nfs,soft,intr 192.168.1.240:/srv/exports/P
Programari -fstype=nfs,soft,intr 192.168.1.240:/srv/exports/S
Treball -fstype=nfs,soft,intr 192.168.1.240:/srv/exports/T
Gestio -fstype=nfs,soft,intr 192.168.1.240:/srv/exports/G
Multimedia -fstype=nfs,soft,intr 192.168.1.240:/srv/exports/M

Ara crearem els directoris per muntar les unitats:

mkdir -p /mnt/Servidor

I fem els enllaços:

ln -s /mnt/.nfs/Professorat /mnt/Servidor/.
ln -s /mnt/.nfs/Programari /mnt/Servidor/.
ln -s /mnt/.nfs/Treball /mnt/Servidor/.
ln -s /mnt/.nfs/Gestio /mnt/Servidor/.
ln -s /mnt/.nfs/Multimedia /mnt/Servidor/.

Llistant els directoris compartits del servidor

Una vegada configurat el comprovem amb:

showmount -e 192.168.1.240

Amb aquest resultat:

/srv/exports/T *
/srv/exports/S *
/srv/exports/P *
/srv/exports/G *
/srv/exports/M *
/home          * 

Mostrant els directoris compartits des del servidor 192.168.1.240, les "unitats compartides" i el directori "/home" per al montatge dels usuaris amb perfil mòbil.

Montar NFS per FSTAB

Editar per montar el directori d'usuaris del servidor en el client:

sudo nano /etc/fstab

i afegir la linia de muntatge del servidor:

#home
192.168.1.240:/home /home nfs4 rsize=8192,wsize=8192,timeo=14,intr,_netdev 0 0

NOTA - recordem que 192.168.1.240 és la IP del servidor, també podem ficar el nom si està configurat en un servidor DNS. A part, és molt important el paràmetre _netdev ja que permetrà el muntatge només si la xarxa està disponible per tant, només muntarà la /home quan l'equip estigue connectat o esperarà a aquest moment.

Ara reiniciem l'equip per assegurar-nos que s'inicien be tots els serveis

sudo reboot

Ara, si tenim el client configurat per domini LDAP i el muntatge per NFS ja hauríem de treballar sense cap problema i compartir els mateixos directoris per SAMBA

Montage temporal

Primer crearem un directori per muntar-lo, no cal els esmentats anteriorment, per exemple:

sudo mkdir /mnt/temp

I sabent els directoris compartits només cal executar l'ordre:

sudo mount 192.168.0.240:/home/G /mnt/temp

i ara podriem accedir com l'usuari actual al directori muntat:

cd /mnt/temp

o si ens demana permís, perque no estem creats en el servidor, caldria donar-nos d'alta en el servidor o convertir-nos en root.

Execució manual i motorització

Sovint es poden donar problemes amb el muntatge i una manera senzilla de monitonitzar-ho és aturant el servei

sudo service autofs stop

i executant-lo manualment:

sudo automount -vf

El resultat serà el "log" a temps real de l'activitat del muntatge per automount.

Modificant el tallafocs

Si tenim el tallafocs activat caldrà fer modificacions al sistema degut a que el protocol rpc.mountd no utilitza només un port i costa afegir una sola norma al tallafocs. Per això caldrà especificar que utilitzi només un editant el fitxer:

sudo nano /etc/default/nfs-kernel-server 

i comentar la linia:

RPCMOUNTDOPTS=--manage-gids

I afegir la següent:

RPCMOUNTDOPTS="-p 13025"

El port 13025 es un port aleatori que a més no s'utilitza si ho mirem en el fitxer

/etc/services

Ara reiniciem el servei NFS amb:

sudo /etc/init.d/nfs-kernel-server restart

Ara configurem el tallafocs UFW acceptant les connexions entrants al corresponents ports:

sudo -s
ufw allow from 192.168.1.0/24 to any port 111
ufw allow from 192.168.1.0/24 to any port 2049
ufw allow from 192.168.1.0/24 to any port 13025

I ja tenim prou per connectar amb el servidor i fer el muntatge.

Referències