Consultas, desarrollo de programas y petición de presupuestos:

jueves, 12 de julio de 2012

NFS: Protocolo de red sistema de archivos de red.

Nota:
WINDOWS: Protocolo: SMB (compartir carpetas e impresoras)
→ programa SAMBA, en linux que maneja el protocolo SMB,con compartes carpetas e impresoras al estilo windows, y con los sistemas windows.
Servicio NFS: (ver NAS wikipedia)
Necesitamos un cliente y un servidor.

Vamos a montar nuestro servidor:
  • Necesitamos 2 paguetes:
      • portmap : protocolo de exporación de puertos,sino se a que puerto tengo que conectar, portmap nos dice que puerto usa el servidor.
      • nfs-kernel-server

Necesitamos este protocolo.
A nivel de conexión ademas de IP, se manejan puerto. Cada servicio tiene un asignado un puerto:
http → puerto 80 (esa ip+puerto, no se pueden ocupar por otro servicio)
ftp → 20/21
(para averiguar los numeros, en el directorio /etc/services )
Ver servicios de ftp:
$ cat /etc/services |grep ftp


Los servidores reciben la peticion por el puerto 80, pero te responderan por otro puerto (este puerto 80 solo lo tienen para recibir peticiones),y deja libre el puerto 80 para otro ususario le mande otra petición.

Puertos que usa el NFS


Vamos a instalar los paquetes:
$sudo apt-get install portmap

Vamos a probar que este bien instalado:
julio@julio-Aspire-5735:~$ rpcinfo -p
programa vers proto puerto
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
julio@julio-Aspire-5735:~$

Ahora instalamos el siguiente paquete:
$sudo apt-get install nfs-kernel-server

Vamos a probar que esta bien instalado:
julio@julio-Aspire-5735:~$ rpcinfo -p
programa vers proto puerto
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 53808 status
100024 1 tcp 50265 status
100021 1 udp 41864 nlockmgr
100021 3 udp 41864 nlockmgr
100021 4 udp 41864 nlockmgr
100021 1 tcp 51875 nlockmgr
100021 3 tcp 51875 nlockmgr
100021 4 tcp 51875 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049
100227 3 tcp 2049
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049
100227 3 udp 2049
100005 1 udp 33716 mountd
100005 1 tcp 45098 mountd
100005 2 udp 33716 mountd
100005 2 tcp 45098 mountd
100005 3 udp 33716 mountd
100005 3 tcp 45098 mountd
julio@julio-Aspire-5735:~$

De esta manera ya tenemos instalado el servidor NFS, instalado y funcionando.
Ahora tenemos configurar el servidor para que compartamos algo.
Para configurar se usa este fichero /etc/exports

En cada linea tenemos que poner el directorio compartido:
1º indicar el directorio compartido: /home/julio/Descargas
2º indicar quien tienen accesos a ese directorio: usando las ip, tambien se pueden usar nombre de host
Abrimos otra terminal:
ver mi ip con:$ifconfig
como estamos usando la red nuestra red:
wlan0 Link encap:Ethernet direcciónHW 00:21:5d:58:1f:78
Direc. inet:192.168.36.146 Difus.:192.168.36.255 Másc:255.255.255.0


ver mi nombre host:$hostname
julio@julio-Aspire-5735:~$ hostname
julio-Aspire-5735


Podemos usar Mascara de Red: 255.255.255.0 (0 indica que el último numero no se va a tener en cuenta), y poner: 192.168.36.0/255.255.255.0 , que indica que cualquier ordenadar de nuestra red interna puede acceder a la carpeta.


3º Opciones: se indican entre parantesis: (ro,sync) “solo lectura y sincronizado”
Opciones tipicas:
ro: solo lectura
rw: lectura escritura
sync: sincronizar, se asegura que lo que tu leas es lo que otro se ha escrito por otro (se asegura que la prioridad sea la de escribir, primero te va a escribir y luego te va a leer, en el mismo instante, primero escribo y luego puedo leerlo).

4º Y podemos dar tambien a una ip una opcion en concreata:
192.168.36.23(rw,sync)

La linea quedaria: (importante linea por carpeta)
/home/julio/Descargas 192.168.36.0/255.255.255.0(ro,sync) 192.168.36.23(rw,sync)

Ahora para terminar el “demonio” o servicio, se tiene que enterar del cambio de la configuración.
Por lo tanto tenemos que reiniciar el servicio:
Hay dos formas:
  1. apaga y enciende el ordenador.
  2. Reinicio manual de solo ese servicio:
    1. $sudo /etc/init.d/nfs-kernel-server restart
Nos saldra:
root@julio-Aspire-5735:/home/julio# /etc/init.d/nfs-kernel-server restart
* Stopping NFS kernel daemon [ OK ]
* Unexporting directories for NFS kernel daemon... [ OK ]
* Exporting directories for NFS kernel daemon... exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.36.0/255.255.255.0:/home/julio/Descargas".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.36.23:/home/julio/Descargas".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x [ OK ]
Starting NFS kernel daemon [ OK ]

El mensaje de ('no_subtree_check') no le hacemos caso.

Pasamos ahora al cliente:
El cliente no tiene que hacer nada en especial, solo tiene que montarlo.
La montaremos en /mnt o en /media

Por ejemplo voy a montar la del profersor (manualmente):
Creamos en nuestro ordenador una carpeta
#mkdir /media/compartidojuanon

Montamos en nuestra nueva carpeta la carpeta compartida del profesor:
#mount -t nfs 192.168.36.2:/home/juanon/compartido /media/compartidojuanon
-t: tipo de archivo al que vamos a acceder

Y ya lo podemos usar.

Para terminar, tendriamos que desmontar:
#umount /media/compartidojuanon


Por ejemplo voy a montar la del profersor (automaticamente):
Editamos el fstab:
#nano -w /etc/fstab

Nos vamos a la ultima linea, y ponemos:
192.168.36.2:/home/juanon/compartido /media/compartidojuanon nfs rw,users,noauto 0 0

Nota:
rw: el cliente puede poner “rw”, pero si el compartido del servidor es “ro”, dara un error al intentar grabarlo.



No hay comentarios:

Publicar un comentario