Está en: » Artículos »

Configurar servidor y cliente NFS en openSuse o en cualquier GNU/linux

Configurar servidor y cliente NFS en openSuse o en cualquier GNU/linux

Configurar una red nfs en sistemas GNU/Linux es muy, pero que muy sencillo.

Servidor

Primero explicaré cómo hacerlo en openSuse mediante su gran herramienta YAST:

  • Abrimos yast
  • Seguramente no nos aparezca la herramienta “Servidor NFS”, así que la instalamos (desde consola, un simple ‘zypper install yast2-nfs-server’ como administrador, claro está. Una vez instalado, para que aparezca la herramienta habrá que cerrar yast y volverlo a abrir.
  • Posteriormente, nos dirigimos a Servicios de red, Servidor NFS (es posible que nos indique que tenemos que instalar algún paquete, aceptamos y el se encargará de todo).
  • Se nos abrirá la pantalla de configuración, donde indicamos que se inicie el servidor nfs, picamos la opción de puerto abierto en el cortafuegos.
    • Servidor NFS -> indica si se debe iniciar el demonio NFS al inicio del sistema
    • Cortafuegos -> Abre el puerto del servidor nfs en el cortafuegos del sistema. Si tenemos desabilidato el cortafuegos, esta opción no será marcable.
    • Habilitar NFS4 -> Habilita las características de NFS4 (principalmente incluye:)
      • Seguridad Kerberos
      • Trabaja con cortafuegos
      • Permite ACLs
      • Utiliza operaciones con descripción del estado
    • Habilitar seguridad GSS
      • RPCSEC_GSS realiza una mayor autenticación. Es capaz de realizar comprobaciones de integridad y cifrado de todo el volumen de la petición y respuesta RPC. Por tanto, RPCSEC_GSS proporciona seguridad más allá de la simple autenticación.
yast - nfs server

yast - nfs server

  • Siguiente, y nos encontramos con la pantalla donde configuraremos los directorios a exportar

yast - nfs server (configurar exportaciones)

yast - nfs server (configurar exportaciones)

  • Picamos en Añadir directorioy elejimos la ruta a exportar

yast - nfs server (añadir directorio a compartir)

yast - nfs server (añadir directorio a compartir)

  • Ahora nos abrirá una ventana donde establecer las opciones de exportación

yast - nfs server (opciones de directorio a compartir)

yast - nfs server (opciones de directorio a compartir)

  • Comodín del servidor -> establece el/los equipos que accederan a este servicio. Podemos establecer un * para permitir todos los equipos (no recomendado ya que sería también accesible desde internet), una ip o nombre de equpo o un rango de red.
  • Opciones -> Establece las opciones para la exportación.
    • Las opciones comunes son:
      • rw-> establece la exportación con permisos de escritura (claro está que el usuario también deberá tenerlos). Si sólo queremos acceso de lectura, lo cambiamos por ‘ro’ (read only)
      • root_squash -> Si accede root como cliente, se le otorgan derechos de anónimo.
        • no_root_squash permite que tenga sus permisos en el servidor.
        • all_squash asigna cualquier acceso como anónimo.
      • sync -> Mantiene la sincronía en tiempo real.
      • no_subtree_check -> no chequea el árbol exportado.
  • Aceptamos y nos aparecerá la ventana con la exportación

yast - nfs server (finalizar configuración del servidor)

yast - nfs server (finalizar configuración del servidor)

  • Finalizamos y ya tendremos el servidor NFS configurado.

Para demás sistemas GNU/Linux

  • Instalamos el servidor NFS correspondiente a nuestro sistema
  • Editamos el archivo /etc/exports (como administrador)
    vim /etc/exports
  • Añadimos los directorios necesarios
    /home   *(fsid=0,rw,root_squash,sync,no_subtree_check)
  • Guardamos e iniciamos el servidor NFS, o si ya lo tenemos funcionando:
    exportfs -ra

Con esto es suficiente para configurar el servidor nfs. Podemos añadir más opciones al directorio exports, las más comunes:

  • No permitir acceso a una ruta determinada del directorio exportado:
    /home/no_permitir   *(noaccess)
  • Exportar un directorio sólo al equipo con ip 192.168.1.21
    /home/no_permitir   192.168.1.21(noaccess)
  • Exportar un directorio como anónimo, con escritura y que tenga los permisos de acceso del usuario con id 1000
    /home/anonimo_escritura   *(rw,all_squash,anonuid=1000)

A cada cambio que realicemos, para que se apliquen los cambios debemos reiniciar el demonio nfs o hacer un:

exportfs -ra

Cliente

Primero explicaré cómo hacerlo en openSuse mediante su gran herramienta YAST:

  • Abrimos yast, Servicios de red, Cliente NFS
yast - nfs client (pantalla inicio de cliente nfs)

yast - nfs client (pantalla inicio de cliente nfs)

  • Añadimos un directorio a importar
    • Nombre de host del servidor NFS -> nombre o ip del servidor NFS
    • Directorio remoto -> directorio que exportamos. Podemos picar en Seleccionar y nos aparecerán todas las exportaciones para el servidor especificado
    • Punto de montaje (local) -> ruta donde montar la importación.
yast - cliente nfs (añadir directorio exportado)

yast - cliente nfs (añadir directorio exportado)

  • Aceptamos y volveremos a la pantalla de las importaciones, donde veremos la importación que hemos añadido

yast - cliente nfs (guardar y finalizar)

yast - cliente nfs (guardar y finalizar)

  • Finalizamos y ya tenemos montado la exportación del servidor.

Para demás sistemas GNU/Linux

  • Editamos el archivo /etc/fstab
    vim /etc/fstab
  • Añadimos la línea de la exportación
    192.168.10.20 /home /media/nfs_home  nfs  defaults 0 0
  • Guardamos el archivo y montamos el directorio exportado
    mount /media/nfs_home

Pues con estas opciones, tenemos ya nuestro servidor y cliente nfs funcionando. Sólo hay que decir que si no queremos que se monte automáticamente al iniciar el cliente, hay que editar el archivo /etc/fstab y sustituir defaults por defaults,noauto

Referencias:

http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/es/ref-guide/ch-nfs.html

http://fferrer.dsic.upv.es/cursos/Integracion/html/ch03s06.html

Comentarios

  1. jesus dice:

    para servidor opensuse 11.2 y cliente ubuntu 8.04 no monta la unidad compratida en el servidor, pero si en cliente winxp. Y se ha seguido al pie de la letra las indicaciones de este manual

    • Siento mucho no poder ayudarte ya que no tengo ninguna ubuntu funcionando. Lo he probado en debian 5 y funciona perfectamente como cliente de openSuse.
      ¿Podrías almenos indicar el error que muestra?

  2. Excelente… Llevaba mucho tratando de aprender cómo hacer esto en OpenSuse y pues tus instrucciones son muy claras y precisas. Ahora me falta sólo aprender a configurar que la carpeta que lee el cliente me permita crear archivos desde ahí o pegarlos. 🙂

    • Me alegra que te sirviese.

      El problema que puedas tener para crear archivos es que no tengas permisos de escritura. Para tener dichos permisos, tienes que comprobar el uid (id de usuario) tanto en el cliente como en el servidor.
      Por ejemplo, para el primer usuario creado por defecto en la instalación, openSuse suele poner el uid 1000. Ese uid es el que tiene que tener permisos para escritura en la carpeta compartida en el servidor.
      También puedes basar los permisos en el gid (id de grupo) si vas a gestionar varios usuarios de forma que des permisos de escritura para un grupo determinado y añadas todos los usuarios que accederán por nfs (siempre según su uid en el cliente).

      También tienes la opción de forzar un uid o gid específico en el fstab en el cliente o forzarlo en la exportación de esa carpeta (de forma que forzaría a usar ese uid siempre para esa compartición).

      Saludos

  3. Rafael dice:

    Excelente explicación. Como siempre, OpenSUSE demuestra cómo hacer sencillas las cosas incluso al usuario accidental y sin acceder a la línea de comandos.

    Un saludo

Deje su comentario

Previsualización de comentario
  1. Anónimo dice:





Pings para esta entrada