¿Qué puertos utiliza NFS?

What Ports Does Nfs Use



Network File System o NFS es un protocolo de sistema de archivos que permite a los usuarios compartir directorios y archivos a través de una red. El protocolo NFS es similar al protocolo Samba. Sin embargo, a diferencia de Samba, NFS proporciona un mecanismo de cifrado y autenticación. Además, el acceso al servidor NFS también está restringido a nombres de host y direcciones IP especificados. Eso hace que NFS sea una opción mucho mejor para recursos compartidos remotos en comparación con Samba.

En este tutorial, nos centraremos en los conceptos fundamentales de redes de NFS, específicamente, los puertos utilizados por los servicios NFS. Una vez que entendemos los puertos y servicios específicos del recurso compartido NFS, podemos usarlos para configurar medidas de seguridad como firewalls y resolución de problemas.







Cómo funciona NFS

Hay tres versiones de NFS compatibles al momento de escribir este artículo. NFS v2 es el más antiguo y el más compatible.



NFS v3 es más reciente que NFS V2 y ofrece más funciones, como manejo de tamaño variable, informes de errores mejorados, etc. Sin embargo, NFS v3 no es compatible con clientes NFS v2.



La versión más reciente de NFS v4 ofrece funciones nuevas y mejoradas. Incluyen operaciones con estado, compatibilidad con versiones anteriores de NFS v2 y NFS v3, requisito de mapeador de puertos eliminado, interoperabilidad multiplataforma, mejor manejo del espacio de nombres, seguridad integrada con ACL y Kerberos.





La siguiente es una comparación de NFS v3 y NFS v 4.

Característica NFS v3 NFS v4
Protocolo de transporte TCP y UDP Solo UDP
Manejo de permisos Unix Basado en Windows
método de autentificación Auth_Sys - Más débil Kerberos (fuerte)
Personalidad Apátrida Con estado
Semántica Unix Unix y Windows

La tabla anterior muestra algunas de las características del protocolo NFS 4 frente al protocolo NFS 3. Si desea obtener más información, considere el documento oficial que se proporciona a continuación:



https://datatracker.ietf.org/doc/html/rfc3530

NFS v4 no utiliza un mapeador de puertos y los servicios requeridos por NFS V2 y V3 no son necesarios. Por lo tanto, en NFS v4, solo se requiere el puerto 2049.

NFS v2 y v2, sin embargo, requieren puertos y servicios adicionales, que discutiremos en este tutorial.

Servicios requeridos (NFS v2 y V3)

Como se mencionó, NFS v2 y v3 usan el servicio portmap. El servicio de mapa de puertos en Linux maneja las llamadas a procedimientos remotos, que NFS (v2 y v3) usa para codificar y decodificar solicitudes entre el cliente y los servidores.

Para implementar el uso compartido de NFS, se requieren los siguientes servicios. Tenga en cuenta que esto es solo para NFS v2 y v3.

  • Portmapper
  • Mountd
  • Nfsd
  • Lockd
  • Statd

#: Portmapper

Se requiere el servicio Portmapper para ejecutar NFS tanto en el lado del cliente como en el del servidor. Se ejecuta en el puerto 111 para los protocolos TCP y UDP.

Si está implementando un firewall, asegúrese de que este puerto esté permitido para paquetes entrantes y salientes.

#: Mountd

El otro servicio necesario para ejecutar NFS es el demonio mountd. Este servicio se ejecuta en el servidor NFS y se utiliza para manejar las solicitudes de montaje de los clientes NFS. Es manejado principalmente por el servicio nfsd y no requiere configuración por parte del usuario.

Sin embargo, puede editar la configuración para establecer un puerto estático en el archivo / etc / sysconfig / nfs. Busque el / y establezca:

MOUNTD_PORT=[Puerto]

#: NFSD

Este es el demonio NFS que se ejecuta en servidores NFS. Este es un servicio crítico que funciona con el kernel de Linux para proporcionar funcionalidades como subprocesos de servidor para todos los clientes conectados al servidor.

De forma predeterminada, el demonio NFS ya está configurado para ejecutar un puerto estático de 2049. El puerto es verdadero en los protocolos TCP y UDP.

#: Lockd y Statd

El demonio NFS Lock Manager (lockd) y el demonio Status Manager (statd) son otros servicios necesarios para ejecutar NFS. Estos demonios se ejecutan en el lado del servidor y en el lado del cliente.

El demonio lockd permite a los clientes NFS bloquear archivos en el servidor NFS.

Por otro lado, el demonio statd es responsable de notificar a los usuarios cuando el servidor NFS se reinicia sin un cierre ordenado. Implementa el protocolo RPC Network Status Monitor.

Aunque ambos servicios se inician automáticamente por el servicio nfslock, puede configurarlos para ejecutar un puerto estático, lo que puede ser útil en configuraciones de firewall.

Configure un puerto estático para los demonios statd y lockd, edite / etc / sysconfig / nfs e ingrese las siguientes entradas.

STATD_PORT=[Puerto]

LOCKD_TCPPORT=[Puerto]

LOCKD_UDPPORT=[Puerto]

Resumen rápido

Echemos un vistazo a un resumen rápido de lo que acabamos de cubrir.

Si está ejecutando NFS v4, todo lo que necesita es permitir el puerto 2049. Sin embargo, si está ejecutando NFS v2 o v3, debe editar el archivo / etc / sysconfig / nfs y agregar los puertos para los siguientes servicios.

  • Mountd - MOUNTD_PORT = puerto
  • Statd - STATD_PORT = puerto
  • LOCKD - ​​LOCKD_TCPPORT = puerto, LOCKD_UDPPORT = puerto

Finalmente, debe asegurarse de que el demonio NFSD se esté ejecutando en el puerto 2049 y el mapeador de puertos en el puerto 111

NOTA: Si el archivo / etc / sysconfig / nfs no existe, créelo y agregue las entradas especificadas en el tutorial.

También puede comprobar / var / log / messages si el servicio NFS no se inicia correctamente. Asegúrese de que los puertos que especificó no estén en uso.

Configuración de ejemplo

La siguiente es una opción de configuración del servidor NFS en un servidor CentOS 8.

Una vez que haya editado la configuración y agregado los puertos necesarios como se explica en el tutorial, reinicie el servicio como:

sudosystemctl start nfs-server.service

A continuación, confirme que el servicio se está ejecutando con el comando:

sudosystemctl status nfs-server.service

Finalmente, confirme los puertos que se ejecutan usando rpcinfo como se muestra en el siguiente comando:

sudorpcinfo-pag

Conclusión

Este tutorial analizó los conceptos básicos de redes del protocolo NFS y los puertos y servicios necesarios para NFS v2, v3 y v4.

¡Gracias por leer y ser un Geek orgulloso!