Ventanas.  virus  Cuadernos.  Internet.  oficina.  Utilidades.  Conductores

NFS ( Sistema de archivos de red) está diseñado principalmente para intercambioarchivos Y carpetas entre / Unix sistemas de microsistemas de sol V 1980. Le permite montar sistemas de archivos locales a través de la red y hosts remotos para interactuar con ellos como si estuvieran montados localmente en el mismo sistema. Mediante el uso NFS, podemos configurar el uso compartido de archivos entre Unix V linux sistema y linux para el sistema Unix.

Beneficios de NFS

  1. NFS crea acceso local a archivos remotos.
  2. Utiliza la arquitectura estándar. cliente/servidor para intercambiar archivos entre todas las máquinas basado en * NADA.
  3. Mediante el uso NFS no es necesario que ambas máquinas funcionen en el mismo sistema operativo.
  4. Mediante el uso NFS podemos personalizar la solución almacenamiento centralizado.
  5. Los usuarios reciben su datos independientemente de su ubicación física.
  6. Automático actualizar para nuevos archivos.
  7. Versión más nueva NFS soportes de montaje ac, seudo bajo raíz.
  8. puede ser protegido cortafuegos Y Kerberos.

Servicios NFS

Servicio Lanzamiento del sistema V. Paquete de servidor NFS incluye tres herramientas incluidas en los paquetes mapa del puerto Y nfs-utils.

  1. mapa del puerto: muestra las llamadas realizadas desde otras máquinas al servicio correcto RPC(no requerido con NFSv4).
  2. nfs: convierte solicitudes remotas Acceso público a archivos a las consultas en el sistema de archivos local.
  3. rpc.mountd: este servicio es responsable de montaje Y desmontar sistemas de archivos

Archivos de configuración importantes para NFS

  1. /etc/exportaciones: su principal archivo de configuración NFS, todo exportado archivos Y catálogos, que se definen en este archivo y en servidor NFS de destino.
  2. /etc/fstab: A montar directorio NFS en su sistema sin reinicia, tenemos que escribir a /etc/fstab.
  3. /etc/sysconfig/nfs: Archivo de configuración NFS para controlar qué puerto RPC y otros servicios audiciones.

Configuración y montaje de NFS en un servidor Linux

Para configurar una montura NFS, necesitaremos al menos dos autos linux/Unix. Aquí en este tutorial, usaremos dos servidores.

  1. Servidor NFS: nfsserver.example.ru con IP - 192.168.0.55
  2. cliente NFS: nfsclient.example.ru con IP - 192.168.0.60

Instalación del servidor NFS y el cliente NFS

Necesitamos instalar paquetes. NFS en nuestro servidor NFS y tambien en coche cliente NFS. Podemos configurarlo con “ ” ( sombrero rojo Linux) y paquete de instalación “ apt-get” (Debian Y ubuntu).

# yum install nfs-utils nfs-utils-lib # yum install portmap (no requerido con NFSv4) # apt-get install nfs-utils nfs-utils-lib

ahora corre servicios en ambas máquinas.

# /etc/init.d/portmap start # /etc/init.d/nfs start # chkconfig --level 35 portmap activado # chkconfig --level 35 nfs activado

Después de instalar los paquetes e iniciar los servicios en ambas máquinas, debemos configurar ambas máquinas para compartir archivos.

Configuración de un servidor NFS

Primero configuremos el servidor NFS.

Configuración de un directorio de exportación

# mkdir /nfsshare

Ahora tenemos que escribir a " /etc/exportaciones" Y Reanudar servicios para hacer que nuestro directorio sea compartido a través de la red.

# vi /etc/exports /nfsshare 192.168.0.60(rw,sync,no_root_squash)

En el ejemplo anterior, hay un directorio bajo / con derecho " nfsshare", actualmente compartido con la IP del cliente" 192.168.0.60 ” con privilegios lectura Y registros (RW), también puedes usar nombre de host cliente en su lugar IP en el ejemplo anterior.

Opciones de NFS

Algunas otras opciones que podemos usar en los archivos” /etc/exportaciones” para compartir archivos es el siguiente.

  1. Ro: Con esta opción, podemos proporcionar acceso de solo lectura a archivos compartidos, es decir cliente solo sera capaz leer.
  2. rw: Esta opción permite cliente a servidor acceso para ambos lectura Y registros dentro del directorio general.
  3. sincronizar: La sincronización reconoce las solicitudes al directorio compartido solo después de cambios han sido cometidos.
  4. no_subtree_check: Esta opción impide comprobar subárbol. Cuando un directorio compartido es un subdirectorio de un directorio más grande sistema de archivos, NFS realiza un escaneo de cada directorio por encima de él para verificar sus permisos y detalles. Deshabilitar la validación subárbol puede mejorar la confiabilidad NFS, pero reducir seguridad.
  5. no_root_squash: Esta frase permite raíz, conectar a una carpeta específica.

Para más opciones con “ /etc/exportaciones“, se recomienda leer paginas guías para exportar.

Configuración de un cliente NFS

Después de configurar NFS-servidor, necesitamos montar este directorio compartido o partición en cliente servidor.

Montaje de directorios compartidos en un cliente NFS

Ahora en cliente NFS, nosotros necesitamos montar este directorio para acceder a él localmente. Para hacer esto, primero debemos averiguar qué recursos están disponibles en el servidor remoto o NFS.

# showmount -e 192.168.0.55 Lista de exportación para 192.168.0.55: /nfsshare 192.168.0.60

Montaje de un directorio accesible en NFS

Con el fin de montar general NFS directorio, podemos usar el siguiente comando de montaje.

# mount -t nfs 192.168.0.55:/nfsshare /mnt/nfsshare

El comando anterior establecerá el directorio compartido en " /mnt/nfsshare” en el servidor del cliente. Puedes probarlo con el siguiente comando.

# montar | grep nfs sunrpc en /var/lib/nfs/rpc_pipefs escriba rpc_pipefs (rw) nfsd en /proc/fs/nfsd escriba nfsd (rw) 192.168.0.55:/nfsshare en /mnt escriba nfs (rw,addr=192.168.0.55)

El comando de montaje anterior se monta en directorio compartido NFS en cliente NFS temporalmente para montar un directorio NFS constantemente en su sistema independientemente de los reinicios, necesitamos hacer una entrada en " /etc/fstab“.

#vi /etc/fstab

Agregue la siguiente línea nueva como se muestra a continuación.

192.168.0.55:/nfsshare /mnt nfs por defecto 0 0

Prueba del comportamiento de una instalación de NFS

Podemos probar nuestro instalar un servidor NFS por crear archivo de prueba en el lado del servidor y verifique su existencia en cliente NFS lado o viceversa.

servidor nfs del lado del servidor

Hemos creado un nuevo archivo de texto llamado “ nfstest.txt” en este directorio compartido.

# cat > /nfsshare/nfstest.txt Este es un archivo de prueba para probar el funcionamiento de la configuración del servidor NFS.

Nfsclient del lado del cliente

Cambie al directorio compartido en Servidor de cliente y encontrará el archivo compartido sin ningún actualización manual o reiniciar el servicio.

# ll /mnt/nfsshare total 4 -rw-r--r-- 1 raíz raíz 61 21 de septiembre 21:44 nfstest.txt [correo electrónico protegido]~]# cat /mnt/nfsshare/nfstest.txt Este es un archivo de prueba para probar el funcionamiento de la configuración del servidor NFS.

Eliminación de un montaje NFS

Si quieres desmontar este directorio compartido del servidor una vez que haya terminado de compartir archivos, simplemente puede desmontar este directorio en particular con el comando “ desmontar“. Vea este ejemplo a continuación.

[correo electrónico protegido]~]# umount /mnt/nfsshare

Puede ver que el montaje se ha eliminado en el sistema de archivos.

# df -h -Fnfs

Verá que estos directorios compartidos ya no están disponibles.

Comandos importantes para NFS

Algunos comandos más importantes para NFS .

  1. showmount-e: Espectáculos disponibles objetos compartidos en la computadora local
  2. showmount-e : Lista de disponibles objetos compartidos en remoto servidor
  3. showmount-d: Lista de todos subdirectorios
  4. exportfs-v: muestra una lista de archivos compartidos. archivos Y opciones en el servidor
  5. exportfs-a: exporta todos los objetos disponibles enumerados en /etc/exportaciones, o nombre
  6. exportfs-u: Vuelva a exportar todos los objetos disponibles enumerados en /etc/exportaciones, o nombre
  7. exportfs-r: Actualizar la lista de servidores después del cambio /etc/exportaciones

Se trata de Montaje NFS en este momento, si te interesa, puedes leer la guía sobre . Deja tu

La esencia del problema: en un momento, Samsung comenzó a producir televisores compatibles con la tecnología DLNA desarrollada por los principales fabricantes de electrodomésticos, según el principio de "hogar digital". Esta tecnología permitió integrar televisores en el local red domestica, que hizo posible intercambiar contenido multimedia entre un televisor y una computadora y, en particular, ver películas en la televisión almacenadas en una computadora a través de red local o a través de Wi-Fi. Sin embargo, la solución multimedia propuesta por Samsung para implementar esta tecnología, por decirlo suavemente, deja mucho que desear. Por lo tanto, las películas que se ven a través de la red en el reproductor multimedia integrado en el televisor no se rebobinan en la mayoría de los casos. Además, mientras mira películas en la red, a diferencia de mirar películas desde una unidad flash o portátil disco duro conectado al televisor a través del puerto USB, la función de reproducción continua (botón azul en el control remoto) no es compatible. Finalmente, la necesidad de ejecutar Samsung PC Share Manager en su computadora cada vez y hacer correcciones después de cada eliminación o adición de archivos de video al disco es un poco molesta.

No solo para eliminar los problemas existentes al ver películas en la televisión a través de una red local, sino también para aumentar la tasa de transferencia de datos (que puede ser un factor importante cuando se ven películas HD de gran tamaño), la inclusión de la red NFS (Network File System) El protocolo nos ayudará. Después de hacer instalación necesaria y configurando el servidor NFS, nuestro ordenador será percibido por el televisor como si hubiéramos conectado un portátil disco duro a la TV a través del puerto USB (la única diferencia será solo en la tasa de intercambio de datos, que está determinada por el máximo rendimiento su red local o conexión WiFi).

NFS es protocolo de red organizado según el principio "servidor-cliente". Tendremos un ordenador como servidor, y una TV como cliente. Ya hemos cubierto la inclusión de compatibilidad con NFS en el televisor en la sección anterior durante la configuración e instalación de la aplicación SamyGO Auto en el televisor. Si recuerdas, en los ajustes del configurador SamyGO Auto, marcamos la casilla junto al apartado NFS y también registramos la dirección IP del servidor NFS (192.168.xxx.xxx), es decir, la dirección de nuestro ordenador:
En esta sección, veremos cómo instalar y configurar un servidor NFS en nuestra computadora. Hay muchos programas diferentes en Internet para instalar y configurar un servidor NFS. Usaremos la aplicación servidor haneWIN NFS(es shareware, y después de un cierto período requiere el registro de un número de serie, pero, como comprenderá, siempre hay artesanos en Internet que pueden resolver este problema). Entonces empecemos:

Nota: A veces, el cortafuegos de Windows o el cortafuegos integrado en el antivirus pueden bloquear el funcionamiento del servidor NFS. Pase lo que pase, en Firewall de Windows(o si tiene un firewall diferente, entonces en él) debe permitir el acceso a la red a dos aplicaciones: nfsd.exe y pmapd.exe (se encuentran en la carpeta de instalación del servidor C:\Program Files\nfsd).


Finalmente, encendamos el televisor y asegurémonos de que nuestro servidor NFS esté funcionando. En la sección anterior, cuando instalamos el programa SamyGO Auto en el televisor, especificamos el parámetro para la ejecución automática en él. Por lo tanto, cuando encienda el televisor, debería detectar automáticamente nuestro NFS (esto no sucede de inmediato, sino aproximadamente 20 segundos después de encender el televisor). Entonces, encienda el televisor, luego vaya al reproductor multimedia y vea un nuevo dispositivo allí: servidor NFS.

Si presta atención, hay un icono de conexión USB al lado de NFS. Esto es de lo que hablamos anteriormente, ahora su televisor tratará a la computadora como un disco duro o una unidad flash USB. Puede ir a la sección Películas y disfrutar viendo películas en línea. Ya no necesita ejecutar Samsung PC Share Manager en su computadora. Simplemente agregue la película a su carpeta de películas en su computadora y se "cargará" automáticamente en el reproductor multimedia de su televisor.

En la siguiente sección, hablaremos sobre cómo grabar programas de TV en una unidad flash USB o, dado que ahora tenemos NFS, luego en la carpeta de películas en la computadora.


Buen tiempo, lectores e invitados. Hubo un descanso muy largo entre publicaciones, pero estoy de vuelta en la batalla). En el artículo de hoy, voy a ver funcionamiento del protocolo NFS, y configurar el servidor NFS y el cliente NFS en Linux.

Introducción a NFS

NFS (Sistema de archivos de red - sistema de archivos de red) en mi opinión: una solución ideal en una red local donde se necesita un intercambio de datos rápido (más rápido que SAMBA y menos intensivo en recursos en comparación con los sistemas de archivos remotos cifrados: sshfs, SFTP, etc.) y no está a la vanguardia de la seguridad de información transmitida. protocolo NFS permite montar sistemas de archivos remotos a través de la red en un árbol de directorios local, como si fuera un sistema de archivos de disco montado. De este modo aplicaciones locales puede trabajar con el sistema de archivos remoto como con el local. Pero hay que tener cuidado (!) con configurar NFS , porque con una cierta configuración, puede colgar el sistema operativo del cliente esperando E/S sin fin. protocolo NFS basado en el trabajo protocolo RPC, que está más allá de mi comprensión todavía)) por lo que el material en el artículo será un poco vago... Antes de que pueda usar NFS, ya sea un servidor o un cliente, debe asegurarse de que su kernel sea compatible con el archivo NFS sistema. Puede verificar si el kernel es compatible con el sistema de archivos NFS buscando las líneas correspondientes en el archivo /proc/sistemas de archivos:

ARCHIVO ~ # grep nfs /proc/filesystems nodev nfs nodev nfs4 nodev nfsd

Si las líneas especificadas en el archivo /proc/sistemas de archivos no aparece, debe instalar los paquetes que se describen a continuación. Lo más probable es que esto instale módulos kernel dependientes para admitir los sistemas de archivos deseados. Si, después de instalar los paquetes, la compatibilidad con NFS no se muestra en el archivo especificado, será necesario habilitar esta función.

Historia Sistema de archivos de red

protocolo NFS desarrollado por Sun Microsystems y cuenta con 4 versiones en su historia. NFSv1 fue desarrollado en 1989 y fue experimental, trabajó en el protocolo UDP. La versión 1 se describe en . NFSv2 fue lanzado en el mismo 1989, descrito por el mismo RFC1094 y también basado en el protocolo UDP, mientras permitía leer no más de 2GB de un archivo. NFSv3 finalizado en 1995 y descrito en . Las principales innovaciones de la tercera versión fueron el soporte para archivos grandes, soporte adicional para el protocolo TCP y paquetes TCP grandes, lo que aceleró significativamente el rendimiento de la tecnología. NFSv4 finalizado en 2000 y descrito en RFC 3010, revisado en 2003 y descrito en . La cuarta versión incluía mejoras de rendimiento, soporte para varias herramientas de autenticación (en particular, Kerberos y LIPKEY usando el protocolo RPCSEC GSS) y listas de control de acceso (tanto POSIX como Windows). NFS versión v4.1 fue aprobado por el IESG en 2010 y se le otorgó el . Una innovación importante en la versión 4.1 es la especificación pNFS - Parallel NFS, un mecanismo para el acceso paralelo del cliente NFS a los datos de múltiples servidores NFS distribuidos. La presencia de dicho mecanismo en el estándar del sistema de archivos de red ayudará a construir sistemas de información y almacenamiento distribuidos en "nube" ("nube").

servidor NFS

Desde que tenemos NFS- Este red sistema de archivos, necesita . (También puedes leer el artículo). Lo siguiente es necesario. En Debian, este es el paquete NFS-kernel-servidor Y nfs-común, en RedHat es un paquete nfs-utils. Y también, es necesario permitir el lanzamiento del demonio en los niveles de ejecución requeridos del sistema operativo (el comando en RedHat es /sbin/chkconfig nfs en, en Debian - /usr/sbin/update-rc.d valores predeterminados del servidor nfs-kernel).

Los paquetes instalados en Debian se ejecutan en el siguiente orden:

ARCHIVO ~ # ls -la /etc/rc2.d/ | grep nfs lrwxrwxrwx 1 raíz raíz 20 18 de octubre 15:02 S15nfs-common -> ../init.d/nfs-common lrwxrwxrwx 1 raíz raíz 27 22 de octubre 01:23 S16nfs-kernel-server -> ../init.d /nfs-kernel-servidor

Es decir, primera ejecución nfs-común, entonces el propio servidor NFS-kernel-servidor. En RedHat la situación es similar, con la única excepción de que el primer script se llama nfslock, y el servidor se llama simplemente nfs. Pro nfs-común El sitio de Debian nos dice literalmente lo siguiente: archivos compartidos para un cliente y servidor NFS, este paquete debe instalarse en la máquina que actuará como cliente o servidor NFS. El paquete incluye programas: lockd, statd, showmount, nfsstat, gssd e idmapd. Al ver el contenido del script de inicio /etc/init.d/nfs-common puede realizar un seguimiento de la siguiente secuencia de trabajo: el script comprueba la presencia de un archivo binario ejecutable /sbin/rpc.statd, comprueba la presencia en los archivos /etc/default/nfs-común, /etc/fstab Y /etc/exportaciones opciones que requieren demonios para iniciar idmapd Y gssd , inicia el demonio /sbin/rpc.statd , entonces antes del lanzamiento /usr/sbin/rpc.idmapd Y /usr/sbin/rpc.gssd comprueba la presencia de estos binarios ejecutables, luego para demonio /usr/sbin/rpc.idmapd comprobaciones de disponibilidad sunrpc, nfs Y nfsd, así como compatibilidad con el sistema de archivos rpc_pipefs en el núcleo (es decir, su presencia en el archivo /proc/sistemas de archivos), si todo es exitoso, entonces se lanza /usr/sbin/rpc.idmapd . Además, para el demonio /usr/sbin/rpc.gssd cheques módulo del núcleo rpcsec_gss_krb5 e inicia el demonio.

Si ves el contenido Script de inicio del servidor NFS en Debian ( /etc/init.d/nfs-kernel-servidor), entonces se puede rastrear la siguiente secuencia: al inicio, el script verifica la existencia del archivo /etc/exportaciones, Disponibilidad nfsd, disponibilidad de apoyo sistema de archivos NFS en (es decir, en el archivo /proc/sistemas de archivos), si todo está en su lugar, entonces el daemon comienza /usr/sbin/rpc.nfsd , luego verifica si el parámetro está configurado NECESIDAD_SVCGSSD(establecido en el archivo de configuración del servidor /etc/default/nfs-kernel-servidor) y, si se da, inicia el daemon /usr/sbin/rpc.svcgssd , último en iniciar el daemon /usr/sbin/rpc.mountd . Este guión muestra que El funcionamiento de un servidor NFS consiste en daemons rpc.nfsd, rpc.mountd, y si se utiliza la autenticación Kerberos, entonces el daemon rcp.svcgssd. Los demonios rpc.rquotad y nfslogd todavía se ejecutan en el sombrero rojo (por alguna razón, no encontré información sobre este demonio y las razones de su ausencia en Debian, aparentemente eliminado ...).

De esto queda claro que El servidor Network File System consta de los siguientes procesos (lectura - demonios) ubicado en los directorios /sbin y /usr/sbin:

En NFSv4, cuando se usa Kerberos, los demonios también se lanzan:

  • rpc.gssd- El demonio NFSv4 proporciona métodos de autenticación a través de GSS-API (autenticación Kerberos). Funciona en cliente y servidor.
  • rpc.svcgssd- Un demonio de servidor NFSv4 que proporciona autenticación de cliente del lado del servidor.

portmap y protocolo RPC (Sun RPC)

Además de los paquetes anteriores, NFSv2 y v3 requieren paquete adicional mapa del puerto(en distribuciones más nuevas reemplazado por renombrado a rpcbind). El paquete actual normalmente se instala automáticamente con NFS como dependiente e implementa el trabajo del servidor RPC, es decir, se encarga de la asignación dinámica de puertos para algunos servicios registrados con el servidor RPC. Literalmente, según la documentación, este es un servidor que convierte números de programa RPC ( Procedimiento Remoto Call) a números de puerto TCP/UDP. portmap opera en varias entidades: Llamadas o solicitudes de RPC, Puertos TCP/UDP,versión del protocolo(tcp o upp), números de programa Y versiones de software. El demonio portmap se inicia mediante el script /etc/init.d/portmap antes de que se inicien los servicios NFS.

En resumen, el trabajo de un servidor RPC (llamada a procedimiento remoto) es procesar llamadas RPC (los llamados procedimientos RPC) de procesos locales y remotos. Al usar llamadas RPC, los servicios se registran o se eliminan dentro o fuera del mapeador de puertos (también conocido como portmapper, también conocido como portmap, también conocido como portmapper, también conocido como, en nuevas versiones, rpcbind), y los clientes que usan llamadas RPC envían solicitudes directas al mapeador de puertos para recibir la información necesaria. Los nombres de servicios de programas fáciles de usar y sus números correspondientes se definen en el archivo /etc/rpc. Tan pronto como cualquier servicio haya enviado la solicitud correspondiente y se haya registrado en el servidor RPC en el mapeador de puertos, el servidor RPC asigna al servicio TCP y UDP los puertos en los que se inició el servicio y almacena en el kernel la información relevante sobre el servicio en ejecución. (sobre el nombre), un servicio de número único (según /etc/rpc), el protocolo y el puerto en el que se ejecuta el servicio y la versión del servicio, y proporciona la información especificada a los clientes que lo soliciten. El propio resolvedor de puertos tiene un número de programa (100000), un número de versión 2, puerto TCP 111 y puerto UDP 111. Arriba, al especificar la composición de los demonios del servidor NFS, indiqué los números principales del programa RPC. Probablemente lo confundí un poco con este párrafo, así que diré la frase principal, que debería aclarar: la función principal del mapeador de puertos es devolverle (al cliente) el puerto en el que se ejecuta el programa solicitado. En consecuencia, si un cliente necesita comunicarse con RPC con un número de programa específico, primero debe comunicarse con el proceso portmap en la máquina servidor y determinar el número de puerto para comunicarse con el servicio RPC que necesita.

El funcionamiento del servidor RPC se puede representar mediante los siguientes pasos:

  1. La resolución del puerto debe iniciarse primero, generalmente cuando se inicia el sistema. Esto crea un punto final TCP y abre el puerto TCP 111. También crea un punto final UDP que espera que llegue un datagrama UDP al puerto UDP 111.
  2. Al inicio, un programa que se ejecuta a través de un servidor RPC crea un punto final TCP y un punto final UDP para cada versión admitida del programa. (Un servidor RPC puede admitir varias versiones. El cliente especifica la versión requerida al realizar una llamada RPC). Se asigna un número de puerto asignado dinámicamente a cada versión del servicio. El servidor registra cada programa, versión, protocolo y número de puerto realizando la llamada RPC correspondiente.
  3. Cuando un programa de cliente RPC necesita obtener la información que necesita, invoca un procedimiento de resolución de puertos para obtener un número de puerto asignado dinámicamente para el programa, la versión y el protocolo dados.
  4. En respuesta a esta solicitud, el servidor devuelve el número de puerto.
  5. El cliente envía un mensaje de solicitud RPC al número de puerto obtenido en el paso 4. Si se utiliza UDP, el cliente simplemente envía un datagrama UDP que contiene el mensaje de llamada RPC al número de puerto UDP en el que se ejecuta el servicio solicitado. En respuesta, el servicio envía un datagrama UDP que contiene un mensaje de respuesta RPC. Si se usa TCP, el cliente abre activamente el número de puerto TCP del servicio solicitado y luego envía un mensaje llamada RPC en la conexión establecida. El servidor responde con un mensaje de respuesta RPC a través de la conexión.

Para obtener información del servidor RPC, use la utilidad rpcinfo. Al especificar parámetros -p anfitrión el programa enumera todos los programas RPC registrados en el host host. Sin especificar un host, el programa mostrará servicios en localhost. Ejemplo:

ARCHIV ~ # rpcinfo -p programa vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 59451 estado 100024 1 tcp 60872 estado 100021 1 udp 44310 nlockmgr 100 021 3 udp 44310 nlockmgr 100021 4 udp 44310 nlockmgr 100021 1 tcp 44851 nlockmgr 100021 3 tcp 44851 nlockmgr 100021 4 tcp nfs 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100005 1 udp 51306 montado 100005 1 tcp 41405 montado 100005 2 udp 51306 montado 100005 2 tcp 41405 montado 100005 3 udp 51306 montado 100005 3 TCP 41405 montado

Como puede ver, rpcinfo muestra (en columnas de izquierda a derecha) el número, la versión, el protocolo, el puerto y el nombre del programa registrado. Con rpcinfo puede eliminar el registro de un programa u obtener información sobre un servicio RPC en particular (más opciones en man rpcinfo). Como puede ver, los daemons del mapeador de puertos de la versión 2 están registrados en udp y puertos tcp, rpc.statd versión 1 en puertos udp y tcp, NFS lock manager versiones 1,3,4, nfs server daemon versión 2,3,4 y mount daemon versiones 1,2,3.

El servidor NFS (más precisamente, el daemon rpc.nfsd) recibe solicitudes del cliente en forma de datagramas UDP en el puerto 2049. Aunque NFS funciona con una resolución de puertos, lo que permite que el servidor use puertos asignados dinámicamente, el puerto UDP 2049 es cableado a NFS en la mayoría de las implementaciones.

Funcionamiento del protocolo del sistema de archivos de red

Montaje NFS remoto

El proceso de montaje de un sistema de archivos NFS remoto se puede representar de la siguiente manera:

Descripción del protocolo NFS al montar un directorio remoto:

  1. Se inicia un servidor RPC en el servidor y el cliente (normalmente en el arranque), el proceso del mapeador de puertos lo mantiene y se registra en los puertos tcp/111 y udp/111.
  2. Se inician servicios (rpc.nfsd, rpc.statd, etc.), que se registran en el servidor RPC y se registran en puertos de red arbitrarios (si no se especifica un puerto estático en la configuración del servicio).
  3. el comando de montaje en la computadora cliente envía al kernel una solicitud para montar el directorio de la red indicando el tipo de sistema de archivos, el host y el directorio en sí, el kernel envía una solicitud RPC al proceso portmap en el servidor NFS en el udp/111 puerto (si la opción para trabajar a través de tcp no está configurada en el cliente)
  4. El kernel del servidor NFS sondea a RPC para detectar la presencia del daemon rpc.mountd y regresa al kernel del cliente. puerto de red En el que se ejecuta el daemon.
  5. mount envía una solicitud RPC al puerto donde se ejecuta rpc.mountd. El servidor NFS ahora puede validar al cliente en función de su dirección IP y número de puerto para ver si el cliente puede montar el sistema de archivos especificado.
  6. El demonio de montaje devuelve una descripción del sistema de archivos solicitado.
  7. El comando de montaje del cliente emite la llamada del sistema de montaje para asociar el descriptor de archivo obtenido en el paso 5 con un punto de montaje local en el host del cliente. El descriptor de archivo se almacena en el código NFS del cliente y, a partir de ese momento, cualquier proceso de usuario que acceda a archivos en el sistema de archivos del servidor utilizará el descriptor de archivo como punto de partida.

Comunicación entre el cliente y el servidor NFS

Un acceso típico a un sistema de archivos remoto se puede describir de la siguiente manera:

Descripción del proceso de acceso a un archivo ubicado en un servidor NFS:

  1. Al cliente (proceso de usuario) no le importa si accede a un archivo local o a un archivo NFS. El núcleo trata de interactuar con el hardware a través de módulos del núcleo o llamadas al sistema integradas.
  2. módulo del núcleo núcleo/fs/nfs/nfs.ko, que actúa como un cliente NFS envía solicitudes RPC al servidor NFS a través del módulo TCP/IP. NFS generalmente usa UDP, sin embargo, las implementaciones más nuevas pueden usar TCP.
  3. El servidor NFS recibe solicitudes del cliente en forma de datagramas UDP en el puerto 2049. Aunque NFS puede funcionar con una resolución de puertos, lo que permite que el servidor use puertos asignados dinámicamente, el puerto UDP 2049 está conectado a NFS en la mayoría de las implementaciones.
  4. Cuando un servidor NFS recibe una solicitud de un cliente, se pasa a una rutina de acceso a archivos local que proporciona acceso a disco local en servidor
  5. El resultado del acceso al disco se devuelve al cliente.

Configuración de un servidor NFS

Ajuste del servidor en general es especificar los directorios locales que los sistemas remotos pueden montar en un archivo /etc/exportaciones. Esta acción se llama exportación de jerarquía de directorios. Las principales fuentes de información sobre los catálogos exportados son los siguientes archivos:

  • /etc/exportaciones- el archivo de configuración principal que almacena la configuración de los directorios exportados. Se usa al iniciar NFS y usar la utilidad exportfs.
  • /var/lib/nfs/xtab- contiene una lista de directorios montados por clientes remotos. Lo utiliza el daemon rpc.mountd cuando un cliente intenta montar una jerarquía (se crea una entrada de montaje).
  • /var/lib/nfs/etab- una lista de directorios que pueden ser montados por sistemas remotos, indicando todos los parámetros de los directorios exportados.
  • /var/lib/nfs/rmtab- lista de directorios que no están sin exportar en este momento.
  • /proc/fs/nfsd- un sistema de archivos especial (kernel 2.6) para administrar el servidor NFS.
    • exportaciones- lista de jerarquías exportadas activas y clientes a los que se exportaron, así como parámetros. El núcleo recibe esta informacion desde /var/lib/nfs/xtab.
    • hilos- contiene el número de subprocesos (también se puede cambiar)
    • usando filehandle puede obtener un puntero a un archivo
    • y etc...
  • /proc/net/rpc- contiene estadísticas "en bruto" (en bruto), que se pueden obtener usando nfsstat, así como varios cachés.
  • /var/run/portmap_mapping- información sobre los servicios registrados en RPC

Nota: En general, hay muchas interpretaciones y formulaciones del propósito de los archivos xtab, etab, rmtab en Internet, no sé a quién creer Incluso en http://nfs.sourceforge.net/ la interpretación no es inequívoca .

Configuración del archivo /etc/exports

En el caso más simple, /etc/exports es el único archivo que debe editarse para configurar un servidor NFS. Este archivo controla los siguientes aspectos:

  • que clientes puede acceder a los archivos en el servidor
  • ¿Qué jerarquías? Cada cliente puede acceder a los directorios del servidor
  • Cómo se personalizarán los nombres de los clientes desplegado en nombres locales usuarios

Cada línea en el archivo de exportación tiene el siguiente formato:

exportpoint cliente1(opciones) [cliente2(opciones) ...]

Dónde export_point la ruta absoluta de la jerarquía de directorios exportada, cliente1 - n el nombre de uno o más clientes o direcciones IP, separados por espacios, que pueden montar export_point . Opciones describir las reglas de montaje para cliente antes opciones .

Aquí hay un típico ejemplo de configuración de archivos de exportación:

ARCHIV ~ # cat /etc/exports /archiv1 archivos(rw,sync) 10.0.0.1(ro,sync) 10.0.230.1/24(ro,sync)

En este ejemplo, los archivos de las computadoras y 10.0.0.1 pueden acceder al punto de exportación /archiv1, mientras que el host de archivos es de lectura/escritura, y el host 10.0.0.1 y la subred 10.0.230.1/24 son de solo lectura.

Las descripciones de host en /etc/exports están permitidas en el siguiente formato:

  • Los nombres de nodos individuales se describen como archivos o archivos.DOMINIO.local.
  • La descripción de la máscara de dominio se realiza en el siguiente formato: *DOMAIN.local incluye todos los nodos del dominio DOMAIN.local.
  • Las subredes se especifican como pares de dirección IP/máscara. Por ejemplo: 10.0.0.0/255.255.255.0 incluye todos los hosts cuyas direcciones comienzan con 10.0.0.
  • Especificar el nombre del grupo de red @myclients que tiene acceso al recurso (cuando se usa un servidor NIS)

Opciones generales de exportación para jerarquías de catálogo

Las siguientes opciones generales se utilizan en el archivo de exportaciones(en primer lugar, se indican las opciones usadas por defecto en la mayoría de los sistemas, las no por defecto entre paréntesis):

  • auth_nlm (no_auth_nlm) o bloqueos_seguros (bloqueos_inseguros)- especifica que el servidor debe requerir la autenticación de las solicitudes de bloqueo (usando el protocolo NFS Lock Manager).
  • ocultar (esconder)- si el servidor exporta dos jerarquías de directorios, con una anidada (montada) dentro de la otra. El cliente debe montar explícitamente la segunda jerarquía (secundaria), de lo contrario, el punto de montaje de la jerarquía secundaria aparecerá como un directorio vacío. La opción nohide da como resultado una segunda jerarquía de directorios sin un montaje explícito. ( nota: No he podido hacer funcionar esta opción...
  • ro (rw)- Solo permite solicitudes de lectura (escritura). (En última instancia, si la lectura/escritura es posible o no se determina en función de los permisos del sistema de archivos, mientras que el servidor no puede distinguir entre una solicitud de lectura de archivo y una solicitud de ejecución, por lo que permite la lectura si el usuario tiene permisos de lectura o ejecución. .)
  • seguro (inseguro)- requiere que las solicitudes de NFS provengan de puertos seguros (< 1024), чтобы программа без derechos de root no se pudo montar la jerarquía de directorios.
  • subtree_check (no_subtree_check)- Si se exporta un subdirectorio del sistema de archivos, pero no todo el sistema de archivos, el servidor verifica si el archivo solicitado está en el subdirectorio exportado. Deshabilitar la verificación reduce la seguridad pero aumenta la velocidad de transferencia de datos.
  • sincronizar (asincrónico) Especifica que el servidor solo debe responder a las solicitudes después de que los cambios realizados por esas solicitudes se hayan escrito en el disco. La opción asíncrona le dice al servidor que no espere a que la información se escriba en el disco, lo que mejora el rendimiento pero reduce la confiabilidad. La pérdida de información es posible si se interrumpe la conexión o falla el equipo.
  • wdelay (sin_wdelay)- indica al servidor que retrase la ejecución de las solicitudes de escritura si hay una solicitud de escritura pendiente, escribiendo los datos en bloques más grandes. Esto mejora el rendimiento cuando se envían grandes colas de comandos de escritura. no_wdelay especifica no retrasar la ejecución del comando de escritura, lo que puede ser útil si el servidor recibe un gran número de comandos que no están relacionados entre sí.

Exporte enlaces simbólicos y archivos de dispositivos. Al exportar una jerarquía de directorios que contienen enlaces simbólicos, el objeto de enlace debe estar disponible para el sistema cliente (remoto), es decir, una de las siguientes reglas debe ser verdadera:

El archivo del dispositivo se refiere a la interfaz. Cuando exporta un archivo de dispositivo, se exporta esta interfaz. Si el sistema cliente no tiene un dispositivo del mismo tipo, el dispositivo exportado no funcionará. En el sistema cliente, al montar objetos NFS, se puede usar la opción nodev para que no se usen los archivos de dispositivo en los directorios montados.

Las opciones predeterminadas en diferentes sistemas pueden variar, se pueden encontrar en el archivo /var/lib/nfs/etab. Después de describir el directorio exportado en /etc/exports y reiniciar el servidor NFS, cualquier opción faltante (léase: opciones predeterminadas) se reflejará en el archivo /var/lib/nfs/etab.

Opciones de visualización (coincidencia) para ID de usuario

Para una mejor comprensión de lo siguiente, le aconsejo que lea el artículo. Cada usuario de linux tiene su propio UID y GID principal, que se describen en los archivos /etc/contraseña Y /etc/grupo. El servidor NFS cree que el sistema operativo del host remoto ha autenticado a los usuarios y les ha asignado el UID y el GID correctos. La exportación de archivos brinda a los usuarios del sistema cliente el mismo acceso a esos archivos que si estuvieran iniciando sesión directamente en el servidor. En consecuencia, cuando un cliente NFS envía una solicitud a un servidor, el servidor utiliza el UID y el GID para identificar al usuario en sistema local, lo que puede conducir a algunos problemas:

  • un usuario puede no tener las mismas identidades en ambos sistemas y, por lo tanto, puede acceder a los archivos de otro usuario.
  • porque el ID de usuario raíz siempre es 0, entonces usuario dado se asigna al usuario local en función de las opciones especificadas.

Las siguientes opciones establecen las reglas para mostrar usuarios remotos en los locales:

  • root_squash (no_root_squash)- Con conjunto de opciones root_squash, las solicitudes del usuario raíz se asignan al uid/gid anónimo o al usuario especificado en el parámetro anonuid/anongid.
  • no_all_squash (todo_calabaza)- No cambia el UID/GID del usuario que se conecta. Opción all_squash establece que TODOS los usuarios (no solo root) se muestren como anónimos o especificados en el parámetro anonuid/anongid.
  • anónimo= UID Y anónimo = G.I.D. - Establece explícitamente el UID/GID para un usuario anónimo.
  • map_static= /etc/file_maps_users - Especifica un archivo que se puede usar para asignar UID/GID remotos a UID/GID locales.

Un ejemplo del uso de un archivo de asignación de usuarios:

ARCHIV ~ # cat /etc/file_maps_users # Asignación de usuarios # comentario local remoto uid 0-50 1002 # asignación de usuarios con UID remoto 0-50 a UID local 1002 gid 0-50 1002 # asignación de usuarios con/span a GID remoto 0-50 al GID local 1002

Gestión de servidores NFS

El servidor NFS se administra mediante las siguientes utilidades:

  • nfsstat
  • showmsecure (inseguro) recuento

nfsstat: estadísticas NFS y RPC

La utilidad nfsstat le permite ver las estadísticas de los servidores RPC y NFS. Las opciones de comando se pueden encontrar en man nfsstat .

showmount: muestra información de estado de NFS

utilidad showmount consulta el daemon rpc.mountd en el host remoto para sistemas de archivos montados. De forma predeterminada, se devuelve una lista ordenada de clientes. Llaves:

  • --todo- se da una lista de clientes y puntos de montaje, indicando donde el cliente montó el directorio. Esta información puede no ser confiable.
  • --directorios- lista de puntos de montaje
  • --exportaciones- se proporciona una lista de sistemas de archivos exportados desde el punto de vista de nfsd

Ejecutar showmount sin argumentos imprimirá en la consola información sobre los sistemas que pueden montarse local directorios. Por ejemplo, host ARCHIV nos proporciona una lista de directorios exportados con direcciones IP de hosts que pueden montar los directorios especificados:

ARCHIVOS ~ # showmount --exports archive Lista de exportación para el archivo: /archiv-big 10.0.0.2 /archiv-small 10.0.0.2

Si especifica un nombre de host / IP en el argumento, se mostrará información sobre este host:

ARCHIV ~ # showmount archivos clnt_create: RPC: Programa no registrado # este mensaje nos dice que el demonio NFSd no se está ejecutando en el host ARCHIVOS

exportfs: gestión de directorios exportados

Este comando sirve los directorios exportados especificados en el archivo /etc/exportaciones, sería más exacto escribir no sirve, pero sincroniza con el archivo /var/lib/nfs/xtab y elimina los inexistentes de xtab. exportfs se ejecuta cuando el demonio nfsd se inicia con el argumento -r. La utilidad exportfs en modo kernel 2.6 se comunica con el demonio rpc.mountd a través de archivos en el directorio /var/lib/nfs/ y no se comunica directamente con el kernel. Sin parámetros, devuelve una lista de los sistemas de archivos exportados actualmente.

opciones de exportación:

  • [cliente:dir-name]: agregue o elimine el sistema de archivos especificado para el cliente especificado)
  • -v - muestra más información
  • -r - volver a exportar todos los directorios (sincronizar /etc/exports y /var/lib/nfs/xtab)
  • -u - eliminar de la lista de exportación
  • -a - agrega o elimina todos los sistemas de archivos
  • -o - opciones separadas por comas (similar a las opciones utilizadas en /etc/exports; por lo tanto, puede cambiar las opciones de los sistemas de archivos ya montados)
  • -i - no use /etc/exports al agregar, solo opciones de la línea de comando actual
  • -f - restablecer la lista de sistemas exportados en el kernel 2.6;

cliente NFS

Antes de acceder a un archivo en un sistema de archivos remoto, el cliente (SO del cliente) debe Móntalo y recibir del servidor apuntar a eso. Montaje NFS se puede hacer con o con la ayuda de uno de los prolíficos montadores automáticos (amd, autofs, automount, supermount, superpupermount). El proceso de montaje está bien demostrado en la ilustración de arriba.

En clientes NFS no es necesario iniciar demonios, funciones del cliente ejecuta un módulo del núcleo kernel/fs/nfs/nfs.ko, que se utiliza al montar un sistema de archivos remoto. Los directorios exportados desde el servidor se pueden montar en el cliente de las siguientes maneras:

  • manualmente usando el comando de montaje
  • automáticamente al arrancar, al montar los sistemas de archivos descritos en /etc/fstab
  • automáticamente con el demonio autofs

No consideraré el tercer método con autofs en este artículo, debido a su voluminosa información. Quizás en los siguientes artículos habrá una descripción separada.

Montaje del sistema de archivos de red con el comando de montaje

En la publicación se presenta un ejemplo del uso del comando de montaje. Aquí veré un ejemplo del comando de montaje para montar un sistema de archivos NFS:

FILES ~ # mount -t nfs archiv:/archiv-small /archivs/archiv-small FILES ~ # mount -t nfs -o ro archiv:/archiv-big /archivs/archiv-big FILES ~ # mount ..... .. archiv:/archiv-small on /archivs/archiv-small type nfs (rw,addr=10.0.0.6) archiv:/archiv-big on /archivs/archiv-big type nfs (ro,addr=10.0.0.6)

El primer comando monta el directorio exportado. /archivo-pequeño en el servidor archivo al punto de montaje local /archivs/archivo-pequeño con opciones predeterminadas (es decir, lectura y escritura). A pesar de comando de montaje en las distribuciones más recientes, puede entender qué tipo de sistema de archivos se usa incluso sin especificar el tipo, aún especifica el parámetro -tnfs deseable. El segundo comando monta el directorio exportado. /archivo-grande en el servidor archivo al directorio local /archivs/archivo-grande con opción de solo lectura ( Ro). comando de montaje sin parámetros muestra claramente el resultado del montaje. Además de la opción de solo lectura (ro), es posible especificar otras opciones básicas de montaje NFS:

  • nosuid- Esta opción deshabilita la ejecución de programas desde el directorio montado.
  • nodev(sin dispositivo): esta opción desactiva el carácter y bloquea archivos especiales como dispositivos.
  • bloqueo (sin bloqueo)- Habilita el bloqueo NFS (predeterminado). nolock desactiva el bloqueo NFS (no inicia el demonio lockd) y es útil cuando se trata de servidores más antiguos que no admiten el bloqueo NFS.
  • mounthost=nombre- El nombre del host que ejecuta el demonio de montaje NFS es mountd.
  • puerto de montaje = n - El puerto utilizado por el demonio mountd.
  • puerto=n- puerto utilizado para conectarse al servidor NFS (el valor predeterminado es 2049 si el demonio rpc.nfsd no está registrado en el servidor RPC). Si n=0 (valor predeterminado), NFS envía una solicitud al mapa de puertos en el servidor para determinar el puerto.
  • tamaño = n(tamaño de bloque de lectura - tamaño de bloque de lectura) - El número de bytes leídos a la vez desde el servidor NFS. El valor predeterminado es 4096.
  • wtamaño=n(tamaño del bloque de escritura - el tamaño del bloque de escritura) - El número de bytes escritos a la vez en el servidor NFS. El valor predeterminado es 4096.
  • tcp o upp- Para montar NFS, use TCP o UDP respectivamente.
  • bg- Si pierde el acceso al servidor, vuelva a intentarlo en segundo plano para no bloquear el proceso de arranque del sistema.
  • fg- Si pierde el acceso al servidor, vuelva a intentarlo en modo prioritario. Esta opción puede bloquear el proceso de arranque del sistema mediante reintentos de montaje. Por esta razón, la opción fg se utiliza principalmente con fines de depuración.

Opciones que afectan el almacenamiento en caché de atributos en montajes NFS

Atributos de archivo, almacenados en (inodes), como la hora de modificación, el tamaño, los enlaces duros, el propietario, por lo general cambian con poca frecuencia para los archivos normales e incluso con menos frecuencia para los directorios. Muchos programas, como ls, acceden a archivos de solo lectura y no cambian los atributos ni el contenido de los archivos, pero desperdician recursos del sistema en costosas operaciones de red. Para evitar desperdiciar recursos, puede atributos de datos de caché. El núcleo utiliza la hora de modificación de un archivo para determinar si la memoria caché está desactualizada comparando la hora de modificación en la memoria caché y la hora de modificación del propio archivo. La caché de atributos se actualiza periódicamente de acuerdo con los parámetros especificados:

  • ca (noac) (caché de atributos- almacenamiento en caché de atributos): habilite el almacenamiento en caché de atributos (predeterminado). Aunque la opción noac ralentiza el servidor, evita el envejecimiento de los atributos cuando varios clientes escriben información de forma activa en una jerarquía común.
  • acdirmax=n (archivo de directorio de caché de atributo máximo- máximo de almacenamiento en caché de atributos para el archivo de directorio) - El número máximo de segundos que espera NFS antes de actualizar los atributos del directorio (predeterminado 60 segundos)
  • acdirmín=n (archivo de directorio de caché de atributo mínimo- almacenamiento en caché de atributos mínimos para el archivo de directorio) - El número mínimo de segundos que NFS espera antes de actualizar los atributos del directorio (30 segundos de forma predeterminada)
  • accregmax=n (Caché de atributo archivo normal máximo- máximo de almacenamiento en caché de atributos para un archivo normal) - El número máximo de segundos que NFS espera antes de actualizar los atributos de un archivo normal (predeterminado 60 seg.)
  • aregmín=n (caché de atributo mínimo de archivo regular- almacenamiento en caché de atributos mínimos para un archivo normal) - El número mínimo de segundos que espera NFS antes de actualizar los atributos de un archivo normal (predeterminado 3 seg.)
  • actimeo=n (tiempo de espera de caché de atributos- tiempo de espera de almacenamiento en caché del atributo) - Anula los valores de todas las opciones anteriores. Si actimeo no está configurado, entonces los valores anteriores son los predeterminados.

Opciones de manejo de errores de NFS

Las siguientes opciones controlan lo que hace NFS cuando no hay respuesta del servidor o cuando ocurren errores de E/S:

  • fg (bg) (primer plano- primer plano, fondo- fondo) - Intento de montar un NFS fallido en primer plano/fondo.
  • duro (suave)- imprime el mensaje "el servidor no responde" en la consola cuando se alcanza el tiempo de espera y continúa con los intentos de montaje. Con la opción dada suave- en tiempo de espera informa al programa que llamó a la operación sobre un error de E/S. (Se recomienda no usar la opción blanda)
  • nointr(intr) (sin interrupción- no anular): evita que las señales anulen las operaciones de archivos en una jerarquía de directorios montada de forma rígida cuando se alcanza un tiempo de espera prolongado. intr- Habilitar interrupción.
  • retrans=n (valor de retransmisión- valor de retransmisión) - Después de n tiempos de espera pequeños, NFS genera un tiempo de espera grande (predeterminado 3). Un tiempo de espera prolongado finaliza las operaciones o imprime un mensaje de "servidor que no responde" en la consola, según la opción hard/soft especificada.
  • reintentar=n (valor de reintento- valor de reintento) - Número de minutos que NFS reintenta los montajes antes de darse por vencido (predeterminado 10000).
  • tiempoo=n (valor de tiempo de espera- valor de tiempo de espera) - El número de décimas de segundo que el servicio NFS espera antes de retransmitir en caso de RPC o tiempo de espera bajo (el valor predeterminado es 7). Este valor se incrementa en cada tiempo de espera hasta un valor máximo de 60 segundos o hasta que se produzca un tiempo de espera grande. Si la red está ocupada, el servidor es lento o la solicitud pasa a través de varios enrutadores o puertas de enlace, aumentar este valor puede mejorar el rendimiento.

Montaje automático de NFS en el arranque (descripción de los sistemas de archivos en /etc/fstab)

Elige el momento óptimo para cierto valor paquete transmitido (valores rsize / wsize), puede usar el comando ping:

ARCHIVOS ~ # ping -s 32768 archiv PING archiv.DOMAIN.local (10.0.0.6) 32768(32796) bytes de datos. 32776 bytes de archiv.domain.local (10.0.0.6): icmp_req=1 ttl=64 time=0.931 ms from archiv.domain.local (10.0.0.6): icmp_req=3 ttl=64 time=1.03 ms 32776 bytes .domain .local (10.0.0.6): icmp_req=5 ttl=64 time=1.08 ms ^C --- archive.DOMAIN.local ping estadísticas --- 5 paquetes transmitidos, 5 recibidos, 0% pérdida de paquetes, tiempo 4006ms rtt min/ promedio/máx./mdev = 0,931/1,002/1,083/0,061 ms

Como puede ver, cuando se envía un paquete de tamaño 32768 (32 Kb), su tiempo de viaje desde el cliente al servidor y viceversa es de alrededor de 1 milisegundo. Si este tiempo se sale de la escala durante 200 ms, debe pensar en aumentar el valor del tiempo para que exceda el valor de intercambio entre tres y cuatro veces. En consecuencia, es recomendable realizar esta prueba durante una carga de red intensa.

Iniciar NFS y configurar el cortafuegos

La nota fue copiada del blog http://bog.pp.ru/work/NFS.html, ¡¡¡muchas gracias a él!!!

Iniciar servidor NFS, montar, bloquear, cuota y estado con puertos "correctos" (para cortafuegos)

  • es deseable desmontar previamente todos los recursos en los clientes
  • detenga e inhabilite el inicio de rpcidmapd si NFSv4 no está planificado: chkconfig --level 345 rpcidmapd off service rpcidmapd stop
  • si es necesario, active los servicios portmap, nfs y nfslock para iniciar: chkconfig --levels 345 portmap/rpcbind on chkconfig --levels 345 nfs on chkconfig --levels 345 nfslock on
  • detenga los servicios nfslock y nfs si es necesario, inicie portmap/rpcbind, descargue los módulos service nfslock stop service nfs stop service portmap start # service rpcbind start umount /proc/fs/nfsd service rpcidmapd stop rmmod nfsd service autofs stop # en algún lugar posterior que necesite ejecutar es rmmod nfs rmmod nfs_acl rmmod lockd
  • puertos abiertos en
    • para RPC: UDP/111, TCP/111
    • para NFS: UDP/2049, TCP/2049
    • para rpc.statd: UDP/4000, TCP/4000
    • para bloqueo: UDP/4001, TCP/4001
    • para montaje: UDP/4002, TCP/4002
    • para rpc.rquota: UDP/4003, TCP/4003
  • para el servidor rpc.nfsd, agregue la línea RPCNFSDARGS="--port 2049" a /etc/sysconfig/nfs
  • para el servidor de montaje, agregue la línea MOUNTD_PORT=4002 a /etc/sysconfig/nfs
  • para configurar rpc.rquota para nuevas versiones, debe agregar la línea RQUOTAD_PORT=4003 a /etc/sysconfig/nfs
  • para configurar rpc.rquota necesario para versiones anteriores (sin embargo, debe tener el paquete de cuota 3.08 o más reciente) agregue a /etc/services rquotad 4003/tcp rquotad 4003/udp
  • comprobar /etc/exportaciones para la validez
  • inicie los servicios rpc.nfsd, mountd y rpc.rquota (al mismo tiempo se inician rpcsvcgssd y rpc.idmapd si recuerda borrarlos) service nfsd start o en versiones más nuevas service nfs start
  • para el servidor de bloqueo para sistemas nuevos, agregue las líneas LOCKD_TCPPORT=4001 LOCKD_UDPPORT=4001 a /etc/sysconfig/nfs
  • para un servidor de bloqueo para sistemas más antiguos, agregue directamente a /etc/modprobe[.conf]: options lockd nlm_udpport=4001 nlm_tcpport=4001
  • enlace el servidor de estado rpc.statd al puerto 4000 (para sistemas más antiguos, ejecute rpc.statd con -p 4000 en /etc/init.d/nfslock) STATD_PORT=4000
  • iniciar lockd y rpc services.statd service nfslock start
  • asegúrese de que todos los puertos estén vinculados correctamente con "lsof -i -n -P" y "netstat -a -n" (algunos puertos son utilizados por módulos del kernel que lsof no ve)
  • si antes de "reconstruir" el servidor fue utilizado por los clientes y no se pudieron desmontar, entonces deberá reiniciar los servicios de montaje automático en los clientes (am-utils, autofs)

Ejemplo de configuración de cliente y servidor NFS

Configuración del servidor

Si desea que su directorio particionado por NFS esté abierto y se pueda escribir, puede usar la opción all_squash en combinación con opciones anónimo Y anónimo. Por ejemplo, para establecer permisos para el usuario "nadie" en el grupo "nadie", puede hacer lo siguiente:

ARCHIV ~ # cat /etc/exports # Acceso de lectura/escritura para el cliente en 192.168.0.100, con acceso rw para el usuario 99 con gid 99 /files 192.168.0.100(rw,sync,all_squash,anonuid=99,anongid=99) ) # Acceso de lectura y escritura para el cliente en 192.168.0.100, con acceso rw para el usuario 99 con gid 99 /files 192.168.0.100(rw,sync,all_squash,anonuid=99,anongid=99))

Esto también significa que si desea permitir el acceso al directorio especificado,body.nobody debe ser el propietario del directorio compartido:

montura de hombre
hombre exporta
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.prftungd/doc/prftungd/nfs_perf.htm: rendimiento de NFS de IBM.

Atentamente, Mc.Sim!

La combinación de "NFC" (comunicación de campo cercano) se encuentra cada vez más en las especificaciones de los teléfonos inteligentes y tabletas modernos. En este artículo, intentaremos considerar esta interfaz desde el punto de vista del uso práctico, para que los lectores puedan concluir de forma independiente que es necesario tenerla en su teléfono.

En las pruebas, utilizamos dos modelos de teléfonos inteligentes que ya se han discutido en detalle en nuestro recurso: Acer CloudMobile S500 y Sony Xperia acro S. También queremos señalar que la mayor parte de la información, incluidos los programas descritos y los escenarios de uso, solo se aplicará a los teléfonos inteligentes en basado en Android. Es este sistema operativo el más “amigable” hoy en día a la hora de trabajar con NFC.

Introducción

A primera vista, puede parecer que numerosas interfaces inalámbricas de hoy ya cubren todas las tareas y escenarios populares posibles, por lo que simplemente no se necesita otra opción. Sin embargo, si observa el desarrollo de tecnologías modernas, puede ver que cada vez se presta más atención a los problemas de consumo de energía, especialmente si estamos hablando O dispositivos móviles. En particular, la versión 4.0 de la conocida familia de protocolos Bluetooth está enfocada únicamente a reducir los costos de batería. El segundo punto que vale la pena mencionar es que no todas las tareas requieren un largo alcance. Incluso sucede al revés: desea limitar explícitamente la distancia entre los dispositivos que interactúan. Además de la evidente reducción del consumo, esto también afecta a la seguridad. Sí, y sobre el volumen de datos transmitidos, también puede hacer un comentario similar. Entonces, la idea de una interfaz inalámbrica no rápida que se ejecuta en distancias cortas y caracterizado por un bajo consumo de energía, tiene derecho a existir.

El punto de partida en la historia del desarrollo de NFC se puede tomar en 2004, cuando Nokia, Philips y Sony anunciaron la creación para desarrollar y estandarizar la interfaz de interacción. varios dispositivos, basado en el tacto. Sin embargo, las primeras versiones de las especificaciones se crearon un poco antes. Tal vez, según los estándares modernos, la tecnología pueda considerarse muy joven (si no se tiene en cuenta la historia de RFID), pero ya es bastante común en productos y servicios reales. En particular, en el Mobile World Congress 2013 celebrado a finales de febrero, se dedicaron muchos stands y demostraciones a este tema.

Esta señal se puede encontrar en dispositivos con tecnología NFC.

Las características formales de la interfaz son las siguientes: funciona a una distancia de varios centímetros, la tasa de intercambio de información máxima es de aproximadamente 400 Kbps, se admite el intercambio de datos full-duplex, la frecuencia de operación es de 13,56 MHz, el tiempo de establecimiento de la conexión no excede 0,1 s, el modo de funcionamiento es punto a punto. Se puede ver que estos parámetros distinguen fundamentalmente a NFC de otras interfaces inalámbricas populares.

Si hablamos de dispositivos, además de los controladores activos en NFC, también hay opciones pasivas (generalmente se llaman etiquetas), que reciben energía de forma inalámbrica desde el controlador activo. Un ejemplo son los mapas modernos para el transporte público. Las etiquetas son simplemente almacenamiento de datos, normalmente de menos de 4 KB de tamaño. En la mayoría de los casos, solo se les proporciona el modo de lectura, pero hay opciones con soporte de escritura.

Una de las opciones más simples para una etiqueta NFC pasiva

El tamaño compacto del controlador y su bajo consumo permite implementar NFC incluso en diseños pequeños como tarjetas SIM o tarjetas memoria microSD. Sin embargo, para un funcionamiento completo, se requiere el uso de una antena especial. En los teléfonos, generalmente se encuentra en la parte posterior de la tapa de la batería o está integrado panel posterior si el dispositivo no tiene una batería extraíble.

La antena NFC a menudo se coloca en contraportada teléfono inteligente

El corto alcance puede ser perjudicial cuando se usan tabletas: encontrar el lugar adecuado para "adjuntar" puede no ser tan fácil como nos gustaría. Para resolver este problema, algunos fabricantes marcan la ubicación de la antena con un letrero especial. En cuanto al alcance, en nuestro caso, la conexión funcionó a una distancia de no más de cuatro centímetros, tanto entre teléfonos como con una etiqueta pasiva.

Desde el punto de vista de la seguridad, los desarrolladores no implementaron elementos de protección contra la interceptación y los ataques de retransmisión. Por supuesto, esto dificulta la implementación de soluciones seguras, ya que requiere que las propias aplicaciones se protejan a sí mismas a un nivel superior. Tenga en cuenta que, de hecho, un protocolo tan conocido como TCP / IP se comporta de manera similar. Entonces, desde un punto de vista práctico, parece más peligroso perder el teléfono sin protección adicional con programas de sistemas de pago personalizados que la interceptación de comunicaciones.

Quizás lo más importante que debe saber sobre NFC hoy en día es que la interfaz en sí misma no proporciona ningún caso de uso o solución práctica real. A diferencia, por ejemplo, de Bluetooth, cuyos perfiles describen claramente cómo transferir un archivo, cómo conectar un auricular o proporcionar acceso a la red, NFC es solo una base, y los escenarios de trabajo directos los proporciona un software adicional que funciona a través de él. Por un lado, esto abre amplias oportunidades para los desarrolladores y, por otro lado, es un problema para ellos a la hora de garantizar la interacción. diferentes aplicaciones y dispositivos

Curiosamente, cualquier programa instalado en un teléfono inteligente o tableta puede registrarse en el sistema operativo como controladores de eventos relacionados con NFC, y luego, cuando "llame" externamente, verá el menú estándar "¿cómo desea realizar esta acción?". Dado que algunos escenarios para usar NFC implican una conveniente automatización de acciones, es recomendable no sobrecargar el dispositivo con tales utilidades.

El foro NFC intenta ayudar con esta incertidumbre al ofrecer protocolos estandarizados para ciertos escenarios (en particular, NDEF para almacenar mensajes cortos en etiquetas y SNEP (Protocolo de intercambio NDEF simple) para intercambiar información entre dispositivos), pero determinación práctica de la compatibilidad de dispositivos específicos. suele ser difícil debido a la falta de información detallada del fabricante y herramientas de diagnóstico. Aquí hay otro ayudante Google que propuso en Últimas Versiones Android desarrollo propio de Android Beam. Permite intercambiar cierto tipo de información entre dispositivos compatibles.

Haz de Android

Primero debe asegurarse de que ambos dispositivos tengan NFC habilitado, Android Beam activo y sus pantallas estén desbloqueadas. En los modelos que probamos, NFC solo funciona si la pantalla está encendida y el dispositivo está completamente desbloqueado. Pero es posible que se utilice otro algoritmo en otros dispositivos. En cualquier caso, la interfaz activa requiere muy poca batería para funcionar y, hasta ahora, el enfoque descrito parece bastante razonable. Una de las opciones para simplificar el trabajo es apagar la pantalla de bloqueo. En este caso, para reconocer la etiqueta, bastará con encender el teléfono inteligente. Otro inconveniente es la necesidad de confirmar la operación tocando la pantalla después de que los dispositivos se encuentren. Esto no siempre es fácil de hacer sin romper la conexión, especialmente cuando ambos dispositivos están en manos de dos personas diferentes.

El siguiente paso es seleccionar una de las aplicaciones en el dispositivo desde el que se planea la transferencia. En particular, estos pueden ser:

  • Google Chrome: transferencia del enlace abierto actual;
  • Cliente de YouTube: transferencia de un videoclip (como enlace);
  • mapas de Google- transferencia de un lugar o ruta;
  • Contactos: envíe una tarjeta de contacto;
  • Google Play— transferencia de la aplicación;
  • Galería - transferir fotos.

A continuación, acerque los dispositivos entre sí. Cuando se encuentre un socio, escuchará un tono en el dispositivo de envío y la imagen del escritorio se reducirá. En este punto, debe tocar la imagen de la pantalla y mantener presionado el dedo hasta que escuche la segunda señal, sobre una transferencia exitosa.

Hemos probado las opciones de la lista y casi todas funcionan. Incluso el hecho de que nuestros dispositivos fueran producidos por diferentes fabricantes no les impidió encontrar lenguaje mutuo. Pero todavía vale la pena hacer algunos comentarios. No hay problemas con las rutas en Google Maps, y la opción de ubicación no es muy interesante, porque solo se transmite la visualización del mapa actual. El punto marcado en la pantalla del teléfono fuente no llega al destinatario. La situación se corrige mediante el uso de la aplicación "Direcciones", que transfiere los datos correctamente. Al enviar contactos, se pierde una foto porque, desde el punto de vista técnico, el formato de transferencia corresponde a archivos de texto vcf. Si hablamos de aplicaciones, puede enviar no solo las instaladas en su teléfono, sino también tarjetas abiertas en Google Play. Del mismo modo, se admiten libros y otros contenidos de la tienda. Naturalmente, estamos hablando de la transferencia de enlaces, y no de los elementos descargados o comprados en sí. Hubo un problema con el envío de fotos: el dispositivo Sony no podía trabajar con este tipo de datos. La redacción oficial es "El dispositivo del destinatario no admite grandes transferencias de datos a través de Android Beam". Aquí tienes el primer síntoma de la juventud de la interfaz o la falta de detalle en las especificaciones técnicas de los dispositivos. Formalmente, tenemos NFC y Android Beam en dos dispositivos, pero en la práctica, sus capacidades reales difieren significativamente, y puede averiguarlo solo como resultado de la verificación. ¿Qué podemos decir sobre los fabricantes menos famosos? Su implementación de esta tecnología puede ser completamente impredecible.

Por cierto, en cuanto a trabajo androide Haz. La descripción de la tecnología indica que para la transferencia de datos se utiliza el establecimiento de una conexión a través de Bluetooth después de la negociación inicial de la configuración a través de NFC. Teniendo en cuenta que todos los formatos de trabajo suponían una cantidad realmente pequeña de datos transmitidos, la velocidad de NFC era suficiente para ellos, pero para las fotos claramente no sería suficiente. Entonces podemos suponer que Sony simplemente no implementó el cambio a una interfaz más rápida. No es posible entender si este problema es de software (recuerde que Android 4.0.4 está instalado en este dispositivo) o de hardware.

También intentamos enviar nuestra propia música y videos de la misma manera desde las respectivas aplicaciones, pero no apareció nada en el receptor.

Lectura y escritura de etiquetas.

El Android Beam descrito utiliza la capacidad de transmitir y procesar mensajes breves mensajes de información. Sin embargo, en realidad, no solo pueden transmitirse desde el teléfono, sino también leerse desde etiquetas pasivas. En cierto sentido, esta tecnología es similar a los conocidos códigos QR que lee la cámara del teléfono. Donde informacion util(por ejemplo, un enlace a la página de un sitio web) ocupa solo unas pocas decenas de bytes. Las empresas pueden utilizar las etiquetas, por ejemplo, para promocionar sus productos o servicios. Dado el tamaño compacto de la etiqueta pasiva (más precisamente, el grosor comparable a una hoja de papel; debido a la antena, el área seguirá siendo significativa, no menos que una moneda de cinco rublos), se puede colocar en casi cualquier lugar: en una caja con un producto, en una revista, en un estante de información y otros lugares.

Las etiquetas NFC pasivas se pueden convertir en llaveros

Si hablamos de etiquetas hechas a mano, entonces este es un escenario completamente factible. Para hacer esto, debe comprar espacios en blanco y, utilizando un programa especial para el teléfono, escribir la información requerida en ellos. Por ejemplo, compramos varios diferentes opciones: una pegatina de mínimo grosor, un círculo protegido de plástico y llaveros. Todos ellos tenían una cantidad de memoria muy pequeña: solo 144 bytes (hay opciones en el mercado para 4 KB). No se especificó el número de ciclos de reescritura, pero para la mayoría de los escenarios de aplicación, este parámetro no es crítico. Para trabajar con etiquetas, se pueden recomendar los programas de NXP Semiconductors, TagInfo y TagWriter.

El primero te permitirá leer los datos de la etiqueta y descifrar la información según el estándar NDEF, y el segundo te ayudará a crear tus propias etiquetas. Al mismo tiempo, se admiten varias subvariantes de NDEF: contacto, enlace, texto, SMS, mensaje de correo, número de teléfono, conexión Bluetooth, ubicación geográfica, enlace de archivo local, inicio de aplicación, URI. Tenga en cuenta que al crear un registro, debe tener en cuenta la cantidad de datos almacenados. Por ejemplo, una foto de contacto puede ocupar varios kilobytes, los mensajes o el texto también pueden superar fácilmente los 144 bytes. Por cierto, el programa NFC TagInfo del NFC Research Lab con un complemento especial puede leer y mostrarle una foto en color de un pasaporte biométrico. Con un volumen de datos de una docena y media de kilobytes, leerlos a través de NFC lleva unos 20 segundos. Una capa adicional de protección en este caso proporcionado por la necesidad de especificar algunos detalles del pasaporte para leer datos del chip.

Tenga en cuenta que el procesamiento automático de las etiquetas de lectura depende del contenido. En particular, a veces se requiere confirmación adicional para llevar a cabo la acción en sí. Por ejemplo, en el caso de SMS, se abre un formulario de mensaje completo, pero el usuario debe confirmar el envío real. Pero el enlace web grabado puede abrirse inmediatamente en el navegador. Cualquier automatización está asociada con una pérdida de control, por lo que las funciones descritas deben usarse con precaución, ya que simplemente reemplazando o reprogramando las etiquetas, los atacantes pueden redirigirte a un sitio falso en lugar del original. No encontramos configuraciones regulares del sistema operativo para limitar dicha ejecución automática (a menos que deshabilite NFC).

Otro punto importante al usar etiquetas en lugares públicos - protección contra sobrescritura. Al escribir una etiqueta, puede establecer una bandera de protección que bloqueará todos los intentos de cambiar la información, pero será imposible eliminarla. Por lo tanto, la etiqueta seguirá utilizándose en modo de solo lectura. Para uso doméstico, en la mayoría de los casos esto no es muy crítico.

Mencionemos algunos programas más para escribir etiquetas:

Usar etiquetas predefinidas para administrar un dispositivo

Uno de los participantes activos en la implementación de NFC es Sony. Sus dispositivos están preinstalados programa inteligente Conectar que admite etiquetas originales de Sony. Si lo desea, utilizando la utilidad SmartTag Maker, puede crearlos usted mismo a partir de espacios en blanco. El sistema utiliza el formato NDEF URI con el número de etiqueta/color codificado en el enlace de texto. En total, el sistema proporciona hasta ocho etiquetas, que se designan como "hogar", "oficina", "coche", "dormitorio", "escuchar", "jugar", "actividad", "ver".

Variante de las etiquetas inteligentes originales de Sony

El programa Smart Connect en sí funciona no solo con etiquetas NFC, sino también con otros dispositivos conectados al teléfono, incluidos auriculares, fuente de alimentación, dispositivos Bluetooth. Convenientemente, la configuración estándar ya se corresponde bien con los escenarios anteriores. En este caso, el usuario puede reprogramar todos los circuitos; cada uno de ellos especifica un conjunto de condiciones y acciones.

Como condición, puede usar el reconocimiento de etiquetas o la conexión del dispositivo, además, puede limitar el tiempo de operación del circuito. El conjunto de acciones es bastante amplio, incluye iniciar la aplicación, abrir un enlace en el navegador, iniciar música, ajustar el volumen y el modo, conectar un dispositivo de audio Bluetooth, enviar SMS, llamar, administrar interfaces inalámbricas, ajuste de brillo y más. Además, también pueden asignarse para salir de este modo, lo que se lleva a cabo mediante la reidentificación de la etiqueta, por un nuevo evento/etiqueta, o por la expiración del intervalo de tiempo especificado.

Pero, de hecho, no es necesario usar etiquetas de la marca Sony; también puede encontrar el uso de etiquetas listas para usar que no permiten que se sobrescriba la información. Por ejemplo, se pueden utilizar tarjetas de transporte. El hecho es que cada uno de ellos tiene su propio identificador único que se puede vincular a ciertas acciones. programas especiales. Como posible reacción, pueden actuar operaciones tales como cambiar el perfil, habilitar / deshabilitar interfaces y muchas otras.

La Play Store tiene varias utilidades para este escenario, por mencionar un par de ellas:

Recuerde que no debe instalar varios programas de este tipo a la vez. No se agregará la comodidad de este modo, ya que cuando se detecta una etiqueta en la pantalla del teléfono, aparecerá un cuadro de diálogo con la elección de un programa para procesarla.

Mientras buscamos programas para trabajar con etiquetas, también nos encontramos con otra clase de utilidades que pueden ser de interés en el caso de las etiquetas grabables. Estos programas utilizan su propio formato de grabación original, con el que solo ellos mismos pueden trabajar. En este caso, el conjunto de acciones posibles es casi el mismo que el descrito anteriormente:

Recordemos que de momento la etiqueta se lee solo cuando el dispositivo está desbloqueado. Entonces, el escenario "llegó a casa, puso el teléfono en la mesa de noche, cambió automáticamente el perfil, apagó la llamada y el Bluetooth, configuró la alarma" requerirá algunas acciones por parte del usuario. Este comportamiento todavía limita un poco las posibilidades de los programas.

Intercambio de información entre dispositivos

Con la excepción de Android Beam, los escenarios descritos anteriormente asumen el funcionamiento de un teléfono con una etiqueta o terminal especializado. Si hablamos de la conexión directa de los dispositivos entre sí, entonces el problema principal aquí es la compatibilidad. Por supuesto, en el caso de productos de un fabricante, especialmente uno grande, es posible simplemente instalar el programa apropiado en el firmware. Pero si los dispositivos son producidos por diferentes fabricantes, todos tendrán que usar las mismas utilidades. Y no es en absoluto un hecho que tu pareja tenga instalado el mismo programa que tú.

Teniendo en cuenta que la velocidad nativa de NFC es muy lenta, generalmente se usa Bluetooth o Wi-Fi para la transferencia rápida de archivos, y NFC solo funciona durante la fase de negociación y emparejamiento de la conexión. Para probar este escenario, probamos varios programas de transferencia de archivos que afirman ser compatibles con NFC en nuestros dispositivos.

¡enviar! Transferencia de archivos (NFC) a versión gratuita le permite compartir archivos de fotos, música y videos. Puede usar códigos NFC o QR para establecer una conexión. La transmisión se realiza a través de Bluetooth o Wi-Fi (en caso de que ambos dispositivos admitan Wi-Fi Direct, que en el telefono sony no se apareció). Como resultado, logramos ver una velocidad de 65 KB/s, que, por supuesto, es demasiado baja incluso para las fotos.

Blue NFC, como sugiere el nombre, también simplifica el uso compartido de archivos mediante Bluetooth al reemplazar los pasos de encendido, búsqueda y emparejamiento con el uso compartido táctil y NFC. La velocidad de trabajo no es muy alta, al nivel del programa mencionado anteriormente.

File Expert HD también usa Bluetooth, pero la velocidad ya es de 100-200 KB/s. Es cierto que, para ser justos, vale la pena señalar que este programa tiene muchos otros modos para compartir archivos.

Conclusión

A partir de la primavera de 2013, podemos decir que la tecnología NFC ya está ocupando con confianza su lugar en teléfonos inteligentes modernos niveles superior y medio. Indirectamente, el interés en él se puede estimar por la cantidad de programas en Play Store: ya hay varios cientos de proyectos gratuitos solo. Teniendo en cuenta el dominio del mercado (especialmente en términos de número de modelos) Plataformas Android, es ella quien es hoy la más popular para dispositivos NFC. iOS no proporciona herramientas nativas para NFC, pero Telefono windows 8 tiene capacidades NFC significativamente limitadas para aplicaciones de terceros.

Por sí misma, la tecnología NFC tiene varias características que le permiten ocupar una posición única:

  • transmisión de datos sin contacto;
  • trabajar solo en distancias cortas;
  • la capacidad de intercambiar información con otros dispositivos o etiquetas pasivas;
  • solución de bajo costo;
  • bajo consumo de energía;
  • tasa de datos baja.

Por el momento, para teléfonos inteligentes y tabletas, hay tres opciones más relevantes para usar NFC: intercambio de datos entre dispositivos (contactos, aplicaciones, enlaces, fotos y otros archivos), lectura de etiquetas con información especial y cambio de modos/configuraciones/perfiles del dispositivo, emparejamiento rápido con periféricos (como auriculares). En el primer caso, puede intentar trabajar con el estándar. programa androide Haz o instala alternativas. Pueden ser útiles si necesita una tasa de cambio alta (a través de Wi-Fi), pero requiere el mismo programa en cada dispositivo.

Las etiquetas pasivas se pueden usar en casi cualquier lugar, desde carteles hasta revistas y etiquetas de productos. Pueden registrar información sobre el producto, un enlace al sitio, configuración wifi, Detalles de contacto, coordenadas geográficas u otra pequeña cantidad de datos. La difusión de este método de intercambio de información depende directamente de la cantidad de dispositivos compatibles que tengan los usuarios. Este escenario se puede comparar con los códigos QR comunes, que hoy en día son quizás más fáciles de implementar y más populares.

Para cambiar ajustes del sistema incluso las etiquetas que no se pueden escribir se pueden usar con algunos programas, por lo que muchos usuarios podrán probar este escenario en la práctica. Es cierto que debe tenerse en cuenta que en este caso el conjunto de opciones se escribirá en dispositivo específico, y puede haber dificultades para transferirlo a otro dispositivo. La mayoría de las utilidades de este propósito aún requieren sus propias etiquetas grabadas, lo que les permite almacenar toda la información requerida en forma codificada directamente en la etiqueta (o nube), de modo que para usar esta configuración en otro dispositivo, será suficiente tener el mismo programa en él.

No hemos considerado en este artículo casos de uso de NFC como sistemas de pago, billeteras electrónicas y micropagos, boletos y cupones, tarjetas de transporte y pases. Estos temas, especialmente el primero, merecen una consideración aparte. Intentaremos volver a ellos en presencia del interés de los lectores y la difusión de tales soluciones.

Cuando se trata de Red de computadoras, a menudo se puede escuchar la mención de NFS. ¿Qué significa esta abreviatura?

Es un protocolo de sistema de archivos distribuido desarrollado originalmente por Sun Microsystems en 1984 que permite a un usuario en una computadora cliente acceder a archivos a través de una red, similar a acceder al almacenamiento local. NFS, como muchos otros protocolos, se basa en el sistema de llamada a procedimiento remoto de computación en red abierta (ONC RPC).

En otras palabras, ¿qué es NFS? Es un estándar abierto, definido en la Solicitud de comentarios (RFC), que permite a cualquier persona implementar el protocolo.

Versiones y variaciones

El inventor usó solo la primera versión para sus propios fines experimentales. Cuando el equipo de desarrollo agregó cambios significativos al NFS original y lo lanzó fuera de la autoría de Sun, designaron la nueva versión como v2 para que la interoperabilidad pudiera probarse y respaldarse.

NFS v2

La versión 2 originalmente solo se ejecutaba en el Protocolo de datagramas de usuario (UDP). Sus desarrolladores querían mantener el lado del servidor sin bloqueo implementado fuera del protocolo central.

La interfaz del sistema de archivos virtual permite una implementación modular reflejada en un protocolo simple. En febrero de 1986, se demostraron soluciones para sistemas operativos como System V versión 2, DOS y VAX/VMS utilizando Eunice. NFS v2 solo permitía leer los primeros 2 GB de un archivo debido a las limitaciones de 32 bits.

NFSv3

La primera propuesta para desarrollar NFS versión 3 en Sun Microsystems se anunció poco después del lanzamiento de la segunda distribución. La principal motivación fue tratar de mitigar el problema de rendimiento de las escrituras sincrónicas. Para julio de 1992, las mejoras prácticas resolvieron muchas de las deficiencias de la versión 2 de NFS, dejando solo un soporte de archivos insuficiente (tamaños de archivos de 64 bits y compensaciones de archivos).

  • soporte para tamaños de archivo de 64 bits y compensaciones para manejar datos de más de 2 gigabytes (GB);
  • soporte para escritura asíncrona en el servidor para mejorar el rendimiento;
  • atributos de archivo adicionales en muchas respuestas para evitar tener que volver a extraerlos;
  • una operación READDIRPLUS para obtener datos y atributos junto con nombres de archivos al escanear un directorio;
  • muchas otras mejoras.

Durante la introducción de la versión 3, comenzó a aumentar la compatibilidad con TCP como protocolo de la capa de transporte. El uso de TCP como medio de transferencia de datos, realizado mediante NFS sobre la WAN, comenzó a permitir la transferencia de archivos de gran tamaño para visualización y escritura. Como resultado, los desarrolladores pudieron superar el límite de 8 KB impuesto por el Protocolo de datagramas de usuario (UDP).

¿Qué es NFSv4?

Influenciada por Endre File System (AFS) y Server Message Block (SMB, también llamado CIFS), la versión 4 incluye mejoras de rendimiento, brinda mayor seguridad e introduce un protocolo con condiciones establecidas.

La versión 4 fue la primera distribución desarrollada en grupo objetivo Grupo de trabajo de ingeniería de Internet (IETF) después de que Sun Microsystems externalizara el desarrollo del protocolo.

La versión 4.1 de NFS tiene como objetivo proporcionar soporte de protocolo para aprovechar las implementaciones de clústeres de servidores, incluida la capacidad de proporcionar acceso paralelo escalable a archivos distribuidos en varios servidores (extensión pNFS).

El último protocolo del sistema de archivos, NFS 4.2 (RFC 7862), se lanzó oficialmente en noviembre de 2016.

Otras extensiones

Con el desarrollo del estándar, han aparecido las herramientas correspondientes para trabajar con él. Por ejemplo, WebNFS, una extensión para las versiones 2 y 3, permite que el protocolo acceso a la red a los sistemas de archivos, es más fácil de integrar en los navegadores web y habilitar el trabajo a través de firewalls.

Varios protocolos de terceros también se han asociado con NFS. De estos, los más famosos son:

  • Administrador de bloqueo de red (NLM) compatible con el protocolo de bytes (agregado para admitir la API de bloqueo de archivos UNIX System V);
  • cuota remota (RQUOTAD), que permite a los usuarios de NFS ver las cuotas de almacenamiento en los servidores NFS;
  • NFS sobre RDMA: una adaptación de NFS que utiliza el acceso directo a memoria remota (RDMA) como medio de transferencia;
  • NFS-Ganesha es un servidor NFS de espacio de usuario que admite CephFS FSAL (capa de abstracción del sistema de archivos) mediante libcephfs.

Plataformas

El sistema de archivos de red se usa a menudo con sistemas operativos Unix (como Solaris, AIX, HP-UX), MacOS de Apple y sistemas operativos similares a Unix (como Linux y FreeBSD).

También está disponible para plataformas como Acorn RISC OS, OpenVMS, MS-DOS, Microsoft Windows, NetWare de Novell e IBM AS/400.

Protocolos alternativos acceso remoto a los archivos incluyen Server Message Block (SMB, también llamado CIFS), Apple Transfer Protocol (AFP), NetWare Core Protocol (NCP) y OS/400 Server File System (QFileSvr.400).

Esto se debe a los requisitos de NFS, que en su mayor parte están orientados a "capas" similares a Unix.

Sin embargo, los protocolos SMB y NetWare (NCP) se usan con más frecuencia que NFS en sistemas que ejecutan Microsoft Windows. AFP se usa más ampliamente en plataformas Apple Macintosh, mientras que QFileSvr.400 es más común en OS/400.

Implementación típica

Suponiendo un escenario típico de estilo Unix en el que una computadora (cliente) necesita acceso a los datos almacenados en otra (servidor NFS):

  • El servidor implementa los procesos del sistema de archivos de red, que se ejecutan de manera predeterminada como nfsd, para que sus datos estén disponibles públicamente para los clientes. El administrador del servidor determina cómo exportar los nombres y las opciones de los directorios, normalmente mediante el archivo de configuración /etc/exports y el comando exportfs.
  • La administración de seguridad del servidor garantiza que pueda reconocer y aprobar un cliente de confianza. Su configuración de red asegura que los clientes apropiados puedan negociar con él a través de cualquier sistema de firewall.
  • La máquina cliente solicita acceso a los datos exportados, generalmente emitiendo un comando apropiado. Consulta un servidor (rpcbind) que utiliza un puerto NFS y posteriormente se conecta a él.
  • Si todo transcurre sin errores, los usuarios de la máquina cliente podrán ver e interactuar con los sistemas de archivos instalados en el servidor dentro de los parámetros permitidos.

También se debe tener en cuenta que también se puede automatizar el proceso del sistema de archivos de red, tal vez usando etc/fstab y/u otros medios similares.

Desarrollo hasta la fecha

En el siglo XXI, los protocolos de la competencia DFS y AFS no habían logrado ningún éxito comercial importante en comparación con Network File System. IBM, que previamente adquirió todos los derechos comerciales de las tecnologías anteriores, donó la mayor parte del código fuente de AFS a la comunidad de desarrolladores gratuitos. software en 2000. El proyecto Open AFS todavía existe hoy. A principios de 2005, IBM anunció que dejaría de vender AFS y DFS.

A su vez, en enero de 2010, Panasas ofreció NFS v 4.1, basado en una tecnología que mejora la capacidad de acceso paralelo a los datos. El protocolo Network File System v 4.1 define un método para separar los metadatos del sistema de archivos de la ubicación de archivos específicos. Por lo tanto, va más allá de la simple separación de nombre/datos.

¿Qué es NFS de esta versión en la práctica? La característica anterior lo distingue del protocolo tradicional, que contiene los nombres de los archivos y sus datos bajo un enlace al servidor. Con la implementación de Network File System v 4.1, algunos archivos se pueden distribuir entre servidores de sitios múltiples, pero la participación del cliente en la separación de metadatos y datos es limitada.

En la implementación de la cuarta distribución del protocolo, un servidor NFS es una colección de recursos o componentes del servidor; se supone que están controlados por el servidor de metadatos.

El cliente aún se comunica con un servidor de metadatos para atravesar o interactuar con el espacio de nombres. A medida que mueve archivos hacia y desde el servidor, puede interactuar directamente con el conjunto de datos propiedad del grupo NFS.

Si nota un error, seleccione un fragmento de texto y presione Ctrl + Enter
COMPARTIR: