Go to main content

Guía de administración de Oracle® ZFS Storage Appliance, versión OS8.8.x

Salir de la Vista de impresión

Actualización: Agosto de 2021
 
 

Protocolo NFS

En esta sección, se incluyen los siguientes temas:

Para obtener más información acerca del protocolo NFS, utilice estos temas:

Para obtener información acerca de otros protocolos admitidos, consulte las secciones siguientes:

Propiedades del protocolo NFS

Cada recurso compartido tiene propiedades específicas del protocolo que definen el comportamiento de protocolos diferentes para ese recurso compartido. Estas propiedades pueden ser definidas para cada recurso compartido o heredadas del proyecto del recurso compartido. En la siguiente tabla, se muestran las propiedades del protocolo NFS y los valores posibles.

Tabla 128  Propiedades del protocolo NFS
Propiedad
Valores de la CLI
Tipo de propiedad
Descripción
Modo de recurso compartido
off | rw | ro
Heredada
Determina si el recurso compartido está disponible solo para lectura, para lectura y escritura, o para ninguna de estas opciones. Consulte Protocolos de recursos compartidos y proyectos.
Desactivar creación del archivo setuid/setgid
nosuid
Heredada
Si está seleccionada, los clientes no podrán crear archivos con bits setuid (S_ISUID) y setgid (S_ISGID) configurados, ni activar estos bits en los archivos existentes mediante la llamada del sistema chmod(2).
Evitar que los clientes monten subdirectorios
nosub
Heredada
Si está seleccionada, los clientes no podrán montar subdirectorios directamente. Se les obligará a montar la raíz del recurso compartido. Nota: Esto es aplicable solo a los protocolos NFSv2 y NFSv3, no a NFSv4.0 ni NFSv4.1.
Asignación de usuarios anónimos
anon
Heredada
A menos que la opción root esté vigente para un cliente en particular, el usuario root de ese cliente se trata como un usuario desconocido, y todos los intentos de dicho usuario por acceder a los archivos del recurso compartido serán considerados intentos de un usuario con este uid. Las ACL y los bits de acceso de este archivo se evaluarán normalmente.
Juego de caracteres
Consulte los valores posibles en Codificaciones de juegos de caracteres.
Heredada
Configura el juego de caracteres por defecto para todos los clientes.
Modo de seguridad
sec=
Consulte una lista de valores posibles en Modos de seguridad.
Heredada
Configura el modo de seguridad de todos los clientes.
Enforce reserved ports for system authentication (Forzar puertos reservados para autenticación del sistema)
resvport
Heredada
Cuando se configura en un recurso compartido o un proyecto en combinación con el modo de seguridad de autenticación del sistema, los clientes NFS deben usar puertos TCP con números bajos ("reservados"). Algunos clientes NFS, como Oracle Solaris y Linux, usan puertos TCP con números bajos por defecto. Otros clientes, como Windows, tal vez requieran configuración.

Excepciones del modo de recurso compartido de NFS

Es posible definir excepciones para el modo de recurso compartido global para clientes o juegos de clientes. Para ello, se deben definir modos de recurso compartido específicos para el cliente o excepciones. Para restringir el acceso a determinados clientes, defina el modo de recurso compartido global en none y otorgue cada vez más acceso a grupos más pequeños. Por ejemplo, puede crear un recurso compartido con el modo de recurso compartido global definido en none, el cual deniega el acceso a todos los clientes y, luego, otorgar acceso de solo lectura a un subjuego de los clientes. Además, puede otorgar acceso de lectura/escritura a un subjuego aún más pequeño de los clientes y, finalmente, solo los host de confianza tendrán acceso root y de lectura/escritura.

Los modos de recurso compartido específicos del cliente tienen prioridad por sobre el modo de recurso compartido global. El cliente tiene permitido el acceso en función del modo de recurso compartido específico del cliente que se especifique en una excepción. Si no hay excepciones, el cliente recibe acceso en función del modo de recurso compartido global.

Tabla 129  Tipos de clientes
Tipo
Prefijo de la CLI
Descripción
Ejemplo
Host(FQDN) o grupo de red
none
Un único cliente cuya dirección IP se convierte en el nombre totalmente cualificado especificado o un grupo de red que contiene los nombres totalmente cualificados en los cuales se convierte la dirección IP del cliente.
hostname.sf.example.com
Dominio DNS
.
Todos los clientes con direcciones IP que se convierten en un nombre totalmente cualificado que termina con este sufijo.
sf.example.com
Subred IPv4
@
Todos los clientes con direcciones IP que se encuentran dentro de la subred IPv4 especificada, expresada en la notación CIDR..
192.0.2.254/22
Subred IPv6
@
Todos los clientes con direcciones IP que se encuentran dentro de la subred IPv6 especificada, expresada en la notación CIDR..
2001:db8:410:d43::/64

Para cada cliente o juego de clientes, debe especificar si el cliente tiene acceso de solo lectura o acceso de lectura y escritura al recurso compartido. Si está configurando una excepción de NFS, también debe especificar si el cliente tiene privilegios de usuario root o si se lo debe considerar como un usuario sin acceso root.

Gestión de grupos de red

Los grupos de red se pueden usar para controlar el acceso de las exportaciones del NFS. Sin embargo, gestionar grupos de red puede ser complejo. En su lugar, considere usar reglas de subred de IP o reglas de dominio DNS.

Si se usan grupos de red, se resolverán desde NIS o LDAP, según qué servicio esté activado. Si se usa LDAP, cada grupo de red se debe encontrar en la ubicación por defecto, ou=Netgroup, (DN de base), y se debe usar un esquema estándar.

El componente de nombre de usuario de una entrada de grupo de red generalmente no afecta el NFS; solo el nombre del host resulta significativo. Los nombres de host incluidos en grupos de red deben ser canónicos y, si se resuelven mediante DNS, deben ser completos. Es decir, el subsistema NFS intentará verificar que la dirección IP del cliente solicitante se convierta en un nombre de host canónico que coincida con el FQDN especificado o con uno de los miembros de uno de los grupos de red especificados. Esta coincidencia debe ser exacta, incluidos todos los componentes del dominio; de lo contrario, la excepción no coincidirá y se intentará la excepción siguiente. Para obtener más información sobre la resolución de nombres de hosts, consulte DNS.

A partir de la versión de software 2013.1.0, los usuarios del cliente UNIX pueden pertenecer a un máximo de 1024 grupos sin una degradación del rendimiento. Las versiones anteriores admitían hasta 16 grupos por usuario del cliente UNIX.

Modos de recurso compartido de NFS y opciones de excepciones

En la CLI, todas las excepciones y los modos de recursos compartidos de NFS se especifican mediante una única cadena de opciones para la propiedad sharenfs. Esta cadena es una lista de valores separados por comas. Debe comenzar con ro, rw, on u off, como analogía de los modos de recursos compartidos globales descritos para la BUI.

Tabla 130  Valores de modos de recurso compartido de NFS (BUI y CLI)
Valores de modos de recurso compartido de la BUI
Valores de modos de recurso compartido de la CLI
Descripción
Ejemplo
Ninguno
off
El modo de recurso compartido está desactivado.
sharenfs=off
on
El nombre del recurso compartido es el nombre del juego de datos y está disponible para lectura y escritura o solo para lectura si las excepciones de NFS rw o ro están definidas. El modo de recurso compartido está desactivado para todos los otros clientes.
sharenfs="on,ro=sf.example.com"
resource_name
El nombre del recurso compartido es el nombre del recurso y está disponible para lectura y escritura o solo para lectura si las excepciones de NFS rw o ro están definidas. El modo de recurso compartido está desactivado para todos los otros clientes.
sharenfs="myshare,ro=sf.example.com"
Lectura y escritura
on
El nombre del recurso compartido es el nombre del juego de datos y está disponible para lectura y escritura para todos los clientes si no hay excepciones de NFS.
sharenfs=on
rw
El nombre del recurso compartido es el nombre del juego de datos y está disponible para lectura y escritura para todos los clientes excepto para los que se definió la excepción ro.
sharenfs=rw o sharenfs="rw,ro=sf.example.com"
resource_name
El nombre del recurso compartido es el nombre del recurso y está disponible para lectura y escritura para todos los clientes si no hay excepciones de NFS.
sharenfs=myshare
resource_name,rw
El nombre del recurso compartido es el nombre del recurso y está disponible para lectura y escritura para todos los clientes excepto para los que se definió la excepción ro. Las excepciones de NFS pueden o no estar definidas.
sharenfs="myshare,rw" o sharenfs="myshare,rw,ro=sf.example.com"
Solo lectura
ro
El nombre del recurso compartido es el nombre del juego de datos y está disponible solo para lectura para todos los host excepto para los que se definió la excepción rw.
sharenfs="ro,rw=sf.example.com"
resource_name,ro
El nombre del recurso compartido es el nombre del recurso y está disponible solo para lectura para todos los clientes excepto para los que se definió la excepción rw. Las excepciones de NFS pueden o no estar definidas.
sharenfs="myshare,ro" o sharenfs="myshare,ro,rw=sf.example.com"

En el ejemplo siguiente, se configura el modo de recurso compartido para todos los clientes en solo lectura. Los usuarios root de todos los clientes tendrán acceso a los archivos del recurso compartido como si fueran el usuario genérico nobody.

set sharenfs=ro

También se podrá agregar cualquiera de las opciones nosuid y anon, o ambas. Por lo tanto, para definir la asignación de todos los usuarios desconocidos con el UID 153762, debería especificar lo siguiente:

set sharenfs="ro,anon=153762"

Notas -  Los valores de las propiedades de la CLI que contienen el carácter = deben estar entre comillas.

Se pueden especificar excepciones adicionales de NFS si se anexa texto con el formato option=collection, donde option equivale a ro, rw o root, y define el tipo de acceso que se otorgará a la recopilación de clientes. La recopilación es especificada por el carácter de prefijo de la tabla Tipos de cliente y un nombre de dominio/nombre de host DNS o número de red CIDR. Por ejemplo, para otorgar acceso de lectura y escritura a todos los hosts del dominio sf.example.com y acceso root a los de la red 192.168.44.0/24, puede utilizar:

set sharenfs="ro,anon=153762,rw=.sf.example.com,root=@192.168.44.0/24"

Notas -  Este ejemplo es aplicable solo a excepciones de NFS.

Los nombres de grupos de red se pueden utilizar en cualquier lugar donde se puede utilizar un nombre de host completo. Por ejemplo, puede permitir el acceso de lectura y escritura al grupo de red engineering de la siguiente manera:

set sharenfs="ro,rw=engineering"

Codificaciones de juegos de caracteres de protocolos NFS

En general, no se especifica la codificación del juego de caracteres utilizada para el nombre de archivos. Los protocolos NFSv3 y NFSv2 no especifican el juego de caracteres. NFSv4.0 y NFSv4.1 deberían usar UTF-8, pero no todos los clientes lo hacen y el servidor no aplica esta restricción. Si la opción de solo UTF-8 está desactivada para un recurso compartido, estos nombres de archivos se escriben literalmente en el sistema de archivos sin tener información de su codificación. Eso significa que solo pueden ser interpretados por los clientes que utilizan la misma codificación. Sin embargo, SMB exige el almacenamiento de nombres de archivos como UTF-8 para que puedan ser interpretados por el servidor. De esta manera, resulta imposible admitir codificaciones arbitrarias de clientes y, al mismo tiempo, se permite el acceso mediante SMB.

A fin de admitir dichas configuraciones, la codificación del juego de caracteres se puede configurar para todos los recursos compartidos o por cliente. Se admiten las siguientes codificaciones de juegos de caracteres:

cp932
euc-tw
iso8859-7
koi8-r
euc-cn
iso8859-1
iso8859-8
shift_jis
euc-jp
iso8859-2
iso8859-9
euc-jpms
iso8859-5
iso8859-13
euc-kr
iso8859-6
iso8859-15

El comportamiento por defecto consiste en dejar la codificación del juego de caracteres sin especificar (pasarla por alto). La BUI permite elegir del juego de caracteres mediante el mecanismo de listas de excepciones estándar. En la CLI, cada juego de caracteres se convierte en una opción con uno o varios hosts; * indica la configuración de la totalidad del recurso compartido. Por ejemplo:

hostname:shares default> set sharenfs="rw,euc-kr=*"

Compartirá el sistema de archivos con euc-kr como la codificación por defecto. Por ejemplo:

hostname:shares default> set sharenfs="rw,euc-kr=host1.domain.com,euc-jp=host2.domain.com"

Utilice la codificación por defecto para todos los clientes excepto host1 y host2, los cuales utilizarán euc-kr y euc-jp, respectivamente. El formato de las listas del host es igual al de otras opciones de CLI NFS.

Recuerde que algunos clientes NFS no admiten correctamente configuraciones locales alternativas. Para obtener más información, consulte la documentación del cliente NFS.

Modos de seguridad del protocolo NFS

Los modos de seguridad se configuran por recurso compartido. En la siguiente lista, se describe la configuración de seguridad de Kerberos:

  • krb: autenticación de usuario final mediante Kerberos V5.

  • krb5i: krb5 más protección de integridad (los paquetes de datos están protegidos contra alteraciones).

  • krb5p: krb5i más protección de privacidad (los paquetes de datos están protegidos contra alteraciones y cifrados).

Los modos de seguridad se especifican cuando se anexa texto con el formato option=mode, donde option equivale a sec y mode es la configuración de seguridad. Por ejemplo:

hostname: shares default> set sharenfs="sec=krb5" 

Notas -  Los valores de las propiedades de la CLI que contienen el carácter = deben estar entre comillas.

Al definir modos de seguridad, se pueden especificar combinaciones de varios tipos de Kerberos. La combinación de modos de seguridad permite el montaje de clientes con cualquiera de los tipos de Kerberos indicados en la lista, como se muestra en la siguiente tabla.

Tabla 131  Combinaciones de tipos de Kerberos
Configuración
Descripción
sys
Autenticación del sistema
krb5
Kerberos v5 únicamente; los clientes deben realizar el montaje con esta configuración.
krb5:krb5i
Kerberos v5, con integridad; los clientes pueden realizar el montaje con cualquiera de las configuraciones enumeradas.
krb5i
Kerberos v5 con integridad únicamente; los clientes deben realizar el montaje con esta configuración.
krb5:krb5i:krb5p
Kerberos v5, con integridad o privacidad; los clientes pueden realizar el montaje con cualquiera de las configuraciones enumeradas.
krb5p
Kerberos v5 con privacidad únicamente: los clientes pueden realizar el montaje con esta configuración.

Puertos reservados

Para configurar puertos reservados para la autenticación del sistema, use resvport como se muestra en el siguiente ejemplo:

set sharenfs="sec=sys,rw,resvport"

Tenga en cuenta que resvport solo se puede usar con el modo de seguridad de autenticación de sistema sec=sys.