Editado 1 Hace una semana por ExtremeHow Equipo Editorial
RedesNFSSistemas de ArchivosConfiguración del servidorAcceso del ClienteConfiguraciónPermisosAlmacenamientoMultiplataformaColaboración
Traducción actualizada 1 Hace una semana
Network File System (NFS) es un protocolo popular que permite a diferentes sistemas compartir archivos a través de una red. Con NFS, los usuarios pueden acceder a archivos en sistemas remotos como si estuvieran en su máquina local. Esto puede ser increíblemente útil para entornos de trabajo colaborativos o situaciones donde se necesita almacenamiento centralizado.
NFS permite a un sistema compartir directorios y archivos con otros a través de una red. Usando NFS, los usuarios y programas pueden acceder a archivos en un sistema remoto casi como si estuvieran en un disco local.
NFS puede ser muy beneficioso para compartir archivos de forma segura en un entorno Linux. Simplifica el acceso a archivos, reduce los costos de almacenamiento y facilita la colaboración.
Antes de configurar NFS, asegúrate de que todos los sistemas estén en la misma red. También debes tener privilegios de superusuario (root) en los sistemas del servidor y del cliente.
El primer paso consiste en instalar NFS en el servidor. Este proceso variará ligeramente dependiendo de tu distribución de Linux.
# Para Debian/Ubuntu
sudo apt update
sudo apt install nfs-kernel-server
# Para CentOS/RHEL
sudo yum install nfs-utils
Estos comandos instalarán los paquetes NFS necesarios en el servidor.
A continuación, debes decidir qué directorio compartir en la red. Es común crear un directorio dedicado para compartir.
# Crear un directorio para compartir
sudo mkdir -p /srv/nfs/shared
Ahora, establece los permisos adecuados para el directorio:
# Cambiar la propiedad a nobody:nogroup
sudo chown nobody:nogroup /srv/nfs/shared
# Establecer los permisos
sudo chmod 777 /srv/nfs/shared
Después de crear y configurar los permisos del directorio, debes editar el archivo /etc/exports para definir el directorio y establecer los permisos de acceso para los clientes.
# Editar el archivo exports
sudo nano /etc/exports
Agrega la siguiente línea al archivo para compartir el directorio:
/srv/nfs/shared <client_ip>(rw,sync,no_subtree_check)
Reemplaza <client_ip>
con las direcciones IP de los sistemas cliente que necesitan acceso. Si varios clientes necesitan acceso, enuméralos separados por espacios.
Después de configurar el archivo /etc/exports
, inicia el servicio NFS:
# Iniciar y habilitar el servidor NFS
sudo systemctl restart nfs-kernel-server
sudo systemctl enable nfs-kernel-server
En el sistema cliente, asegúrate de haber instalado los paquetes del cliente NFS necesarios.
# Para Debian/Ubuntu
sudo apt install nfs-common
# Para CentOS/RHEL
sudo yum install nfs-utils
Ahora, puedes montar el directorio compartido en la máquina cliente. Primero, crea un directorio donde montarás el recurso NFS:
# Crear un punto de montaje para el recurso NFS
sudo mkdir -p /mnt/nfs/shared
Luego, monta el directorio con el siguiente comando:
# Montar el directorio compartido
sudo mount <server_ip>:/srv/nfs/shared /mnt/nfs/shared
Reemplaza <server_ip>
con la dirección IP de tu servidor.
Para asegurar que el recurso NFS se monte al iniciar, puedes agregarlo al archivo /etc/fstab. Abre el archivo y agrega una línea como esta:
<server_ip>:/srv/nfs/shared /mnt/nfs/shared nfs defaults 0 0
Puedes verificar que el recurso NFS esté montado correctamente usando el siguiente comando:
# Verificar el montaje
df -h | grep <server_ip>
Este comando mostrará los recursos NFS listados como montados bajo el directorio /mnt/nfs/shared.
Los firewalls de red a veces pueden bloquear el tráfico NFS. Asegúrate de que los firewalls en las máquinas cliente y servidor permitan los puertos NFS: TCP y UDP puerto 111 y TCP y UDP puerto 2049.
# Para abrir los puertos NFS en el servidor
sudo iptables -A INPUT -p tcp -m multiport --dports 111,2049 -j ACCEPT
sudo iptables -A INPUT -p udp -m multiport --dports 111,2049 -j ACCEPT
Asegúrate de que los permisos en el directorio compartido estén configurados correctamente. Los problemas de permisos pueden surgir debido a la propiedad, el grupo o permisos demasiado restrictivos.
Siempre verifica que el servidor NFS esté funcionando correctamente usando el comando systemctl status:
# Verificar el estado del servicio NFS
sudo systemctl status nfs-kernel-server
Es posible exportar directorios a múltiples clientes. Puedes hacerlo enumerando múltiples IPs de clientes en tu archivo /etc/exports
:
/srv/nfs/shared client1_ip(rw,sync,no_subtree_check) client2_ip(rw,sync,no_subtree_check)
También puedes hacer que algunos recursos sean de solo lectura para clientes específicos si lo deseas. Puedes especificar esto en el archivo /etc/exports
:
/srv/nfs/shared client1_ip(rw,sync,no_subtree_check) client2_ip(ro,sync,no_subtree_check)
NFSv4 aporta muchas mejoras y puede ser necesario al usar distribuciones más modernas o para mejoras de rendimiento. La configuración de NFSv4 es mayormente la misma, pero con opciones complejas específicamente para mejoras de rendimiento y seguridad.
Configurar un servidor NFS en un entorno Linux es una forma efectiva de habilitar el intercambio de archivos dentro de una red. Siguiendo estos pasos y considerando tanto el diseño de tu red como los requisitos de intercambio de archivos, puedes crear un entorno de intercambio robusto. Siempre recuerda mantener tus exportaciones seguras y adaptar tu configuración a las necesidades de tus usuarios para una eficiencia y rendimiento óptimos. ¡Disfruta de la colaboración sin problemas con el intercambio de archivos en red a través de NFS!
Si encuentras algo incorrecto en el contenido del artículo, puedes