NFS (de l'anglès Network File System) és un protocol de nivell d'aplicació, segons el model OSI, que s'utilitza per a sistemes d'arxius distribuïts en un entorn de xarxa d'àrea local. Permet que diferents sistemes connectats a la mateixa xarxa puguin accedir a fitxers remots com si fossin locals. NFS va ser desenvolupat inicialment per Sun MicroSystems l'any 1984, amb l'objectiu que fos independent de la màquina, el SO i el protocol de transport.
Generalment trobarem aquest protocol en sistemes operatius UNIX i en la majoria de distribucions de GNU/Linux. NFS està compost per un servidor i un o més clients. Els clients accedeixen de manera remota a les dades que es troben emmagatzemades en el servidor. Com que les dades es troben centralitzades en un servidor, els clients utilitzen menys espai en disc.
Per fer més amena aquesta explicació, ho farem amb dos servidors a Clouding. El primer, que serà el servidor de NFS, l'anomenarem a partir d'ara S1 i tindrà la IP privada 10.20.10.4. El servidor que farà de client, i que per tant muntarà la carpeta de S1, l'anomenarem a partir d'ara S2 i tindrà la IP 10.20.10.5.
Ports del tallafocs
El protocol NFS utilitza els ports 2049 i 111. Assegura't de tenir tots dos ports oberts tant per a tràfic TCP com UDP en el teu servidor NFS. Tens més informació sobre com afegir una norma al tallafocs del teu servidor en el següent article.
Instal·lació al servidor S1
A S1, el primer que farem serà instal·lar el servidor de NFS:
# apt update && apt install nfs-kernel-server
I creem el directori per compartir:
# mkdir -p /home/compartit
# chmod 755 /home/compartit
A continuació, restringirem l'usuari i el grup com a mesura de seguretat:
# chown -R nobody:nogroup /home/compartit
Opcionalment, li assignem permisos d'escriptura si volem crear arxius/directoris:
# chmod -R a+wrx /home/compartit
Editem el fitxer de configuració /etc/exports:
# nano /etc/exports
I afegim:
/home/compartit 10.20.10.0/24(rw,subtree_check,secure,no_root_squash)
El format del fitxer /etc/exports té la següent estructura:
<export> <host1>(<opcions>) <hostN>(<opcions>)...
On <export> es refereix al directori a exportar, <host1>..<hostN> es correspon amb el host o xarxa que tindrà accés a la carpeta exportada. Pots especificar múltiples hosts o xarxes separades per espais amb les seves opcions corresponents.
Les opcions són variades, les usades en l'exemple són r de lectura i w d'escriptura. Subtree_check significa que, a part de compartir el directori /home/compartit, comparteix les carpetes que hi ha dins d'aquest directori. És a dir, si existeix una carpeta anomenada S1 dins de /home/compartit, també serà compartida.
Reiniciem el servei:
# /etc/init.d/nfs-kernel-server restart
I seguim amb el client…
Configuració al client S2
A S2 simplement haurem de muntar la carpeta amb el comandament mount:
# apt install nfs-common # mount -t nfs 10.20.10.4:/home/compartit /mnt
Una altra opció és muntar-lo automàticament a través de /etc/fstab. Editem el fitxer:
# nano /etc/fstab
Per afegir la línia de muntatge:
10.20.10.4:/home/compartit /mnt nfs defaults 0 0
Configuració en client Windows
Primer hauràs d'instal·lar el client NFS, a Activar o desactivar les característiques de Windows selecciona dins de Serveis per a NFS el Client per a NFS i fes clic a acceptar:
Un cop instal·lat, obre un CMD amb permisos d'administrador i executa el comandament per muntar una unitat de xarxa del directori compartit per NFS del servidor d'arxius:
# mount -o anon \\10.20.10.4\home\compartit Z:
Hauria d'aparèixer el següent missatge:
Z: is now successfully connected to \\10.20.10.4\home\compartit
The command completed successfully.
També pots verificar el muntatge simplement executant mount:
Local Remote Properties
-------------------------------------------------------------------------------
Z: \\10.20.10.4\home\compartido UID=0, GID=0
rsize=1048576, wsize=1048576
mount=soft, timeout=1.6
retry=1, locking=yes
fileaccess=755, lang=ANSI
casesensitive=no
sec=sys
Esperem haver-te ajudat amb aquest tutorial 🙂. Recorda, si tens consultes sobre aquesta o una altra qüestió relacionada amb els teus servidors a Clouding, no dubtis a escriure a soporte@clouding.io Estem al teu costat per a tot el que necessitis!