Usando Samba - Visualización, Navegación o 'Browsing'
30 - Visualización, Navegación o 'Browsing'
[editar]La visualización es la habilidad de examinar los servidores y recursos que están actualmente disponibles en tu red. Sobre un cliente Windows NT 4.0 o 95/98, un usuario puede visualizar o navegar por los servidores de la red a través del 'Entorno de Red'. Haciendo doble click sobre el icono que representa al servidor, el usuario debería poder ver los recursos de disco y/o de impresión disponibles en esa máquina.
Desde la línea de comandos de Windows, también puedes usar la opción net view para ver qué servidores están actualmente disponibles en la red. Aquí tienes un ejemplo del comando net view en acción:
C:\> net view Servers available in workgroup SIMPLE Server name Remark --------------------------------------------------------- \\CHIMAERA Windows NT 4.0 \\HYDRA Samba 2.0.4 on (hydra) \\PHOENIX Windows 98
Prevención contra la Visualización
Puedes restringir la aparición de un recurso en una lista de visualización usando la opción browseable. Esta opción de tipo booleana evita que un recurso sea visible desde el Entorno de Red. Por ejemplo, para prevenir que el recurso del capítulo anterior nominado [data] sea visible, podríamos escribir esto:
[data] path = /home/samba/data browseable = no guest ok = yes comment = Data Drive volume = Sample-Data-Drive writeable = yes
Aunque normalmente no querrás hacer esto en un típico recurso de disco, la opción 'browseable' resulta útil en el caso de que necesites crear un recurso con contenidos que no quieras que vean otros, tales como un recurso [netlogin] para almacenar scripts de logeado para el control de un dominio Windows (mira el Capítulo 6, Usuarios, Seguridad y Dominios, para más información sobre los scripts de logeado).
Otro ejemplo es el recurso [homes]. Este recurso es frecuentemente marcado como no browsable para que un recurso llamado [homes] no aparezca cuando los recursos de la máquina son interrogados. Sin embargo, si un usuario alice se logea y mira por los recursos de la máquina, le aparecerá una carpeta denominada [alice]. ¿Y qué pasa si nos queremos asegurar de que el recurso de alice sea visible para todo el mundo antes de que ella se logee? Esto se puede hacer con la opción global auto services. Esta opción precarga los recursos en la lista de visualización para asegurarnos de que estos estén siempre visibles:
[global] ... auto services = alice ...
En el caso de que un usuario no pueda conectar a un recurso, puedes especificar un recurso por defecto al que él podrá conectar. Ya que no sabes quién tendrá que acceder a este recurso por defecto en cualquier momento, probablemente querrás establecer la opción guest ok a yes para este recurso. El especirficar un servicio por defecto puede ser útil cuando envíes a un usuario perdido al directorio de ficheros de ayua. Por ejemplo:
[global] ... default service = helpshare ... [helpshare] path = /home/samba/helpshare/%S browseable = yes guest ok = yes comment = Default Share for Unsuccessful Connections volume = Sample-Data-Drive writeable = no
Advierte que hemos usado la variable %S en la opción path. Si usas la variable %S, esta se referrirá al recurso solicitado no existente (el recurso originariamente solicitado por el usuario), no el nombre del recurso por defecto resultante. Esto nos permite crear diferentes rutas con los nombres de cada servidor, los cuales pueden proporcionar más definidos ficheros de ayuda para los usuarios. En adición, cualesquiera signos de subrayado ( _ ) especificados en el recurso solicitado serán convertidos a barras ( / ) cuando se use la variable %S.
Elecciones de Visualizadores
Como ya mencionamos en el Capítulo 1, Aprendiendo Samba, una máquina en cada subred siempre mantiene una lista de las actuales máuinas activas en la red. Esta lista es denominada lista de visualización o lista de navegación, y el servidor que la mantiene es llamado visualizador maestro local. Como las máquinas se encienden y apagan contínuamente en una red, el visualizador maestro local contínuamente actualiza la información en la lista de visualización y se la proporciona a cualquier máquina que la solicite.
Una computadora se convierte en visualizador maestro local manteniendo una elección de visualización en la subred local. Las elecciones de visualizadores pueden ser llamadas en cualquier momento. Samba puede usar una elección de visualizador para una variedad de resultados, incluyendo el ser siempre el visualizador maestro local de la subred o no serlo nunca. Por ejemplo, las siguientes opciones, que hemos añadido al fichero de configuración del Capítulo 4, Recursos de Disco, asegurará que Samba siempre gane la elección de visualizador maestro local, sin importar qué otras máquinas estén presentes en la red:
[global] netbios name = HYDRA server string = Samba %v on (%L) workgroup = SIMPLE # Browsing election options os level = 34 local master = yes # Networking configuration options hosts allow = 192.168.220. 134.213.233. localhost hosts deny = 192.168.220.102 interfaces = 192.168.220.100/255.255.255.0 \ 134.213.233.110/255.255.255.0 # Debug logging information log level = 2 log file = /var/log/samba.log.%m max log size = 50 debug timestamp = yes [data] path = /home/samba/data browseable = yes guest ok = yes comment = Data Drive volume = Sample-Data-Drive writable = yes
Sin embargo, ¿Qué pasa si quiero que nunca gane esa elección? ¿Qué pasa si quiero que el ganador siempre sea un servidor Windows NT que tengo en esa red? Para hacer esto, necesitamos aprender cómo trabajan las elecciones de visualizador. Como ya sabes, cada máquina que toma lugar en la elección debe mandar información de sí misma por el método de difusión (broadcast). Esta información incluye lo siguiente:
- La versión del protocolo de elección usada.
- El sistema operativo de la máquina.
- La cantidad de tiempo que el cliente ha permanecido en la red.
- El nombre de máquina.
Aquí es donde se decide la elección. Los sistemas operativos tienen asignado un valor binario en función de su versión, como puedes ver en la Tabla 5.1.
| S.O. | Valor |
|---|---|
| Windows NT Server 4.0 | 33 |
| Windows NT Server 3.51 | 32 |
| Windows NT Workstation 4.0 | 17 |
| Windows NT Workstation 3.51 | 16 |
| Windows 98 | 2 |
| Windows 95 | 1 |
| Windows 3.1 for Workgroups | 1 |
A continuación, a cada computadora en la red se le asigna un valor distinto de acuerdo a su papel o rol en la red, como en la Tabla 5.2.
| Rol | Valor |
|---|---|
| Controlador Primario de Dominio | 128 |
| Cliente WINS | 32 |
| Visualizador Maestro Preferido | 8 |
| Visualizador Maestro Activo | 4 |
| Visualizador en Espera | 2 |
| Visualizador de Seguridad Activo | 1 |
Las elecciones se realizan de la siguiente forma:
- La máquina con la mayor versión de protocolo de elección ganará (todos los clientes Windows tienen la versión 1 del protocolo de elección).
- La máquina con el mayor valor de sistema operativo ganará la elección.
- Si hay conflicto, la máquina con el valor 'Visualizador Maestro Preferido' (rol 8) ganará la elección.
- Si todavía hay empate o conflicto, el cliente que haya estado más tiempo en línea ganará la elección.
- Y, finalmente, si todavía existe conflicto, el nombre de cliente que por orden alfabético vaya primero ganará.
- La máquina que ocupó el segundo lugar en la elección, puede convertirse en visualizador de seguridad.
Como resultado, si quieres que Samba tome el rol de visualizador maestro local, pero sólo en el caso de que no haya un servidor Windows NT Server (4.0 o3.51) en la red, podrías cambiar el parámetro os level en el ejemplo anterior por:
os level = 31
Esto provocará que Samba inmediatamente pierda la elección contra un servidor Windows NT 4.0 o Windows NT 3.5 Server, los cuales tienen un nivel de s.o. superior. Por otro lado, si quieres decidir al visualizador maestro local en base al rol de red, tal como qué máquina es el controlador primario de dominio, podrías establecer el valor de os level para que coincidiese con el tipo más alto de sistema operativo en la red, y permitir así que la elección de protocolo pasara al siguiente nivel.
¿Cómo puedes saber si una máquina es el visualizador maestro local? Pues usando el comando nbtstat. Coloca el nombre NetBIOS de la máquina que quieras interrogar tras la opción -a:
C:\> nbtstat -a hydra NetBIOS Remote Machine Name Table Name Type Status ---------------------------------------------------------- HYDRA <00> UNIQUE Registered HYDRA <03> UNIQUE Registered HYDRA <20> UNIQUE Registered .._ _MSBROWSE_ _. <01> GROUP Registered SIMPLE <00> GROUP Registered SIMPLE <1D> UNIQUE Registered SIMPLE <1E> GROUP Registered MAC Address = 00-00-00-00-00-00
La línea que estás buscando es .._ _MSBROWSE_ _.<01>. Esto indica que el servidor está actualmente actuando como el visualizador maestro local para la subred actual. En adición, si la máquina es un servidor Samba, puedes chequear el fichero de registro de Samba nmbd para buscar una entrada como ésta:
nmbd/nmbd_become_lmb.c:become_local_master_stage2(406) ***** Samba name server HYDRA is now a local master browser for workgroup SIMPLE on subnet 192.168.220.100 ****
Finalmente, los servidores Windows NT que están sirviendo como controladores primarios de dominio contienen un chivato que les permite asumir el rol de visualizador maestro local en ciertas condiciones; esto es llamado el bit de visualizador maestro preferido. Antes, mencionamos que Samba podía asignarse este bit para sí. Puedes activarlo con la opción preferred master:
# Browsing election options os level = 33 local master = yes preferred master = yes
Si se configura el bit de maestro preferido, la máquina forzará una elección de visualizador al arrancar. Por supuesto, esto sólo es necesario si estableces la opción os level para que coincida con la máquina Windows NT. Te recomendamos que no uses ésta opción si otra máquina tiene también el rol de maestro preferido, tal como un NT server.
Visualizador Maestro de Dominio
En el capítulo de inicio, mencionamos que para que un grupo de trabajo o dominio de Windows se extienda en múltiples subredes, una máquina debería asumir el rol de visualizador maestro de dominio. El visualizador maestro de dominio propaga listas de visualización por cada una de las subredes del grupo de trabajo. Esto es posible porque cada visualizador maestro local periódicamente sincroniza su lista de visualización con el visualizador maestro de dominio. Durante la sincronización, el visualizador maestro local pasa sobre cada servidor que el visualizador maestro de dominio no tenga en su lista de visualización, y viceversa. En un mundo perfeceto, cada visualizador maestro local debería tener la lista de visualización para el dominio entero.
A diferencia del visualizador maestro local,no hay proceso de elección para determinar qué máquina asume el rol de visualizador maestro de dominio. en su lugar, el administrador de la red debe establecerlo manualmente. Debido al diseño de Microsoft, sin embargo, tanto el visualizador maestro de dominio como el controlador primario de dominio (PDC) registran un tipo de recurso de <1B>, de forma que los roles -y las máquinas- son inseparables.
Si tienes un servidor Windows NT server en la red actuando como PDC, te recomendamos que no uses Samba como visualizador maestro de dominio. Lo contrario también es cierto: si Samba toma las responsabilidades de actuar como PDC, te recomendamos que lo conviertas también en visualizador maestro de dominio. Aunque es posible separar los roles con Samba, esto no es una buena idea. Usar dos máquinas diferentes para servir, una como PDC y otra como visualizador maestro de dominio, puede causar errores aleatorios en un grupo de trabajo Windows.
Samba puede asumir el rol de visualizador maestro de dominio para todas las subredes en el grupo de trabajo con la siguiente opción:
domain master = yes
Puedes verificar que la máquina Samba es de hecho el visualizador maestro de dominio chequeando el fichero nmbd:
nmbd/nmbd_become_dmb.c:become_domain_master_stage2(118) ***** Samba name server HYDRA is now a domain master browser for workgroup SIMPLE on subnet 192.168.220.100 *****
O puedes usar el comando nmblookup que viene con Samba para preguntar por un único tipo de recurso <1B> en el grupo de trabajo:
# nmblookup SIMPLE#1B Sending queries to 192.168.220.255 192.168.220.100 SIMPLE<1b>
Múltiples Subredes
Hay tres reglas que deber recordar cuando crees un grupo de trabajo o dominio que abarque más de una subred:
- Debes tener o un servidor Windows NT o una máquina Samba actuando como visualizador maestro local en cada subred del grupo de trabajo o dominio (si tienes un visualizador maestro de dominio en una subred, un visualizador maestro local no es necesario).
- Debes tener un servidor Windows NT o una máquina Samba actuando como visualizador maestro de dominio en algún punto del grupo de trabajo.
- Cada visualizador maestro local debe ser instruido para que se sincronice con el visualizador maestro de dominio.
Samba tiene algunas otras características en éste área para el caso de que no tengas o no quieras tener un visualizador maestro de dominio en tu red. Considera las subredes de la Figura 5.1.
|
Primero, un servidor Samba que es visualizador maestro local puede usar la opción de configuración remote announce para asegurarse de que las computadoras de diferentes subredes estén enviando mensajes de difusión para el servidor. Esto tiene el efecto de garantizar que el servidor Samba aparezca en las listas de visualización de subredes foráneas. Para asegurarte de esto, sin embargo, las transmisiones dirigidas deben alcanzar al visualizador maestro local de la otra subred. Sé consciente de que muchos routers no permiten mensajes de difusión por defecto; puede que tengas que cambiar esta característica en el router para que los mensajes de difusión circulen hacia la otra subred.
Con la opción remote announce, listas las subredes y el grupo de trabajo que deberían recibir el broadcast. Por ejemplo, para asegurarte de que las máquinas en las subredes 192.168.221 y 192.168.222 y el grupo de trabajo SIMPLE están enviando información de difusión desde nuestro servidor Samba, podríamos especificar lo siguiente:
# Browsing election optionsos level = 34local master = yes remote announce = 192.168.221.255/SIMPLE \ 192.168.222.255/SIMPLE
Además, puedes especificar la dirección exacta para el envío de los broadcasts si el visualizador maestro local de la red froánea tiene una dirección IP fija.
Un visualizador maestro local Samba puede sincronizar su lista de visualización directamente con otro servidor Samba que esté actuando como visualizador maestro local en una subred diferente. Por ejemplo, asumamos que Samba está configurado como un visualizador maestro local, y que existen visualizadores maestros locales Samba en 192.168.221.130 y 192.168.222.120. Podemos usar la opción remote browse sync para sincronizarse directamente con los servidores Samba, como sigue:
# Browsing election optionsos level = 34local master = yes remote browse sync = 192.168.221.130 192.168.222.120
Para que esto funcione, las otras máquinas Samba deben también ser visualizadores maestros locales. También puedes usar broadcasts directos con esta opción si no conoces la dirección IP específica de los visualizadores maestros locales.
Opciones de Visualización
La Tabla 5.3 muestra 14 opciones que definen cómo Samba realiza las tareas de visualización. Te recomendamos los valores por defecto para un sitio que prefieras sea sencillo de usar por los usuarios a la hora de localizar recursos de disco e impresión.
|
|
Esta opción de configuración global especifica el tipo de sistema operativo con el que Samba será anunciado a las otras máquinas de la red. El valor por defecto para ésta opción es NT, el cual representa a un s.o. Windows NT. Otros posibles valores son Win95, que representa a s.o. Windows 95, y WfW para sistemas del tipo Windows para Trabajo en Grupo. Puedes cambiar el valor por defecto con lo siguiente:
[global] announce as = Win95
De nuevo te recomendamos. No cambies el valor por defecto para esta opción.
announce version
Esta opción global es frecuentemente usada con la opción de configuración announce as; especifica la versión del s.o. con el que Samba se anunciará a las otras máquinas de la red. El valor por defecto es 4.2, el cual la coloca por encima de la actual versión 4.0 de Windows NT. Puedes especificar un nuevo valor con una entrada global como la siguiente:
[global] announce version = 4.3
De nuevo, recomendación. No cambies el valor por defecto para esta opción.
browseable
La opción browseable (también conocida como browsable) indica si el recurso referenciado debería aparecer en la lista de recursos disponibles de la máquina en la cual residen. Esta opción siempre está establecida a yes por defecto. Si quieres evitar que un recurso sea visible para un cliente, cambia este valor a no.
Advierte que esto no previene contra el acceso al recurso usando otros métodos, tales como, especifcar una completa ruta UNC (//server/accounting) en el Explorador de Windows. Sólo evita que el recurso sea listado bajo la lista de recursos de la máquina investigada.
browse list
Nunca deberías necesitar cambiar el valor por defecto de este parámetro, que es yes. Si tu servidor Samba está actuando como visualizador maestro local (p.ej., ha ganado la elección de visualizador), puedes usar la opción global browse list para instruir a Samba para proporcionar o negar su lista de visualización a todos los clientes. Por defecto, Samba siempre proporciona una lista de visualización. Puedes denegar esta información especificando lo siguiente:
[global] browse list = no
Si desactivas la lista de visualización, los clientes no pueden visualizar los nombres de las otras máquinas, sus servicios, y otros dominios actualmente disponibles en la red. Advierte que esto no hace a ninguna máquina inaccesible; si alguien conoce una dirección o nomrbe de máquina válida, todavía podrá conectar a ella usando NET USE o mapeando una unidad de red a ella usando el explorador de Windows. Simplemente evita que la información de la lista de visualización sea recibida por cualquier cliente que la solicite.
auto services
La opción global auto services, la cual se llama también como preload , asegura que los recursos especificados están siempre visibles en la lista de visualización. Un uso típico para esta opción es advertir sobre determinados recursos, que están creados por los recursos [homes] o [printers], pero que no son visualizables.
Esta opción trabaja mejor con los recursos de disco. Si deseas forzar a cada una de las impresoras de tu sistema (p.ej., aquellas listadas en el fichero de capacidades de impresoras) a que aparezcan en la lista de visualización usando esta opción, te recomendamos usar la opción load printers en su lugar. Cualesquiera recursos listados con la opción auto services no será displayada si la opción browse list se establece al valor no.
default service
La opción global default service (a veces llamada default) denomina a un recurso del tipo 'last-ditch'. Si se establece a un nombre de recurso ya existente, y un cliente solicita un recurso de disco o de impresión no existente, Samba intentará conectar al usuario al recurso especificado por ésta opción en su lugar. La opción se especifica como sigue:
default service = helpshare
Advierte que no hay corchetes rodeando el nombre del recurso helpshare. Además, si usas la variable %S en el recurso especificado por esta opción, ésta representará al solicitado, y no existente, recurso, no al servicio por defecto. Cualesquiera signos de subrayado (_) especificados en el recurso solicitado serán convertidos a barras (/) cuando se use la variable.
local master
Esta opción global especifica si Samba intentará convertirse en el visualizador maestro local para la subred cada vez que arranque Samba. Si esta opción se pone a yes, Samba tomará lugar en las elecciones. Sin embargo, el hecho de establecer esta opción por sí misma no garantiza la victoria (otros parámetros, tales como preferred master y os level ayudan a Samba con las elecciones de visualizador). Si esta opción se establece a no, Samba perderá todas las elecciones de visualizador, sin importar qué valores estén especificados en las demás opciones de configuración. El valor por defecto es yes.
lm announce
La opción global lm announce le dice al demonio nmbd de Samba si enviar o no anuncios de máquinas 'LAN Manager' en nombre del servidor Estos anuncios de máquinas pueden ser requeridos por viejos clientes, tales como sistemas IBM OS/2. Estos anuncions permiten que el servidor sea añadido a la lista de visualización del cliente. Si es activado, Samba se anunciará a sí mismo repetitivamente el número de segundos especificados por la opción lm interval.
Esta opción de configuración toma valoresboleeanos, yes y no, para la activación/desactivación de los anuncions LAN Manager, respectivametne. En adición, hay una tercera opción, auto, la cual causa que nmbd pasivamente escuche anuncios LAN Manager, pero que no envíe ninguno inicialmente. Si se detectan anuncions LAN Manager para otra máquina de la red, nmbd comenzará enviando sus propios anuncions LAN Manager para asegurarse de que es visible. Puedes especificar la opción como sigue:
[global] lm announce = yes
El valor por defecto es auto. Probablemente no necesitarás cambiar este valor por defecto.
lm interval
Esta opción, que es usada en conjunción con lm announce, indica el número de segundos que nmbd esperará antes de emitir en difusión anuncions LAN Manager-style. Recuerda que los anuncios LAN Manager deben ser activados para que esta opción pueda ser usada. El valor por defecto es 60 segundos. Si estableces este valor a 0, Samba no enviará ninguno, sin importar el valor de la opción lm announce. Puedes resetear el valor para ésta opción como sigue:
[global] lm interval = 90
preferred master
La opción preferred master solicita que Samba establezca el bit de maestro preferido cuando participe en una elección. Esto le da al servidor un status más alto en el grupo de trabajo con respecto al resto de máquinas al mismo nivel de s.o. Si estás configurando tu máquina Samba para convertirse en el visualizador maestro, debes establecer el siguiente valor:
[global] preferred master = yes
En caso contrario, deberías dejar su valor por defecto, no. Si Samba está configurado como visualizador maestro preferido, forzará un proceso de elección cada vez que el servidor se active en la red.
os level
La opción global os level indica el nivel de sistema operativo que Samba adoptará en un proceso de elección de visualizador. Si quieres que Samba gane la elección de visualizador maestro, debes establecer el primer nivel superior de s.o. al de cualesquiera otros que puedan existir en tu red. Los valores se muestran en la Tabla 5-1. El valor por defecto es 0, lo que significa que Samba perderá todas las elecciones. Si quieres que las gane todas, debes variar el valor como sigue:
os level = 34
Esto significa que el servidor votará por sí mismo 34 veces cada vez que se produzcan elecciones, lo cual le garantiza la victoria.
domain master
Si Samba es el controlador primario de dominio para tu grupo de trabajo o tu dominio NT, también debería ser el visualizador maestro de dominio. El visualizador maestro de dominio es una máquina especial que tiene el tipo de recurso NetBIOS <1B> y es usada para propagar listas de visualización a cada uno de los visualizadores maestros locales existentes en las subredes del dominio. Para forzar a Samba a convertirse en el visualizador maestro de dominio, establece lo siguiente en la sección [global] del smb.conf:
[global] domain master = yes
Si tienes un Windows NT server en la red actuando como controlador primario de dominio (PDC), te recomendamos que no uses Samba como visualizador maestro de dominio. Lo contrario también es cierto: Si Samba tiene las responsabilidades de un PDC, te recomendamos que lo hagas también visualizador maestro de dominio. Separar la característica de PDC y de visualizador maestro de dominio provocará errores impredecibles en la red.
remote browse sync
La opción global remote browse sync especifica que Samba debería sincronizar sus listas de visualización con los demás visualizadores maestros en otras subredes. Sin embargo, la sincronización puede ocurrir sólo con otros servidores Samba, y no con computadoras Windows. Por ejemplo, si tu servidor Samba fuese el visualizador maestro de la subred 192.168.235, y existiesen otros visualizadores maestros locales Samba en otras subredes como 192.168.234.92 y 192.168.236.2, pondrías lo siguiente:
remote browse sync = 192.168.234.92 192.168.236.2
El server Samba podría entonces contactar con las otras máquinas de la lista de direcciones y sincronizar listas de visualización. También puedes poner:
remote browse sync = 192.168.234.255 192.168.236.255
Esto fuerza a Samba a hacer un broadcast de peticiones para determinar las direcciones IP de los visualizadores maestros locales en cada subred, y entonces poder realizar la sincronización. Esto sólo funciona, sin embargo, si tu router no está configurado para bloquear peticiones de broadcast que terminen en 255.
remote announce
Los servidores Samba son capaces de proporcionar listas de visualización a redes externas con la opción remote announce. Estas son normalmente enviadas al visualizador maestro local de la subred externa en cuestión. Sin embargo, si no conoces la dirección de ese visualizador maestro local, puedes hacer lo siguiente:
[global] remote announce = 192.168.234.255/ACCOUNTING 192.168.236.255/ACCOUNTING
Con esto, Samba enviará anuncios de máquina en difusión (broadcast) a todas las máquinas de las subredes 192.168.234 y 192.168.236, en las cuales responderán los visualizadores maestros locales de cada subred. También puedes especificar las direcciones IP, si las conoces.
10 opiniones
Tutoriales relacionados con 'Usando Samba'
Autor y licencia de 'Usando Samba'
Tutorial de Robert Eckstein, David Collier-Brown, Peter Kelly. Extraido de: http://es.tldp.org/Manuales-LuCAS/USANDO-SAMBA/usando-samba-html/node1.html
