Compartiendo Ficheros con Distintos Sistemas

Autor: David Barbero
Fecha de creación: 8 de marzo de 2004 09:57:21 CET


Introducción

Cuantas veces os habéis preguntado como podría hacer para que los ordenadores de mi red puedan acceder de una manera fácil a los datos que tengo en el servidor? Bien, pues esa misma pregunta es la que vamos a intentar responder aquí. Trataremos de explicar de una forma fácil y sencilla la manera de configurar nuestro servidor para que pueda acceder desde distintos sistemas, ya sea Unix/Linux, windows o Macintosh.

De Unix/Linux a FreeBSD

Como todos sabreis, la forma más sencilla y mejor pensada para compartir ficheros entre diferentes Unix, es NFS (Network FileSystem), Que es compatible con todo tipo de Unix/Linux.

Este protocolo viene completamente integrado en el sistema y con todo lo necesario para funcionar.

El principal archivo de configuración para que nfs funcione, es /etc/exports que principalmente está formado por el directorio que compartimos, los permisos que le damos y que ordenadores pueden acceder. Veamos un ejemplo:

# Exportamos src y ports a client01 y client02, pero solo
# client01 tiene privilegios de root.
/usr/src /usr/ports -maproot=root    client01
/usr/src /usr/ports               client02

Como veis es muy sencillo, solo tenemos que definir el directorio que queremos compartir, los privilegios que le queremos das, si es que le damos alguno y que ordenadores pueden acceder a el. En este caso el nombre de el ordenador está definido en un servidor dns o en el archivo /etc/hosts, pero se pueden sustituir por las direcciones IP de cada ordenador. Para más información puedes consultar la página del manual de exports(5) y la de hosts(5).

Una vez que ya tenemos nuestro archivo configurado a nuestro gusto, solo nos queda arrancar los servicios oportunos para que funcione. Para que dichos servicios funcionen desde el inicio del sistema, tenemos que modificar el archivo /etc/rc.conf en el cual debemos introducir las siguientes líneas:

portmap_enable="YES"
nfs_server_enable="YES"

Esto hará que nfsd arranque cuando el sistema se inicie, pero si queremos arrancarlo sin reiniciar el servidor, ejecutaremos:

server #portmap
server #mountd
server #nfsd

Y con esto ya tenemos configurada la parte de el servidor.Para la parte del cliente es bastante facil, tan solo tenemos que introducir la siguiente línea en el archivo /etc/rc.conf (Solo en FreeBSD)

nfs_client_enable="YES"

Despues de introducir esta línea solo nos queda montar el recurso que hemos compartido en el servidor:

client01 #mount server:/usr/src /usr/src

Con esto ya lo tenemos montado en el cliente, si queremos que cuando iniciemos el cliente se monte automaticamente, tenemos que configurarlo en el archivo /etc/fstab, en este caso el archivo tendria una línea como esta:

server:/usr/src   /usr/src    nfs rw  0   0

Para má información puedes consultar la página del manual de fstab(5).

De MacOS a FreeBSD

No es de estrañar que bastantes personas tengan algún Mac con alguna versión de MacOS, FreeBSD tambien soporta el protocolo principal de apple para compartir archivos, este protocolo es Appletalk. En FreeBSD no existe demasiada documentación referente a este protocolo, asi que lo explicaremos un poco para que nos hagamos una idea de como configurarlo.

Lo primero que tenemos que hacer para dar soporte a este protocolo necesitamos recompilar el kernel de nuestro sistema, debemos intruducir la siguiente línea en nuestro archivo de configuración del kernel:

options         NETATALK    # AppleTalk

Si alguno no sabe como recompilar el kernel, le remito a la página del handbook correspondiente.

Una vez recompilado e instalado el kernel con soporte para AppleTalk, necesitaremos instalar un port que se llama netatalk.

server # cd /usr/ports/net/netatalk
server # make install clean

Una vez que tenemos el port instalado, nos aseguramos que el programa instalado nos arranca al iniciar el sistema.

server #cd /usr/local/etc/rc.d
server #cp netatalk.sh.sample netatalk.sh

Y modificamos el archivo /usr/local/etc/AppleVolumes.default. Este archivo en principio está en blanco, si no lo tocamos, tendremos acceso a los homes de cada usuario. Ya solo nos queda arrancar el appletalk para que nuestros MacOS puedan acceder:

server #/usr/local/etc/rc.d/netatalk.sh start 

Ya tenemos el servidor de archivos para Mac funcionando, ahora solo nos queda ir a nuestros Mac, activar el appletalk, entrar en el selector y acceder a nuestro servidor.

De Windows a FreeBSD

Para que nuestras estaciones Windows puedan acceder a los datos que tenemos en nuestro servidor FreeBSD, necesitaremos instalar Samba. Asi que, vamos a instalar y configurar samba dando una pequeña explicación.

Lo primero instalamos samba desde los ports:

server #cd /usr/ports/net/samba
server # make install clean

Una vez que ya tenemos instalado samba, solo nos queda configurarlo y arrancarlo para que funcione. Para configurarlo:

server #cd /usr/local/etc
server #cp smb.conf.default smb.conf

El archivo de configuración de samba no tiene demasiada complicidad, pondré uno simple e iré explicandolo poco a poco.

[global]
    workgroup = CASA
	log file = /var/log/samba/log.%m
	socket options = TCP_NODELAY
	guest account = nobody
	netbios name = server
	encrypt passwords = yes
	server string = Servidor de Archivos
	security = share
	time server = yes
	unix password sync = true
	passwd program = /usr/bin/passwd %u
	passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .


[homes]
	comment = Home Directories
	browseable = no
	read only = no
	create mode = 0750

Como veis, consta de una zona global, [global] y una donde se van definiendo los directorios que vamos a compartir. Vamos esplicando un poco cada parametro para que os hagais una idea de que hay que configurar:

Una vez que lo tenemos configurado, tan solo nos queda arrancar el servidor y dejarlo preparado para que se ejecute cuando inicie el sistema.

server #cd /usr/local/etc/rc.d
server #cp samba.sh.sample samba.sh
server #/usr/local/etc/rc.d/samba.sh start

Y con esto ya tenemos el sistema preparado para que arranque samba al inicio de el sistema y ya también lo hemos arrancado, por lo cual, si ahora desde una estación de trabajo windows accedemos al entorno de red, veremos que nuestro servidor ya aparece y podemos acceder a el.


Conclusión

Bien, pues con esto ya tenemos configurado nuestro servidor para que nuestras distintas estaciones de trabajo puedan acceder a nuestro servidor FreeBSD, espero que este documento os sea de ayuda. Dudas, correcciones y demás, no dudeis en mandarme un correo para decirmelo.


"No intentes hacerlo, Hazlo o no lo hagas, pero no lo intentes"