Páginas

lunes, 26 de mayo de 2014

NFS Servidor FreeBSD


NFS FreeBSD

El Sistema de archivos de red o NFS, es la forma estándar para compartir archivos de UNIX a través de una red. Los usuarios del sistema NFS pueden acceder a ficheros ubicados físicamente en máquinas remotas de forma transparente, como si de ficheros locales se tratara.

Mi servidor ejecuta FreeBSD 9.1 con dos tarjetas de red:

em0 = 192.168.3.1 LAN
em1 = 192.168.1.250 WAN

La configuración de NFS es relativamente sencilla.

El servidor NFS debe ejecutar los demonios: nfsd, mountd, portmap (rpcbind); mountd se ejecuta de forma automática cuando se activa el servidor NFS.

Para que estos procesos se ejecuten en tiempo de arranque del sistema se incluyen las siguientes entradas en el archivo /etc/rc.conf:

inetd_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
rpcbind_enable="YES"
mountd_flags="-r"
mountd_enable="YES"

Algunos cambios en el archivo /etc/hosts.allow

# Rpcbind is used for all RPC services; protect your NFS!
rpcbind : ALL EXCEPT 192.168.3.0/24 : deny

Archivo /etc/inetd.conf


El archivo /etc/exports especifica los directorios o sistemas de archivos exportados al exterior por NFS. Cada línea especifica un sistema de ficheros y que máquinas tienen derechos de acceso sobre dicho sistema. Existen muchas opciones, consulte man exports.

La siguiente línea exporta el directorio /datan de forma que puedan acceder a dicho directorio máquinas situadas en el mismo dominio.

La opción -maproot=root permite que el usuario root de la máquina cliente modifique los datos del sistema de ficheros en red como si fuera el usuario root del servidor.

La opción -alldirs permite a los clientes remotos montar cualquier directorio del sistema de archivos directamente. Sin esta opción, los clientes remotos sólo pueden montar el directorio raíz de la sistema de archivos exportado

La opción -network restringe el acceso a los sistemas de la red especificada.

# ee /etc/exports
/datan -maproot=root -alldirs -network 192.168.3.0

Iniciar NFS en el servidor FreeBSD:
# rpcbind
# nfsd -u -t -n 4
# mountd -r

Una vez realice cambios en el archivo /etc/exports necesita reiniciar el demonio mountd:
# kill -HUP `cat /var/run/mountd.pid`

Ejecutar NFS En cliente FreeBSD:

Fichero /etc/rc.conf

nfs_client_enable="YES"
nfs_client_flags="-n 4"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"

Desde el cliente:
# nfsiod -n 4

Crear el punto de montaje:
# mkdir /media/datan

Nos interesa que el directorio pertenezca al grupo carles:
# chown carles /media/datan/

# ls -ld /media/datan/
drwxr-x---  2 root  carles  512 24 may 08:36 /media/datan/

Otorgar permisos rw al grupo propietario del directorio montado
# chmod 770 /media/datan
$ ls -ld /media/datan/
drwxrwx---  2 root  carles  512 24 may 08:00 /media/datan/

En este punto debería estar listo para anclar el sistema de ficheros remoto en la máquina cliente:
# mount_nfs 192.168.3.1:/datan /media/datan/

Montar automáticamente directorio compartido NFS:
teclee la siguiente línea a /etc/fstab:

freebsdsvr:/datan  /media/datan  nfs rw,bg,hard  0  0

Donde bg significa que si un primer intento de contacto con el servidor falla, seguirá intentando el montaje en segundo plano y hard quiere decir que si el servidor no responde, hacer que las operaciones que intenten accederlo se bloqueen hasta que el servidor esté activo (El cliente debe esperar hasta que el sistema exportado por el servidor este disponible.)

Ya puede copiar y pegar utilizando el navegador de archivos Nautilus.

http://www.freebsd.org/doc/es/books/handbook/network-nfs.html

Unix es genial!.

No hay comentarios:

Publicar un comentario