En este tutorial, le mostraremos cómo instalar el servidor NFS en Ubuntu 20.04 LTS. Para aquellos de ustedes que no lo sabían, NFS o Network File System es un protocolo de sistema de archivos distribuido. Puede ayudarlo a compartir archivos y directorios completos con otras personas a través de una red. Permite que los programas en sistemas remotos compartan y accedan a información entre sí como si estuviera disponible en una máquina local. Esta tecnología le brinda la flexibilidad de compartir un recurso a través de múltiples sistemas.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso del servidor NFS en Ubuntu 20.04 (Focal Fossa). Puede seguir las mismas instrucciones para Ubuntu 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.
Usamos dos máquinas, una con Ubuntu 20.04, que actuará como un servidor NFS, y otra con cualquier otra distribución de Linux en la que montaremos el recurso compartido. Las máquinas de este ejemplo tienen las siguientes direcciones IP:
NFS Server IP: 192.168.77.20 NFS Clients IPs: From the 192.168.77.0/24 range
Instalar servidor NFS en Ubuntu 20.04 LTS Focal Fossa
Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando el siguiente apt
comandos en la terminal.
sudo apt update sudo apt upgrade
Paso 2. Instalación del servidor NFS en Ubuntu 20.04.
Ahora ejecutamos el siguiente comando para instalar el paquete del servidor kernel NFS:
sudo apt install nfs-kernel-server
Puede verificar si el nfs-server
el servicio se está ejecutando como se muestra:
sudo systemctl status nfs-server
Paso 3. Creación de directorios compartidos en el host.
Creación de un directorio que se compartirá entre los sistemas cliente:
sudo mkdir /var/nfs/general -p
Dado que queremos que los sistemas cliente tengan acceso total a este directorio compartido, debemos eliminar todos los permisos de directorio que restringen el acceso:
sudo chown nobody:nogroup /var/nfs/general
Paso 4. Configure NFS en el host.
Profundizaremos en el archivo de configuración de NFS para configurar el uso compartido de estos recursos:
sudo nano /etc/exports
Agregue las siguientes líneas:
/var/nfs/general client_ip(rw,sync,no_subtree_check) /home client_ip(rw,sync,no_root_squash,no_subtree_check)
Para opciones básicas de exportación:
Opción | Descripción |
rw | Permitir solicitudes de lectura y escritura en un volumen NFS. |
ro | Permitir solo solicitudes de lectura en un volumen NFS. |
sincronizar | Responda a las solicitudes solo después de que los cambios se hayan confirmado en un almacenamiento estable. (Predeterminado) |
asincrónica | Esta opción permite que el servidor NFS infrinja el protocolo NFS y responda a las solicitudes antes de que los cambios realizados por esa solicitud se hayan confirmado en un almacenamiento estable. |
seguro | Esta opción requiere que las solicitudes se originen en un puerto de Internet menor que IPPORT_RESERVED (1024). (Predeterminado) |
inseguro | Esta opción acepta todos los puertos. |
wretraso | Retrase levemente la confirmación de una solicitud de escritura en un disco si sospecha que otra solicitud de escritura relacionada puede estar en curso o puede llegar pronto. (Predeterminado) |
sin_wdelay | Esta opción no tiene efecto si también se establece asíncrono. El servidor NFS normalmente retrasará ligeramente la confirmación de una solicitud escrita en un disco si sospecha que otra solicitud de escritura relacionada puede estar en curso o puede llegar pronto. Esto permite enviar varias solicitudes de escritura al disco con una sola operación, lo que puede mejorar el rendimiento. Si un servidor NFS recibió principalmente pequeñas solicitudes no relacionadas, este comportamiento podría reducir el rendimiento, por lo que no_wdelay está disponible para desactivarlo. |
subtree_check | Esta opción activa la comprobación de subárboles. (Predeterminado) |
no_subtree_check | Esta opción deshabilita la verificación de subárboles, lo que tiene implicaciones leves de seguridad pero puede mejorar la confiabilidad en algunas circunstancias. |
raíz_calabaza | Asignar solicitudes de uid/gid 0 al uid/gid anónimo. Tenga en cuenta que esto no se aplica a ningún otro uid o gid que pueda ser igualmente confidencial, como el contenedor de usuarios o el personal del grupo. |
no_root_squash | Desactive el aplastamiento de raíces. Esta opción es principalmente útil para clientes sin disco. |
todo_calabaza | Asigne todos los uid y gid al usuario anónimo. Útil para directorios FTP públicos exportados por NFS, directorios de colas de noticias, etc. |
no_all_squash | Desactive todos los aplastamientos. (Predeterminado) |
anonuid=UID | Estas opciones configuran explícitamente el uid y el gid de la cuenta anónima. Esta opción es principalmente útil para clientes de PC/NFS, en los que es posible que desee que todas las solicitudes parezcan ser de un solo usuario. Como ejemplo, considere la entrada de exportación para /home/joe en la sección de ejemplo a continuación, que asigna todas las solicitudes a uid 150. |
anongid=GID | Leer arriba (anonuid=UID) |