Introducción
El sistema de archivos de red permite compartir directorios y archivos con otros usuarios y programas a través de una red. Estos usuarios y programas acceden a los recursos compartidos como si fueran proporcionados localmente en sus dispositivos. NFS se implementa comúnmente en servidores de archivos y tiene una serie de ventajas, que incluyen:
- Los usuarios de la red no necesitan crear diferentes directorios de inicio, ya que solo se puede crear y compartir uno.
- Se requiere menos espacio en disco en los dispositivos cliente porque la mayoría de los archivos se almacenan en el almacenamiento central y se comparten a través de la red.
- Los dispositivos de almacenamiento externos son menos necesarios ya que las carpetas y los archivos se pueden compartir a través de la red. Tenga en cuenta que los dispositivos de almacenamiento externo contribuyen de manera importante a la introducción y propagación de malware en un registro de la organización.
- Esto puede mejorar la confidencialidad de los datos porque se puede acceder al almacén central mediante implementaciones como Kerberos.
requisito
- 2 instancias en ejecución de un servidor Ubuntu 18.04 o la segunda es un sistema operativo cliente Ubuntu 18.04 conectado a una red privada
- Ambas instancias deben tener un usuario no root con permisos sudo
- Conocimientos básicos de los comandos de Linux y Linux.
pasos
Actualice los paquetes del sistema en ambas computadoras
$ sudo apt update && sudo apt upgrade
En el anfitrión
El servidor NFS se instala aquí. El cliente proporciona directorios desde esta computadora, de ahí el servidor.
Instale los paquetes del servidor NFS
$ sudo apt install -y nfs-kernel-server
construcción
Vaya a / etc / export para configurar los directorios que desea exportar. En mi caso, estoy exportando el directorio / home. Edite la dirección IP a la que usa en su computadora host.
$ sudo nano /etc/exports
# /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # # Example for NFSv2 and NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Example for NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # /home 104.248.223.49(rw,sync,no_root_squash)
Las opciones disponibles incluyen:
- rw significa acceso de lectura / escritura, la opción alternativa también puede ser ro (solo lectura).
- Sincronizar significa que los cambios en el directorio del host deben escribirse antes de responder. Esto asegurará que el contenido que se comparte esté actualizado. Puede ignorarlo usando la opción asincrónica
- no_root_squash significa que el cliente puede tener privilegios de root en el contenido compartido en la computadora host.
- no_subtree_check, lo que significa que nfs no irá a la carpeta principal del directorio compartido para verificar su elegibilidad, lo que aumenta la confiabilidad pero disminuye la seguridad. subtree_check, por otro lado, hace lo contrario
Salga del editor mientras guarda sus cambios.
Configurar reglas de firewall
$ sudo ufw enable $ sudo ufw allow from 104.248.223.51 to any port nfs
En el cliente
Instale el paquete de cliente NFS
$ sudo apt install nfs-common
Crea los puntos de montaje locales
Cree los directorios en los que se colocarán sus directorios alojados. Puedes crearlo donde quieras.
$ mkdir /home/nfs
Monte la carpeta exportada en su directorio creado
$ sudo mount 104.248.223.49:/home/nfs
Nota especial: el directorio local donde necesita montar su carpeta. En la instancia anterior, el directorio / home / nfs está disponible.
Conclusión
Eso es todo, ha montado con éxito un directorio remoto en otra computadora usando el sistema de archivos de red. Para desmontar la carpeta compartida, puede usar el comando umount en la computadora del cliente:
$ sudo umount /home/nfs