Você está na página 1de 6

11.4.

Servidor de archivos NFS

NFS (sistema de archivos de red: «Network File System») es un protocolo que permite acceso
remoto a un sistema de archivos a través de la red. Todos los sistemas Unix pueden trabajar con
este protocolo; cuando se involucran sistemas Windows, debe utilizar Samba en su lugar.

NFS es una herramienta muy útil. Si bien anteriormente ha tenido muchas limitaciones, la mayoría
ha desaparecido con la versión 4 del protocolo. El inconveniente es qu ela última versión de NFS e
más díficil de configurar cuando se quieren utilizar funciones básicas de seguridad como la
autenticación y el cifrado, puesto que se basa en Kerberos para estas funcionalidades. Sin éstas, el
protocolo NFS tiene que restringirse a la utilización en una red local de confianza puesto que los
datos que circulan por la red no están cifrados (un sniffer los puede interceptar) y los permisos de
acceso se conceden en función de la dirección IP del cliente (que puede ser suplantada).

DOCUMENTACIÓN «HOWTO» de NFS

Es relativamente complicado encontrar buena documentación acerca de NFSv4. Incluímos aquí


algunos enlaces con explicaciones de distinta calidad que al menos proporcionan algunas pistas
(en inglés) sobre lo que debe hacerse.

→ https://help.ubuntu.com/community/NFSv4Howto

→ http://wiki.linux-nfs.org/wiki/index.php/Nfsv4_configuration

11.4.1. Protección de NFS

Si no se utilizan las características de seguridad basadas en Kerberos, debería asegurarse de que


sólo los equipos autorizados a utilizar NFS puedan conectarse a los varios servidores RPC
necesarios, porque el protocolo básico confía en la información recibida a través de la red. El
firewall debería por tanto prohibir la usurpación de IPs («IP spoofing») para prevenir que una
máquina externa se haga pasar por una interna y el acceso a los puertos apropiados debería estar
restringido únicamente a los equipos que deban acceder a espacios compartidos por NFS.

VOLVER A LOS CIMIENTOS RPC

RPC (llamada a procedimiento remoto: «Remote Procedure Call») es un estándar Unix para
servicios remotos. NFS es uno de esos servicios.

Los servicios RPC se registran en un directorio conocido como portmapper («asociador de


puertos»). Un cliente que desee realizar una consulta NFS primero debe dirigirse al portmapper
(en el puerto 111, TCP o UDP) y preguntar por el servidor NFS; la respuesta generalmente
mencionará el puerto 2049 (el predeterminado para NFS). No todos los servicios RPC utilizan un
puerto fijo necesariamente.

Las versiones antiguas del protocolo requerían otros servicios RPC que utilizaban puertos
asignados dinámicamente. Afortunadamente, con la versíon 4 de NFS solo son necesarios los
puertos 2049 (para el NFS propiamente) y el 111 (para el portmapper), por lo que son fáciles de
filtrar mediante un cortafuegos.

11.4.2. Servidor NFS

El servidor NFS es parte del núcleo Linux; en los núcleos que Debian provee está compilado como
un módulo de núcleo. Si necesita ejecutar el servidor NFS automáticamente al iniciar, debe instalar
el paquete nfs-kernel-server; contiene los scripts de inicio relevantes.

El archivo de configuración del servidor NFS, /etc/exports, enumera los directorios que estarán
disponibles en la red (exportados). Para cada espacio compartido NFS, sólo tendrán acceso las
máquinas especificadas. Puede obtener un control más detallado con unas pocas opciones. La
sintaxis para este archivo es bastante simple:

/directorio/a/compartir maquina1(opcion1,opcion2,...) maquina2(...) ...

Es importante recalcar que con NFSv4 todas las carpetas exportadas deben ser parte de un único
arbol de directorios y que el directorio raiz de este arbol debe ser exportado e identificado con la
opción fsid=0 o fsid=root.

Puede identificar cada máquina mediante su nombre DNS o su dirección IP. También puede
especificar conjuntos completos de máquinas utilizando una sintaxis como *.falcot.com o un rango
de direcciones IP 192.168.0.0/255.255.255.0 o 192.168.0.0/24.

De forma predeterminada (o si utiliza la opción ro), los directorios están disponibles sólo para
lectura. La opción rw permite acceso de lectura y escritura. Los clientes NFS típicamente se
conectan desde un puerto restringido sólo a root (en otras palabras, menor a 1024); puede
eliminar esta restricción con la opción insecure (la opción secure es implícita, pero puede hacerla
explícita para más claridad).

De forma predeterminada, el servidor sólo responderá a peticiones NFS cuando se complete la


operación actual de disco (la opción sync); puede desactivar esta funcionalidad con la opción
async. Las escrituras asíncronas aumentarán un poco el rendimiento a cambio de una disminución
de la fiabilidad, debido al riesgo de pérdida de datos en caso de un cierre inesperado del servidor
durante el tiempo que transcurre entre que se recibe la petición de escritura y cuando los datos
hayan sido escritos realmente en el disco. Debido a que el valor predeterminado cambió
recientemente (comparado con el valor histórico de NFS), se recomienda configurarlo
explícitamente.

Para no proveerle acceso de root al sistema de archivos a ningún cliente NFS, el servidor
considerará todas las consultas que parezcan provenir de un usuario root como si provinieran del
usuario nobody. Este comportamiento corresponde a la opción root_squash y está activado de
forma predeterminada. La opción no_root_squash, que desactiva este comportamiento, es
riesgosa y sólo debe ser utilizada en entornos controlados. Las opciones anonuid=uid y
anongid=gid permiten especificar otro usuario falso que será utilizado en lugar deñ UID/GID 65534
(que corresponden al usuario nobody y al grupo nogroup).

Con NFSv4 se puede añadir la opción sec para precisar el nivel de seguridad deseado: sec=sys es el
valor predeterminado sin ningún tipo de seguridad particular, sec=krb5 habilita únicamente la
autenticación, sec=krb5i añade una protección de integridad y sec=krb5p es el nivel más alto, que
incluye la protección de la confidencialidad (mediante el cifrado de datos). Para que todo esto
pueda funcionar es necesaria una instalación funcional de Kerberos (este libro no se trata en este
libro).

Existen otras opciones disponibles; están documentadas en la página de manual exports(5).

PRECAUCIÓN Primera instalación

El script de inicio /etc/init.d/nfs-kernel-server sólo inicia el servidor si el archivo /etc/exports


incluye al menos uno o más espacios compartidos NFS válidos. En la configuración inicial, una vez
que editó este archivo para que contenga elementos válidos, deberá iniciar el servidor NFS
ejecutando lo siguiente:

# service nfs-kernel-server start

11.4.3. Cliente NFS

Como con cualquier otro sistema de archivos, incorporar un espacio compartido NFS en el
jerarquía del sistema es necesario montarlo. Debido a que este sistema de archivos tiene sus
peculiaridades fueron necesarios unos pocos ajustes en la sintaxis de mount y en el archivo
/etc/fstab.

Ejemplo 11.22. Montaje manual con el programa mount

# mount -t nfs4 -o rw,nosuid arrakis.internal.falcot.com:/shared /srv/shared

Ejemplo 11.23. Elemento NFS en el archivo /etc/fstab

arrakis.internal.falcot.com:/shared /srv/shared nfs4 rw,nosuid 0 0

El elemento descrito monta automáticamente en cada arranque del sistema el directorio NFS
/shared/ desde el servidor arrakis en el directorio local /srv/shared/. Se solicita acceso de lectura y
escritura (de ahí el parámetro rw). La opción nosuid es una medida de protección que elimina
cualquier bit setuid o setgid de los programas almacenados en el espacio compartido. Si el espacio
compartido NFS está destinado únicamente a almacenar documentos, también se recomienda
utilizar la opción noexec, que evita la ejecución de programas almacenados en el espacio
compartido. Es importante tener en en cuenta que, en el servidor, el directorio shared se
encuentra dentro del directorio exportado como raiz de NFSv4 (por ejemplo /export/shared), no
es un directorio de primer nivel.

La página de manual nfs(5) describe todas las opciones con algo de detalle.

El sistema de archivos de red (Network File System, NFS) es una aplicación cliente/servidor que
permite a un usuario de equipo ver y, opcionalmente, almacenar y actualizar archivos en un
equipo remoto como si estuvieran en el propio equipo del usuario. El protocolo NFS es uno de
varios estándares de sistema de archivos distribuidos para almacenamiento atado a la red (NAS).

DESCARGUE ESTA GUÍA GRATUITA

Almacenamiento Flash: De fundamentos a detalles

En este handbook examinamos los beneficios del almacenamiento flash en las empresas y se
presentan ejemplos de uso y tendencias del flash como alternativa de alojamiento de datos.
Acceda a este recurso e identifique la mejor opción flash para su centro de datos.

Correo electrónico corporativo:

Acepto los Términos de Uso de TechTarget, la Política de Privacidad y el traspaso de mi


información a los Estados Unidos para que se me envié información relevante como esta descrito
en la Política de Privacidad.

Acepto que mi información sea procesada por TechTarget y sus Socios para comunicarse conmigo
por correo electrónico o teléfono y enviarme información relevante a mis intereses profesionales.
Puedo terminar mi suscripción en cualquier momento.

Al hacer clic aquí para convertirse en miembro usted esta aceptando los términos de la
Declaración de Consentimiento.

NFS permite al usuario o administrador del sistema montar (designar como accesible) todo o una
porción de un sistema de archivos en un servidor. La parte del sistema de archivos que se monta
puede ser accedida por los clientes con los privilegios que se asignan a cada archivo (de sólo
lectura o de lectura y escritura). NFS utiliza llamadas de procedimiento remoto (RPC) para enrutar
solicitudes entre clientes y servidores.

NFS fue originalmente desarrollado por Sun Microsystems en la década de 1980 y ahora es
administrado por el Internet Engineering Task Force (IETF). La versión NFSv4.1 (RFC-5661) fue
ratificada en enero de 2010 para mejorar la escalabilidad, añadiendo soporte para el acceso
paralelo a través de servidores distribuidos. Las versiones 2 y 3 del sistema de archivos de red
permiten que el protocolo UDP (User Datagram Protocol) que se ejecuta sobre una red IP
proporcione conexiones de red sin estado entre clientes y servidor, pero NFSv4 requiere el uso del
protocolo de control de transmisión (TCP).
¿Qué es .NET?

Se trata de una plataforma para el desarrollo de software que fue lanzada por Microsoft con la
finalidad de fusionar su amplio catálogo de productos, que va desde sus múltiples sistemas
operativos hasta herramientas de desarrollo. Desde un punto de vista tecnológico, lo que se
pretendía con la creación de .NET era poder desarrollar aplicaciones y sistemas que fueran
independientes de la arquitectura física y del sistema operativo sobre el que se ejecutaran. La
repercusión fue muy grande, ya que Microsoft estableció un estándar de intercambio de
información entre sus productos llamado “XML”, que posiblemente a muchos de vosotros os
suene.

Desde el punto de vista comercial, .NET podría interpretarse como la alternativa por parte de
Microsoft en el sector de los desarrollos web para competir con la plataforma Java de Oracle
Corporation, así como con los diversos framework basados en PHP.

Al tratarse de una plataforma de propósito general, se pueden realizar tanto desarrollos web,
como programas de escritorio o aplicaciones para dispositivos móviles. Además favorece el
desarrollo en multiplataforma, como por ejemplo el que una misma aplicación pueda correr
indistintamente en los diferentes sistemas operativos móviles como IOS, Android o Windows
Phone garantizando la comunicación entre los diferentes dispositivos.

¿Qué beneficios tiene .NET?

La construcción de aplicaciones usando .NET trae consigo una serie de beneficios:

Disminuir el tiempo de desarrollo de los proyectos.

Poder utilizar las numerosas funcionalidades ya diseñadas que permite a los diseñadores realizar
un proyecto de importación y adaptación a las necesidades en lugar de un desarrollo desde cero.

Simplificar el mantenimiento de las aplicaciones desarrolladas en esta plataforma.

Reducción de costes debido a la disminución de los tiempos de desarrollo y de mantenimiento.

Social network communication in the global computer networks

.NET actualmente es una de las plataformas para el desarrollo de software de mayor calado en el
ámbito profesional

¿Dónde se usa .NET?

.NET se encuentra incluido en los sistemas operativos de Microsoft Windows Server 2008,
Windows Vista, Windows 7, Windows 8 y Windows 10, pero también se puede instalar como
complemento en versiones anteriores como Windows XP y Windows Server 2003. Existe también
una versión reducida llamada “Compact Framework” que está disponible para plataformas
Windows Phone.

Es muy común decir que una aplicación está desarrollada en .NET, pero lo correcto sería decir que
está construida sobre .NET usando alguno de los lenguajes de programación contenidos en la
propia plataforma como son C#, C++, Visual Basic .NET o F#.

¿Por qué .NET es una de las plataformas más utilizadas?

El secreto del éxito no es otro que tener detrás a un gigante del software como Microsoft. A lo
largo de los años, y con recursos prácticamente ilimitados, se dedicaron a introducirlo tanto en el
sector empresarial como en un ámbito académico, hasta convertirlo en una de las principales
plataformas de desarrollo. Hacer hincapié que la penetración en el sector universitario trajo
consigo gran cantidad de profesionales formados ya que muchas instituciones educativas lo
incorporaron en sus programas de estudios el aprendizaje de .NET.

¿Cómo puedo formarme en .NET?

Dado que es una plataforma muy madura y fuertemente consolidada existen multitud de acciones
formativas que se pueden realizar para introducirse o afianzar conocimientos, desde Emagister os
proponemos las siguientes:

Máster en Tecnología .NET

Você também pode gostar