NFS son las siglas de Network File System, que en español lo podemos traducir como Sistema de archivos de red. Se trata de un protocolo que se utiliza para que diferentes equipos dentro de una misma red puedan acceder a archivos y compartirlos. Esto permite que un ordenador, por ejemplo, pueda utilizar la información que hay almacenada en otro equipo como si fuera un disco duro. Vamos a explicar cómo funciona, cuáles son sus usos principales y cómo se puede utilizar.
Una vez que lo conozcas puede que te interese utilizarlo, ya que esto, pese a estar orientado más a empresas y trabajo, puede ser muy útil para usuarios particulares con varios ordenadores o equipos en el mismo hogar, no teniendo que usar programas externos, o incluso un pendrive, entre otros métodos, para pasarse archivos entre ellos.
En qué consiste el protocolo NFS
El protocolo NFS se utiliza para sistemas de archivos distribuidos en una red local. Básicamente consiste en que diferentes equipos que estén dentro de esa red, puedan conectarse entre ellos y acceder a los archivos que hay en otro sistema. Por ejemplo una oficina con varios ordenadores, desde uno de ellos podemos acceder a otro como si fuera un disco duro o unidad de almacenamiento.
Para que esto sea posible es necesario que haya un cliente y un servidor. No obstante, clientes puede haber muchos. Puede haber muchos equipos que se conecten a los archivos que hay en un servidor. Todo esto se hace de forma remota, sin necesidad de estar físicamente delante del ordenador al que intentamos acceder.
Podemos decir que el servidor es el equipo que tiene almacenados los archivos. Es la unidad que va a permitir que otros dispositivos, que serían los clientes, puedan acceder. Del lado del cliente va a solicitar acceso al servidor generalmente a través de comandos. Esto le permitirá interactuar con ese servidor, ver el contenido, descargar archivos…
En el comando que ejecuta el cliente se especifica la orden dentro de más de 30 opciones diferentes. Esto incluye también los atributos del software que se va a utilizar y del servidor. Las opciones incluyen, por ejemplo, el tamaño del bloque de lectura o escritura, así como el protocolo utilizado.
Los protocolos de seguridad se van a encargar de validar o no el acceso del cliente a esos archivos que están en el servidor.
Versiones de NFS
Este protocolo salió a la luz en el año 1984, desarrollado por la compañía Sun Microsystems. Para ello lanzaron varias versiones, entre las que podemos ver NFSv2, que es la más utilizada y la más compatible con los diferentes sistemas operativos. En todo caso, presenta algunos errores y ciertos problemas de seguridad.
Luego apareció la versión NFSv3, la cual está ubicada en el Request for Comments 1813, siendo más eficiente que su versión anterior. El gran problema de esta versión 3, es que presenta problemas en cuanto a la compatibilidad con algunos clientes de los principales sistemas.
Estas dos versiones, permitieron utilizar el protocolo UDP para que ofrezca conexiones de red entre diferentes clientes y servidores NFS. Por otro lado, representaban una gran facilidad en cuanto a la gestión de todo el montaje y a la hora de exportar los sistemas de archivo. Pero estas no permitían el acceso al sistema de archivos. Por lo cual pronto presenta desventajas en este aspecto, y en cuanto a la seguridad.
Más adelante se lanzó la versión 4 o NFS4, la cual se hizo con la premisa de que fuera más segura que sus versiones anteriores. En todo caso requiere algunos ajustes y servicios de terceros para disponer de sistemas como puede ser el de autenticación de los usuarios. Esta versión añadió el uso de las listas de control de acceso, y los permisos para que los usuarios que acceden a los archivos tuvieran algunas restricciones o privilegios.
A mayores también disponemos de la versión NFSv4.1, ubicada en el RFC 5661. Está específicamente diseñada para disponer de una mejora en la estabilidad y los accesos paralelos por servidores distribuidos bajo su propio soporte. Lo cual incluso puede llegar a considerarse otra pequeña limitación dependiendo el lugar de instalación o el uso que se le vaya a dar.
Ventajas de rendimiento
NFS es un sistema de archivos muy utilizado alrededor del mundo. Esto es porque es compatible con una gama muy amplia de sistemas operativos, donde por supuesto, se incluyen los más conocidos como Linux, Unix y Windows. Cuenta con muchas ventajas, pero en cuanto a rendimiento es un sistema que también nos va a beneficiar de diferentes formas. Y es que esta es una de sus principales ventajas, ya que se encuentra diseñado para minimizar la sobrecarga en la red y optimizar la velocidad en cuanto a transferencia de datos. Para lograr esto, se implementa un sistema de caché que almacena los datos más utilizados de forma local. De forma que el sistema cliente, puede acceder a ellos de una forma rápida. Sin necesidad de buscarlos dentro de la red.
Otra de sus ventajas en este campo, es la capacidad que tiene para manejar grandes volúmenes de datos. Esto lo hace ideal para entornos que requieren transferencias de datos muy rápidas y eficientes. NFS puede manejar diferentes solicitudes de lectura y escritura de forma simultánea, lo cual quiere decir que los clientes pueden tener acceso y modificar el contenido. A nivel organizativo es un factor tremendamente importante en cualquier organización, pero deja ver que NFS se trata de un sistema muy bien optimizado para realizar estos procesos de una forma cómoda y que resulte sencilla para todo el mundo.
Por último, el protocolo NFS es totalmente escalable, ya que tiene la capacidad de manejar de forma sencilla, gran cantidad de clientes y servidores. Lo cual, combinado con la flexibilidad del sistema, hace que se pueda adaptar a prácticamente cualquier tipo de necesidad y requisitos de red que tenga una organización. Por lo cual NFS cuenta con ciertas ventajas en su rendimiento, que afectan directamente a otros campos como puede ser la productividad, lo cual tiene sus beneficios a otros muchos campos dentro de la producción de cualquier tipo de organización que necesite de un sistema de archivos de forma recurrente.
Usos del protocolo NFS
Después de explicar qué es y en qué consiste el protocolo de Sistema de archivos de red o NFS, vamos a hablar de cuáles son los usos más habituales que podemos darle. Se trata de un protocolo que surgió en la década de 1980 y que con el paso del tiempo ha ido perfeccionando. No obstante, hoy en día pese a no ser tan utilizado sí que sigue existiendo.
Centralizar los datos
Uno de los usos principales del protocolo NFS es para poder tener todos los archivos centralizados en un único servidor. Esto va a permitir prescindir de unidades de memoria en los demás equipos y poder entrar de forma remota para leer cualquier archivo o descargarlo.
Es muy útil especialmente cuando son muchos los usuarios que van a tener que entrar para modificar esos archivos. Por ejemplo una empresa. Todos los equipos, que serían los clientes, podrían acceder a un único servidor centralizado y de esta forma tener el control de los archivos.
Poder acceder de forma remota a otro equipo
También es evidente que otro punto positivo es que permite acceder de forma remota desde un equipo a otro. Siempre que estén conectados en la misma red, podremos conectar un ordenador a otro que actúe como servidor.
Esto lo podemos hacer sin necesidad de que esté físicamente al lado y que estemos delante. Permite por tanto que accedamos de forma remota mediante el protocolo NFS. Por ejemplo en una empresa que tenga diferentes salas con equipos.
Ahorrar en hardware
Como podemos compartir archivos mediante la red, esto también incluye unidades de disco, por ejemplo. Esto permite que podamos prescindir de tener una unidad de disco en cada uno de los equipos y solo tenerlo en uno, el que hará de servidor, y poder conectarnos desde otros dispositivos.
De cara a ahorrar costes en hardware, esta posibilidad es muy útil para las empresas que tienen muchos equipos. Esto evitará tener todos los equipos con el mismo hardware.
Es cierto que tiene sus desventajas, ya que la velocidad de transferencia no será la misma directamente en nuestro disco, que a través de la red, sin embargo, permite ahorrar muchos costes, como decíamos, así como a nivel organizativo, aunque si se cae el ordenador principal, o hay un problema en él o en su almacenamiento, el resto estarán vendidos, por lo que hay que tener en cuenta los puntos positivos y negativos y ver si nos compensa.
Backup remoto
La implantación de backups remotos utilizando el protocolo NFS es importante para garantizar la integridad y los datos en situaciones de fallo en el sistema local. Esto garantiza la existencia de copias actualizadas y almacenadas de forma segura fuera del entorno afectado que está experimentando fallos. En caso de pérdida de datos, los backups remotos permiten una recuperación rápida y sencilla de los datos, minimizando los tiempos de espera y de inactividad si se utiliza en entornos empresariales.
Además de prevenir la pérdida de datos, por problemas de hardware o por fallo humano, los backups remotos tienen que cumplir ciertos requisitos de funcionamiento que aseguran un respaldo y recuperación de datos en diversos sectores. La gestión centralizada por NFS simplifica muchas tareas como la programación, la supervisión y el mantenimiento.
Más allá de la capacidad de respaldo y recuperación de datos, el uso de NFS en la transferencia de datos asegura no solo la seguridad, sino también la rapidez en el respaldo remoto, ofreciendo una solución inmediata ante un fallo repentino que no haya sido posible prevenir.
Compartir proyectos
En algunos ámbitos, como puede ser el de la programación, es necesario compartir información en un entorno de desarrollo colaborativo para mejorar la eficiencia del desarrollo de la programación. El protocolo NFS posibilita compartir y actualizar archivos de manera rápida, lo que ayuda a crear proyectos de manera fluida. Permitiendo que los desarrolladores tengan acceso a todo el proyecto sin necesidad de tener que solicitar información con la pérdida de tiempo y recursos que ello conlleva.
Puntos positivos y negativos de NFS
Este protocolo de red tiene diferentes ventajas y desventajas, como vamos a ver. Hay que partir de la base de que lleva varias décadas con nosotros. Esto va a hacer que tenga ciertas limitaciones y también problemas a la hora de utilizarlo.
Ventajas
- Múltiples clientes pueden acceder a los archivos: Si buscamos que varias personas puedan acceder a los archivos desde diferentes equipos y en redes alejadas entre sí, es ideal.
- Reduce la necesidad de tener espacio en disco: Al acceder a archivos directamente desde el servidor, los clientes no necesitan almacenarlos en sus equipos, y estará todo en la nube, lo cual ahorra espacio a los usuarios y facilita el mantenimiento.
- Cualquier usuario puede modificar y actualizar los archivos: Siempre que se tengan los permisos adecuados, es posible editar archivos como si estuvieran en el propio equipo (no solo leerlos y acceder), facilitando la colaboración, como ya comentábamos.
- Compatibilidad con muchos equipos: Funciona en la mayoría de sistemas UNIX y Linux, y también puede configurarse en otros sistemas operativos, aunque con un software adicional.
- Fácil de configurar en redes locales: En entornos pequeños o controlados, su puesta en marcha es bastante sencilla, y no requiere una infraestructura compleja.
- Transparente para el usuario final:Una vez montado, el sistema de archivos se comporta como una carpeta local más, lo que nos facilita bastante la experiencia de uso.
Desventajas
- Requiere de una gran sobrecarga para leer archivos: El rendimiento puede verse afectado al trabajar con archivos grandes o cuando hay muchos accesos simultáneos, por eso no es lo mejor para empresas.
- No es sencillo bloquear archivos o dar permisos: La gestión de permisos es más básica que en otros sistemas modernos, por lo que puede ser otro punto en contra para una empresa o red grande.
- Dependencia de la red: si no hay, no podremos conectar ambos equipos: Si hay problemas de conectividad o lentitud en la red, el acceso a los archivos se vuelve imposible o muy lento, sin opción a tenerlo en local, pues en una edición colaborativa, necesitas internet.
- Posibles conflictos al acceder varios usuarios a la vez: Si varios usuarios modifican el mismo archivo al mismo tiempo, pueden generarse errores o pérdidas de datos.
- Problemas de seguridad en redes abiertas: NFS no fue diseñado pensando en seguridad, por lo que en redes públicas o poco protegidas puede ser vulnerable si no se configura correctamente.
- Rendimiento limitado frente a otras opciones más modernas: Aunque funcional, no alcanza el nivel de eficiencia de sistemas como SMB o soluciones en la nube cuando se trata de altas cargas de trabajo.
Cuidado con la seguridad
La seguridad es otro de esos puntos en contra de esta herramienta, y la última desventaja de la que hablaremos. Todo ello debido a que cualquier intruso con acceso a la red tendrá la misma información que dentro de la misma, es decir, podrá copiar todos los archivos que tengamos en nuestros equipos conectados, así como acceder a cualquiera de ellos y visualizar los datos.
Las contraseñas son muy importantes, y deberemos tener una clave fuerte que evite, en la medida de lo posible, todo esto. No dejar nunca la predeterminada, ni poner una fácil para que los empleados la recuerden o la escriban correctamente, ya que esto dará muchas facilidades a los hackers de acceder al router, y ser «uno más de la empresa».
Cómo utilizar NFS en Windows
Entonces, ¿cómo podemos utilizar hoy en día el protocolo NFS? ¿Qué vamos a necesitar? Después de ver cómo funciona, así como sus principales puntos negativos y positivos, podemos explicar qué tenemos que hacer para poder usarlo en nuestro día a día.
Lo primero que vamos a necesitar es tener equipos con sistemas operativos compatibles. Por ejemplo podemos usar Ubuntu Server o Windows, aunque incluso Android tiene compatibilidad pese a que no hay demasiadas aplicaciones.
En el caso de Windows 10 hay que habilitar el Cliente NFS. De forma predeterminada viene deshabilitado, principalmente por los problemas de seguridad que comentábamos. Es común que protocolos antiguos como este no vengan activos de forma predeterminada.
Para habilitarlo tenemos que ir a Inicio, entramos en el Panel de control, vamos a Programas y Activar o desactivar características de Windows.
Una vez aquí tenemos que pinchar en Servicios para NFS y marcar la casilla. Posteriormente le damos a Aceptar.
Cuando tengamos habilitado el Cliente NFS en Windows, ya podremos montar una unidad. En este caso tendremos que ir al Símbolo del sistema o línea de comandos y ejecutar el siguiente comando:
mount -o anon 192.168.111.111sistemanombreCarpeta K:
La IP será la dirección del servidor, mientras que el resto es la ruta de la carpeta. K es la unidad que creará Windows. A partir de ahí ya tendremos creada la carpeta y podremos usar el protocolo NFS en Windows.
En definitiva, el protocolo NFS permite acceder a los archivos de un servidor dentro de la misma red. Podemos entrar desde diferentes equipos, modificar los archivos, leer la información, etc. Hemos explicado también qué debemos hacer para habilitarlo y usarlo en Windows.
Alternativa en diferente red
Si venías buscando una forma de compartir archivos con otra persona u ordenador, pero a distancia, es decir, utilizando cada uno su red WiFi, ya os habréis dado cuenta de que este sistema no funciona, debido a que lo primordial es que estén en un mismo punto. Por tanto, deberíamos descartar este sistema.
En caso de que el objetivo sea hacerlo de esta otra forma, tendremos que irnos ya a servidores externos que nos conecten, como es el caso de Google Drive o iCloud. Si tienes un ordenador de Apple estarás más familiarizado con esto, pues tienes un apartado donde podrás ver las carpetas y archivos de tus otros equipos o personas con las que lo compartes, y te dará la posibilidad de copiar, mover, o eliminar cualquier carpeta estés en el móvil o en otro ordenador, y sea en la misma red, o a miles de kilómetros.
Para realizar esto, solo deberás bajarte la app de Drive o iCloud en tu ordenador, y crear carpetas compartidas con otros usuarios, es muy sencillo, y funciona de manera muy similar a la que vimos hoy, sin embargo, hay 2 contras. La primera es que no tendremos un espacio ilimitado, basado en el almacenamiento de nuestros discos, sino que dependeremos de las versiones gratuitas (15 y 5 GB en estos casos), o en su defecto, tendremos que pagar por ampliarlo.
Y, por otro lado, la velocidad no será tan rápida, y tendremos que adaptarnos a la subida y bajada del servidor, aunque esto, dependiendo de nuestra red y el tamaño de los archivos, en ocasiones no es tan problemático.
Así que nada, ya sabes las dos formas de compartir archivos con diferentes usuarios y equipos, ahora dependerá de lo que necesites y los beneficios de cada método para que elijas uno.