Red Hat Training

A Red Hat training course is available for RHEL 8

4.11. Configurar el servidor NFS para que funcione detrás de un cortafuegos

NFS requiere el servicio rpcbind, que asigna dinámicamente los puertos para los servicios RPC y puede causar problemas para configurar las reglas del cortafuegos. Este procedimiento describe cómo configurar el servidor NFS para que funcione detrás de un cortafuegos.

Procedimiento

  1. Para permitir que los clientes accedan a los recursos compartidos NFS detrás de un cortafuegos, establezca en qué puertos se ejecutan los servicios RPC en la sección [mountd] del archivo /etc/nfs.conf:

    [mountd]
    
    port=port-number

    Esto añade la opción -p port-number a la línea de comandos rpc.mount rpc.mount -p port-number.

  2. Para permitir que los clientes accedan a los recursos compartidos de NFS detrás de un firewall, configure el firewall ejecutando los siguientes comandos en el servidor NFS:

    firewall-cmd --permanent --add-service mountd
    firewall-cmd --permanent --add-service rpc-bind
    firewall-cmd --permanent --add-service nfs
    firewall-cmd --permanent --add-port=<mountd-port>/tcp
    firewall-cmd --permanent --add-port=<mountd-port>/udp
    firewall-cmd --reload

    En los comandos, sustituya <mountd-port> por el puerto previsto o un rango de puertos. Al especificar un rango de puertos, utilice la sintaxis --add-port=<mountd-port>-<mountd-port>/udp.

  3. Para permitir que las devoluciones de llamada de NFSv4.0 atraviesen los cortafuegos, configure /proc/sys/fs/nfs/nfs_callback_tcpport y permita que el servidor se conecte a ese puerto en el cliente.

    Este paso no es necesario para NFSv4.1 o superior, y los otros puertos para mountd, statd, y lockd no son necesarios en un entorno NFSv4 puro.

  4. Para especificar los puertos que utilizará el servicio RPC nlockmgr, establezca el número de puerto para las opciones nlm_tcpport y nlm_udpport en el archivo /etc/modprobe.d/lockd.conf.
  5. Reinicie el servidor NFS:

    #  systemctl restart nfs-server

    Si NFS no se inicia, compruebe /var/log/messages. Normalmente, NFS no se inicia si se especifica un número de puerto que ya está en uso.

  6. Confirme que los cambios han surtido efecto:

    # rpcinfo -p

Recursos adicionales