26 votos

La comprensión de NFS4 (servidor Linux)

He sido un poco molesta por NFS4 en Linux. Alguna información 'ahí afuera', parece estar en conflicto con otra información, y otra información aparece difícil de encontrar. Así que aquí hay un par de cosas que llamaron mi atención, espero que hay alguien que puede arrojar algo de luz sobre esto.

Esta pregunta se centra exclusivamente en NFS4 sin Kerberos etc.

1. Las exportaciones

Hay una información ambigua en la exports manual sobre la estructura de /etc/exports.

Citar exports(5):

También, cada línea puede tener una o más especificaciones de opciones por defecto después de que el nombre de ruta de acceso, en la forma de un guión ("-") seguido por una opción de la lista.

La lista de opciones se utiliza para todos los posteriores de las exportaciones en esa línea.

¿Qué significa "posterior de las exportaciones en esa línea"?

1.2 fsid=0 no se requiere más?

Yo estaba buscando fsid cuando me encontré con un comentario en el linux nfs lista indicando fsid=0 ya no es necesaria. Ahora estoy confundido, necesito con nfs4 o no?!

2. No-directorio exportado todavía montable

Decir que tengo el siguiente árbol:

/exp
/exp/users
/exp/distr
/exp/distr/archlinux
/exp/distr/debian

Y tengo las siguientes entradas en esta entrada en fstab:

/dev/disk/by-label/users  /mnt/users  ext4  defaults  0  0
/dev/disk/by-label/distr  /mnt/distr  ext4  defaults  0  0
/mnt/users                /exp/users  none  bind      0  0
/mnt/distr                /exp/distr  none  bind      0  0

Y mi exportaciones es exactamente esta:

/exp       192.168.1.0/24(fsid=0,rw,async,no_subtree_check,no_root_squash)
/exp/distr 192.168.1.0/24(rw,async,no_subtree_check,no_root_squash)

Y exportfs -arv muestra:

exporting 192.168.1.0/24:/exp/distr
exporting 192.168.1.0/24:/exp

Entonces, ¿por qué soy capaz de hacer esto y no obtener ningún error en un cliente:

mount -t nfs4 server:/exp/users /tmp/test

Aunque /exp/users no se exporta? No me exportación de este directorio, y mientras yo no vea el contenido de /dev/disk/by-label/users menos que especifique crossmnt, aún soy capaz de escribir en el directorio. Todo lo que escribo no va a la base del directorio de /exp/users que se puede ver cuando me umount /exp/users; ls /exp/users..

3. El extraño caso de showmount -d server

Como señaló rpc.mountd(8), este comando debería mostrar los directorios que están actualmente montado por los clientes, o las entradas obsoletas en /var/lib/nfs/rmtab, como se puede leer:

La rpc.mountd demonio de los registros de cada éxito MNT solicitud mediante la adición de una entrada en el archivo /var/lib/nfs/rmtab archivo. Cuando receivng un UMNT a la petición de un cliente NFS, rpc.mountd simplemente elimina la entrada correspondiente de /var/lib/nfs/rmtab, tan largo como la lista de control de acceso para que la exportación se permite que el remitente para acceder a la exportación.

(...)

Nota, sin embargo, que no es poco para garantizar que el contenido de /var/lib/nfs/rmtab son exactos. Un cliente puede continuar accediendo a una exportación, incluso después de invocar UMNT. Si el cliente se reinicia sin enviar un UMNT solicitud, las entradas obsoletas siendo para ese cliente en /var/lib/nfs/rmtab.

Después de leer esto seguramente se preguntan:

  1. No es terriblemente inseguro que acaba de exponer este tipo de información del cliente;
  2. No son conscientes de administradores de servidor destinado a tener una rmtab con un montón de rancio de los clientes;
  3. Es esta la razón por la que los clientes que monte nfs4 directorios con mount -v a llegar a ver la salida, como "nada fue montado" aunque algo fue montado?

Tengo un montón de preguntas acerca de nfs4, pero voy a seguir en esto por el momento.. :)

7voto

CraigJPerry Puntos 176

Grandes preguntas, se destaca una mayor punto con la documentación de la OMI. Aquí es un intento de respuesta completa:

¿Qué significa "posterior de las exportaciones en esa línea"?

Un ejemplo probablemente más fácil aquí:

/export/stuff -rw 10.0.0.54 10.0.0.55

es equivalente a:

/export/stuff 10.0.0.54(rw) 10.0.0.55(rw)

Es fsid=0 no se requiere más?

Esto depende de su caso de uso. Parece que son exportadoras regulares de disco basado en los sistemas de ficheros desde el resto de la consulta, en ese caso mejor es soltar fsid=0 (que en nfsv4 cambios en el comportamiento para hacer referencia a la root del sistema de ficheros de la exportación).

Para cambiar este comportamiento, quite el no_subtree_check opción


rmtab-material relacionado con

  • Es el manejo de rmtab un riesgo de seguridad?
    Supongo que depende del caso de uso responder que, en mi red no presenta creíble a la fuga de información, pero puedo ver casos donde potencialmente podría.
  • No rmtab estar lleno de las entradas obsoletas?
    Potencialmente sí, de nuevo según el escenario de implementación / caso de uso.
  • Es por esta razón algunos de los clientes que ejecutan mount -v erróneamente ver "no se ha montado"?
    No he venido a través de este, sin embargo

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: