Publicidad

martes, 23 de septiembre de 2008

Linux con windows

Samba: Windows con Linux


Introducción

La interconexión, en ambientes heterogéneos, entre equipos Linux® y Windows® se logra por medio de Samba.

Samba es un conjunto de programas, originalmente creados por Andrew Tridgell y actualmente mantenidos por The Samba Team, distribuidos bajo la Licencia Pública General GNU. El propósito de Samba es implementar en sistemas basados en UNIX® el protocolo Server Message Block (o protocolo SMB); este es algunas veces referido también como: (a.) Common Internet File System (CIFS) (b.) LanManager (c.) protocolo NetBIOS.

Samba sobre Linux, sirve como alternativa para Windows NT®, OS2/Warp®, NFS® o servidores Netware®. Samba es pues un conjunto de programas que trabajan con el propósito de permitir a los clientes acceso a las impresoras y sistemas de archivos de Linux por medio de los protocolos SMB/CIFS. De manera práctica esto significa que usted podrá direccionar archivos e impresoras de Linux, hacia clientes de red Lan Manager, Windows® en todas sus versiones, OS23/Wrap®.

Software requerido

Para configurar un servidor Samba, necesitará tener instalados los siguientes paquetes:

  1. samba.
  2. Libsmbclient.
  3. samba-client.
  4. yast2-samba-server.
  5. yast2-samba-client.

Con toda seguridad, estos paquetes, vienen incluidos en los CD de instalación de su distribución Suse, que para nuestro caso es la versión 10.2. Para preguntar al sistema si se encuentran instalados estos paquetes, utilizamos el siguiente comando en una consola de Linux:

 rpm -q samba libsmbclient samba-client yast2-samba-server yast2-samba-client

Instalación de paquetes

Instalación de paquetes. Suponemos que al hacer la consulta anterior recibimos un mensaje como este:

 alejandro@asgdp:~> rpm -q samba libsmbclient samba-client yast2-samba-server yast2-samba-client
package samba is not installed
libsmbclient-3.0.23d-6
package samba-client is not installed
yast2-samba-server-2.14.3-10
yast2-samba-client-2.14.4-3

Lo anterior indica que hace falta el paquete samba y samba-client que contienen los programas del servidor y los programas para actuar como cliente del servidor Samba respectivamente; además se nos indica que tenemos ya instalados los paquetes:

  1. libsmbclient-3.0.23d-6, librerías del cliente Samba,
  2. yast2-samba-server-2.14.3-10, componente de configuración del servidor Samba desde Yast2
  3. yast2-samba-client-2.14.4-3, componente de configuración del cliente Samba desde Yast2.

Para poder configurar el servidor Samba en Suse 10.2 debemos instalar el paquete samba con el siguiente comando.

 # apt install samba

El sitema apt le enviará el siguiente mensaje:

Leyendo listas de paquetes... Done
Construyendo árbol de dependencias... Done
Se instalarán los siguientes paquetes extras:
cifs-mount libiniparser samba-client
Se instalarán los paquetes NUEVOS siguientes:
cifs-mount libiniparser samba samba-client
0 upgraded, 4 newly installed, 0 removed and 77 not upgraded.
Need to get 10,8MB of archives.
After unpacking 29,5MB of additional disk space will be used.
¿Quiere continuar? [S/n] s
Get:1 http://ftp-1.gwdg.de 10.2/repo/oss/suse/ cifs-mount 3.0.23d-6 [83,1kB]
Get:2 http://ftp-1.gwdg.de 10.2/repo/oss/suse/ libiniparser 2.15-15 [8127B]
Get:3 http://ftp-1.gwdg.de update/10.2/ samba 3.0.23d-19.2 [3032kB]
Fetched 10,8MB in 5m8s (35,0kB/s)
Checking GPG signatures...
Committing changes...
Preparing... ########################################### [100%]
1:cifs-mount ########################################### [ 25%]
2:libiniparser ########################################### [ 50%]
4:samba ########################################### [100%]
Done.
apt executing: /sbin/SuSEconfig
Starting SuSEconfig, the SuSE Configuration Tool...

En Suse, si no cuenta con una conexión a internet, puede utilizar Yast2 para realizar la instalación de estos paquetes, facilitando enormemente esta labor, gracias a la interfaz intuitiva de esta herramienta de administración que le permitirá realizar esta instalación tan solo con una búsqueda de los paquetes Samba y seleccionando con el ratón en los paquetes que hagan falta. Es así de sencillo y lo explicaremos con mas detalles en la sección dedicada a Yast2, ver: Configurando Samba con Yast2.

Configuración básica de Samba.

Para la mayoría de los casos la configuración de Samba como servidor de archivos e impresión es suficiente. El archivo de configuración, /etc/samba/smb.conf, contiene los parámetros que deberemos configurar para que el servidor Samba trabaje según nuestras necesidades.

Principales parámetros de smb.conf.

Editemos el archivo /etc/samba/smb.conf con el editor de texto de su preferencia. Este archivo viene profusamente comentado y con líneas de ejemplo que le ayudarán a configurar cada uno de los parámetros.

El parámetro workgroup, establece el grupo de trabajo. Asigne el grupo de trabajo deseado:

workgroup = OFICINA

En nuestro ejemplo hemos asignado OFICINA como grupo de trabajo.

El parámetro netbios name, éste permite que usted asigne un nombre diferente al servidor Samba y será este nombre con que los clientes verán este equipo en la red.

netbios name = Lin_server

El parámetro server string, es de carácter descriptivo. Puede utilizarse un comentario breve que de una descripción del servidor.

server string = Servidor Samba %v en %L

Sustituya Servidor Samba %v en %L por el comentario que usted desee, recuerde es solo descriptivo.

El parámetro host allow, establece la lista de control de acceso que definirá que máquinas o redes podrán acceder hacia el servidor. Por ejemplo, si en su red las máquinas van desde la dirección IP 192.168.1.1 hasta 192.168.1.254, para que estas máquinas se les permita tener acceso, se definirá el parámetro host allow como 192.168.1.

hosts allow = 192.168.1. 127.

El parámetro interfaces permite establecer desde que interfaces de red del sistema se escucharán peticiones. Samba no responderá a peticiones provenientes desde cualquier interfaz no especificada. Esto es útil cuando Samba se ejecuta en un servidor que sirve también de puerta de enlace para la red local, impidiendo se establezcan conexiones desde fuera de la red local.

interfaces = 192.168.1.254/24

Compartiendo impresoras

Las impresoras se comparten de modo predeterminado, así que solo hay que realizar algunos ajustes. Estos ajustes serán hechos en la sección [printers] del fichero smb.conf Si se desea que se pueda acceder a la impresora como usuario invitado sin clave de acceso, basta con añadir public = Yes en esta sección así:

[printers]
comment = lo que desee escribir.
path = /var/spool/samba
printable = Yes
browseable = No
public = Yes

Las versiones de Windows XP y 2000, no tendrán problemas al imprimir, no así las versiones 95 y 98, que pueden presentar problemas, para evitar esta eventualidad, agregue las siguientes tres últimas líneas en la sección [printers]:

print command = lpr -P %p -o raw %s -r
lpq command = lpstat -o %p
lprm command = cancel %p-%j

Para administrar las colas de impresión, debemos agregar un usuario o grupo de usuarios. Supongamos que tenemos un usuario denominado silver y un grupo @caribenet_imp. La línea que tendríamos que agregar sería: printer admin = silver, @caribenet_imp

Con lo anterior se define que el usuario silver y quienes pertenezcan al grupo caribenet_imp podrán realizar tareas de administración en las impresoras.

Al final, debemos tener la sección [printers] como aparece a continuación:

[printers]
comment = Impresoras.
path = /var/spool/samba
printable = Yes
browseable = No
public = Yes
print command = lpr -P %p -o raw %s -r
lpq command = lpstat -o %p
lprm command = cancel %p-%j
printer admin = silver, @caribenet_imp

Compartiendo directorios

En el archivo de configuración, smb.conf, se encuentran varios ejemplos para compartir directorios o volúmenes según la necesidad. Se puede utilizar el ejemplo que se muestra a continuación y que funcionará en la mayoría de los casos.

[nombre_para_volumen]
comment = lo que quiera
path = /ruta/que/desee/compartir

El fichero lmhosts

En la mayoría de casos, es necesario empezar resolviendo localmente los nombres NetBIOS asociándolos con direcciones IP correspondientes. Para fines prácticos el nombre NetBIOS debe tener un máximo de 11 caracteres. Normalmente tomaremos como referencia en nombre corto de servidor o el nombre corto que se asigno como alias a la interfaz de red. Este lo estableceremos en el fichero /etc/samba/lmhosts, en donde encontraremos lo siguiente:

127.0.0.1 localhost

Debemos añadir entonces el nombre que hayamos elegido asociado a la dirección IP que se tenga dentro de la red local. Opcionalmente podrá añadir también los nombres y dirección IP del resto de las máquinas que conformen la red local. La separación de espacios se hace con un tabulador. Ejemplo:

127.0.0.1 localhost
192.168.1.5 Lin_server
192.168.1.6 contabilidad
192.168.1.7 finanzas
192.168.1.8 gerencia

En estos momentos usted tiene el servidor Samba totalmente funcional, solo nos resta iniciar el servidor, como veremos en el siguiente tema:

iniciando el servidor Samba

Si iniciará Samba por primera vez ejecute lo siguiente:

 /sbin/service smb start

Si va a reiniciar el servicio, ejecute lo siguiente:

 /sbin/service smb restart

Para que Samba inicie automáticamente cada vez que inicie el servidor solo ejecute el siguiente mandato:

 /sbin/chkconfig smb on

No hay comentarios: