Aprenda Linux, 302 (Entornos mixtos): NetBIOS y WINS

Configurando Samba para servir a nombres y gestionar la navegación

Los nombres son inusuales en redes de SMB/CIFS. Aunque los clientes modernos pueden usar nombres de dominio de Internet para referirse unos a otros, los clientes anteriores dependían de un sistema específico de Microsoft conocido como el servidor de Windows Internet Name Service (WINS) o NetBIOS Name Server (NBNS); los dos términos son sinónimos. Por lo tanto, configurar Samba apropiadamente para la resolución de nombres es importante. También lo es configurar la navegación, que es el mecanismo mediante el cual los servidores aprenden qué intercambios están disponibles en servidores específicos.

Roderick W. Smith, Consultant and author

Roderick Smith author photoRoderick W. Smith es un consultor y autor de más de una docena de libros sobre UNIX y Linux, incluyendo The Definitive Guide to Samba 3, Linux in a Windows World, y Linux Professional Institute Certification Study Guide. También es el autor del software de particionamiento GPT fdisk. Actualmente vive en Woonsocket, Rhode Island.



19-03-2012

Sobre esta serie

Esta serie de artículos le ayuda a aprender las tareas de administración de sistemas Linux. También puede utilizar el material de estos artículos para prepararse para los exámenes de certificación de nivel 3 de Linux Professional Institute (LPIC-3) .

Vea nuestro roadmap de developerWorks para LPIC-3 para obtener una descripción y un enlace de cada artículo en esta serie. El roadmap está en progreso y refleja los objetivos actuales (marzo de 2011) para los exámenes de LPIC-3. A medida que cada artículo es completado, es añadido al roadmap.

Visión General

En este artículo, aprenda sobre estos conceptos:

  • Windows Internet Name Service (WINS)
  • Network input/output system (NetBIOS)
  • Dispositivos del navegador maestro local
  • Dispositivos del navegador maestro de dominio
  • Resolución de nombres
  • Configurando y usando Samba como un WINS/NetBIOS Name Server (NBNS)
  • Navegación, elecciones y anuncios de servicio de NetBIOS

Este artículo le ayuda a prepararse para el Objetivo 314.2 en el Tema 314 del examen de Especialidad en Entorno Mixto de Linux Professional Institute (302). El objetivo tiene un peso de 7.


Prerrequisitos

Sobre el examen optativo LPI-302

Linux Professional Institute Certification (LPIC) es como muchas otras certificaciones en las que se ofrecen distintos niveles, con cada nivel requiriendo más conocimiento y experiencia que el anterior. El examen LPI-302 es un examen de especialidad optativo en el tercer nivel de la jerarquía de LPIC y requiere un nivel avanzado de conocimiento de administración de sistemas Linux.

Para obtener su certificación de LPIC-3, debe pasar los dos exámenes de primer nivel (101 y 102), los dos exámenes de segundo nivel (201 y 202) y el examen principal de LPIC-3 (301). Después de que haya obtenido este nivel, puede tomar los exámenes de especialidad optativos, tales como LPI-302.

Este artículo asume que tiene un conocimiento práctico de las funciones de línea de comandos de Linux y que entiende las bases de la configuración de Samba. Debe estar familiarizado con la estructura general del archivo de configuración smb.conf. También debe tener un entendimiento básico del Sistema de Nombres de Dominio (DNS) como un punto de comparación para algunos de los temas cubiertos en este artículo.


Entendiendo la resolución de nombres de NetBIOS

Construya su propio feed

Usted puede construir una alimentación RSS, Atom, o HTML personalizada por lo que se le notificará a medida se añadan nuevos artículos o se actualice el contenido. Vaya a los feeds RSS de developerWorks. Seleccione Linux para la zona y Articles para el tipo, y escriba Linux Professional Institute en las palabras claves. Después, elija su tipo de feed preferido.

En su mayoría, los nombres de los computadores probablemente sean el mismo sin importar el protocolo que esté usando. Sin embargo, en el caso de los protocolos de Server Message Block (SMB)/Common Internet File System (CIFS), existen algunas arrugas debido al historial del protocolo fuera del dominio usual de TCP/IP. Específicamente, SMB/CIFS se originó en redes que usaron los protocolos de NetBIOS y NetBIOS Extended User Interface (NetBEUI), los cuales tienen sus propias normas. Cuando SMB/CIFS fue modificado para trabajar con TCP/IP, algunas de las convenciones de nombres anteriores de NetBIOS tuvieron que adaptarse para el uso de TCP/IP. Aunque no siempre tiene que seguir las convenciones de nombres de NetBIOS con clientes y servidores modernos de SMB/CIFS, algunas veces sí tiene que hacerlo, así que debe entender las normas, incluyendo las distintas formas en que NetBIOS resuelve los nombres y el rol de un servidor de WINS en su red.

Entendiendo NetBIOS

La Figura 1 muestra una representación de un par de pilas de red (para cliente y servidor) usando el modelo Open System Interconnection. Piense en SMB/CIFS como una pila de protocolo a nivel de la presentación en este modelo. En la implementación original previa a TCP/IP, SMB/CIFS dependía de NetBIOS al nivel de sesión, el cual a su vez dependía de NetBEUI al nivel de transporte.

Figura 1. NetBEUI y NetBIOS son protocolos de la capa de sesión y transporte en la pila de protocolo de red
NetBEUI y NetBIOS son protocolos de la capa de sesión y transporte en la pila de protocolo de red

En Linux, ni NetBIOS ni NetBEUI existen. Samba toma los deberes de los protocolos de SMB/CIFS y la implementación de NetBIOS. En lugar de usar NetBEUI, Samba se comunica con TCP y User Datagram Protocol (UDP). La combinación de NetBIOS con TCP/IP algunas veces es conocida como NBT, cuyos deberes incluyen:

  • El servicio de nombres. En redes de TCP/IP, los computadores tienen nombres usados por personas, pero los computadores se comunican usando direcciones IP y direcciones de hardware. En NetBEUI, las direcciones IP no son usadas—sólo los nombres y las direcciones de hardware. NBT entonces maneja la creación de direcciones IP que no son requeridas en SMB/CIFS con redes de NetBIOS y NetBEUI. La primera mitad de este artículo está dedicada a este tema.
  • El servicio de datagrama. Este es un tipo de comunicación de red que no crea una conexión permanente. En TCP/IP, es casi equivalente al UDP, así que NBT usa UDP para dispositivos que requieren servicios de datagrama, tales como las elecciones de navegador descritas en la segunda mitad de este artículo.
  • El servicio de sesión. Una transacción de NetBIOS forma una conexión de más largo plazo para la mayoría de las solicitudes de transferencia de datos, tales como cuando un usuario monta un intercambio de archivo. Este tipo de servicio se correlaciona lógicamente en la parte de TCP de TCP/IP, así que NBT usa TCP para dichas conexiones.

En la práctica, NBT no se menciona mucho; normalmente hablamos de nombres de NetBIOS o resolución de nombre de NetBIOS al describir los nombres usados en redes de SMB/CIFS y cómo se correlacionan con direcciones IP. Los nombres de NetBIOS vienen en dos partes:

  • El nombre de máquina. Este nombre, como el nombre de máquina en DNS, se refiere a una computadora específica. Como una cuestión práctica, es mejor si este nombre es el mismo que el nombre de máquina de DNS de la computadora. El nombre de máquina tal vez no sea exclusivo en el mundo, pero debe ser exclusivo en su red—al menos en el grupo de trabajo o dominio de la computadora.
  • El nombre de grupo de trabajo. Este nombre se aplica a todos los computadores relacionados en una red. En una configuración de SMB/CIFS simple (no de dominio), el nombre de grupo de trabajo es sólo una forma de organizar los computadores para propósitos de navegación, como se describe en la segunda mitad de este artículo. En una red que está configurada como un dominio, el nombre de grupo de trabajo es dado al dominio, el cual proporciona servicios a nivel de dominio, como se describe en "Aprenda Linux, 302 (Entornos mixtos): Control de Dominio."

Este sistema de nombres de dos capas es una de las razones por las que las redes de NetBIOS son locales en su ámbito, al menos comparadas con el globalizado Internet que está basado en TCP/IP. Con sólo dos niveles de nombres, no es práctico crear suficientes nombres que sean suficientemente exclusivos para identificar literalmente billones de computadores.

En redes de NetBIOS, cada computadora está configurada con su propio nombre, el cual es anunciado en la red usando una difusión. Este enfoque descentralizado para los nombres hace que la configuración sea fácil para usuarios y administradores relativamente inexpertos—suponiendo que no intentan usar un nombre que ya está en uso.

Los nombres de NetBIOS pueden tener una longitud de hasta 15 caracteres. Pueden contener letras, números y los siguientes símbolos:

! @ # $ % ^ & ( ) - ' { } . ~

Como una cuestión práctica, normalmente es mejor restringir los nombres a letras y quizá números. Las letras en los nombres no son sensibles a mayúsculas y minúsculas. En este artículo, usé letras mayúsculas para nombres de NetBIOS y letras minúsculas en nombres de DNS.

Aunque DOS, Windows e IBM Operating System/2 (OS/2) soportan NetBEUI, en gran parte han llegado a utilizar NBT actualmente, aún en redes donde todos los computadores pueden usar NetBEUI. Los principios básicos de la operación de NBT y la resolución de nombres de NetBIOS son los mismos en todas estas plataformas.

Tipos de resolución de nombres de NetBIOS

Suponga que un usuario se sienta en una estación de trabajo y desea acceder al servidor llamado SPEAKER. El usuario lanza una aplicación de cliente adecuada e ingresa SPEAKER como el nombre del servidor. ¿Qué sucede? Existen cuatro métodos distintos de resolución de nombres en una red de NBT:

  • Resolución de difusión. El cliente puede difundir un mensaje, el cual todos los computadores en el área local reciben, pidiendo la dirección IP asociada con el nombre de host SPEAKER. Esa computadora debe entonces responder y el cliente puede iniciar la conexión para transferencias de datos subsecuentes. Este tipo de resolución de nombres es algunas veces llamada resolución de nombres B mode y una computadora que usa este método exclusivamente es llamado un B-node.
  • Usando un servidor de nombres. El cliente puede contactar un servidor de NBNS o un servidor de WINS. (Los dos términos son sinónimos.) Igual que un servidor de DNS, un servidor de WINS mantiene una correlación de direcciones IP y nombres de host. Sin embargo, un servidor de WINS recolecta estas correlaciones con base en las difusiones que los computadores hacen cuando vuelven a cargarse en lugar de con base en un archivo de configuración mantenido localmente y una consulta con otros servidores. Este método a veces es conocido como la resolución de nombres P-mode .
  • Usando lmhosts. Un archivo de configuración llamado lmhosts (normalmente almacenado en /etc/samba en sistemas de Samba o en C:\WINDOWS\SYSTEM32\DRIVERS\ETC en sistemas de Windows) puede almacenar correlaciones de direcciones IP con nombres de host. Este archivo es similar al archivo /etc/hosts, el cual sirve a un propósito similar para nombres de host de TCP/IP.
  • Usando DNS. Aunque no es parte de NVT, puede configurar Samba para usar DNS para resolución de nombres de NetBIOS. (Lo mismo aplica para versiones modernas de Windows.)

Muchos computadores serán configurados para usar varios de estos métodos de resolución de nombres, y en un orden particular, para maximizar las posibilidades de encontrar el sistema deseado con un mínimo esfuerzo. Los sistemas antiguos de Microsoft Windows 9x o Windows Me usaban resolución B-mode de forma predeterminada, pero la mayoría de las versiones más recientes de Windows usan DNS como el método de resolución de nombres de NetBIOS principal.

Un servidor de WINS, ya sea una computadora de Linux ejecutando Samba o un servidor de Windows, debe escuchar difusiones de nombres, mantener una correlación de direcciones IP con nombres de NetBIOS y responder a consultas sobre estas correlaciones de clientes. Como una cuestión práctica, esto significa que el servidor de WINS debe estar disponible en todo momento—o tanto como le sea posible. Frecuentemente, un controlador de dominio es un candidato excelente para funcionar como un servidor de WINS. Si su computadora aloja su propio servidor de DNS, esa computadora también puede ser una buena opción. Debe configurar explícitamente su computadora elegida como un servidor de WINS—una tarea que es descrita en la siguiente sección para servidores de Samba.


Estableciendo opciones de resolución de nombres de Samba

Con las necesidades y métodos de la resolución de nombres de NetBIOS en mente, puede proceder con la configuración de las opciones de resolución de nombres de Samba. Estas recaen en dos amplias clases: opciones de cliente de Samba y opciones que controlan el comportamiento de Samba como un servidor de WINS.

Estableciendo opciones de cliente de Samba

Tal vez quiera ajustar un número de opciones de smb.conf que puedan afectar la forma en que Samba se presenta a sí mismo para la red o cómo resuelve nombres de NetBIOS:

  • netbios name. Esta opción establece el nombre de NetBIOS que el servidor reclama. Si omite esta opción, de forma predeterminada será la porción del nombre de máquina de su nombre de host de DNS, tal como TUNESMITH si el nombre de host de DNS es tunesmith.example.com.
  • netbios aliases. Una sola computadora puede reclamar más de un nombre de NetBIOS. Para hacerlo, use esta opción, como en netbios aliases = PRILL HALRLOPRILLALAR. Estos nombres son reclamados además de cualquier conjunto mediante la opción netbios name .
  • workgroup. Usted establece el nombre de dominio o grupo de trabajo con esta opción. Para que los dispositivos de navegación y dominio funcionen correctamente, debe establecer esta opción en el valor correcto. El valor predeterminado es WORKGROUP.
  • name resolve order. Este parámetro toma una o más de cuatro opciones para controlar cuál de los cuatro métodos de resolución de nombres usan los programas en la suite de Samba. Aunque tiene poco efecto práctico en el lado del servidor, esta opción afecta la forma en que las herramientas tales como smbclient resuelven nombres.
  • wins server. Puede especificar los nombres de host o direcciones IP de computadores configurados para funcionar como servidores de WINS con esta opción. Tome en cuenta que especificar esta opción no garantiza que estos servidores serán consultados; la opción name resolve order determina ese detalle.

Ordinariamente, la opción predeterminada netbios name funciona bien y no hay necesidad de una opción netbios aliases ; sin embargo, tal vez quiera usar una de estas opciones, o ambas, bajo ciertas circunstancias. Por ejemplo, si configura un servidor de Samba para que realice los deberes de otros servidores que está retirando, tal vez quiera usar netbios aliases , de forma que el servidor responda a consultas dirigidas a los nombres de los computadores retirados. Tal vez quiera usar netbios name o netbios aliases si desea usar un nombre distinto para dirigirse a NetBIOS del que usa para otros propósitos.

Para usar name resolve order, usted especifica una o más de cuatro opciones en una lista separada por espacios:

  • lmhosts. Esta opción se refiere al archivo /etc/samba/lmhosts, el cual es descrito con más detalle un poco más adelante.
  • host. Esta opción se refiere a la resolución de nombres normal de TCP/IP, la cual puede incluir un servidor de DNS, un archivo /etc/hosts u otros métodos, dependiendo de su configuración local de TCP/IP.
  • wins. Esta opción se refiere a la resolución de nombres mediante un servidor de WINS. Usted especifica el servidor mediante la opción wins server .
  • bcast. Si incluye esta opción, los clientes de Samba usarán la resolución de nombres de difusión de NetBIOS.

La configuración predeterminada name resolve order usa los cuatro orígenes en el orden recién especificado. En muchos casos, esta configuración predeterminada funciona bien; sin embargo, tal vez quiera ajustarla. Por ejemplo, si no mantiene un archivo lmhosts y desea favorecer los métodos de NetBIOS por sobre los métodos de DNS de la resolución de nombres, tal vez puede cambiarlo por:

name resolve order = wins bcast host

Si desea usar un servidor de WINS, debe asegurarse de incluir el parámetro wins server en su configuración. Si no es así, Samba no tendrá forma de ubicar el servidor de WINS y el efecto práctico será el mismo que si hubiera omitido wins de la línea de name resolve order .

Si desea mantener un archivo lmhosts, debe entender su formato de archivo, el cual es similar al de /etc/hosts. Cada computadora tiene una entrada que ocupa una sola línea comenzando con la dirección IP de la computadora y finalizando con su nombre de NetBIOS. Las líneas de comentario comienzan con una marca de hash (#). El resultado puede parecerse a lo siguiente:

# Edit this file when adding or removing machines
192.168.7.5  NESSUS
192.168.7.8  PRILL
192.168.7.56 TUNESMITH

Configurando Samba como un servidor de WINS

Además de las opciones de Samba que afectan cómo resuelve nombres de NetBIOS, puede establecer opciones que habilitan a un servidor de Samba para que funcione como un servidor de WINS:

Replicación de WINS

Los servidores de Windows WINS pueden usar un proceso conocido como replicación de WINS para intercambiar datos entre servidores de WINS en distintas subredes. Desafortunadamente, Samba versión 3 no soporta la replicación de WINS, aunque el soporte para este dispositivo está planificado para Samba versión 4. Durante un tiempo, una herramienta llamada wrepl proporcionó soporte para replicación de WINS; sin embargo, este programa nunca pasó de la fase experimental y ya ha sido abandonado.

Como una cuestión práctica, el uso de opciones tales como dns proxy y wins proxy, junto con el hecho de que la mayoría de los clientes ahora usan DNS para la mayoría de los propósitos de resolución de nombres, hace que la falta de soporte de replicación de WINS no sea importante para la mayoría de las instalaciones.

  • wins support. Establecer esta opción Booleana en Yes causa que funcione como un servidor de WINS. El valor predeterminado es No.
  • wins proxy. Esta opción Booleana determina sin Samba responderá a solicitudes de difusión que preguntan sobre nombres distintos al suyo propio. Establecer esta opción en Yes (el valor predeterminado es No) puede mejorar la confiabilidad de la resolución de nombres de NetBIOS si su red abarca múltiples subredes o si algunos computadores están configurados para usar difusiones y otros para usar un servidor de WINS.
  • dns proxy. Si esta opción Booleana está establecida en Yes (como lo está de forma predeterminada) y su servidor de WINS de Samba no tiene un nombre de NetBIOS en el archivo que coincida con una solicitud de búsqueda, realiza una búsqueda de DNS usando los valores de DNS configurados localmente para intentar encontrar un nombre.
  • max wins ttl. Al trabajar como un servidor de WINS, Samba mantiene información en nombres que ha recolectado durante un periodo de tiempo limitado, de acuerdo con lo determinado por la solicitud del cliente y este parámetro. Debe especificar un tiempo en segundos. El valor predeterminado es 518400 (6 días).
  • min wins ttl. Esta función funciona casi igual que min wins ttl, excepto que establece un tiempo mínimo para almacenar los datos de nombre. El valor predeterminado es 21600 (6 horas).

Ordinariamente, establecer wins server = Yes es suficiente para configurar Samba como un servidor de WINS—al menos en el lado de Samba. Sin embargo, no existe un método automático para que clientes de WINS ubiquen servidores, así que necesitará configurar sus clientes para hablarles sobre el servidor de WINS. La forma más sencilla de hacer esto, al menos para clientes de Windows, es ajustar su configuración de servidor de Dynamic Host Configuration Protocol (DHCP). El popular servidor named puede ser configurado mediante su archivo dhcpd.conf, el cual normalmente se encuentra en /etc. Debe establecer dos opciones, la cuales tal vez ya estén presentes cerca de la parte superior del archivo de configuración:

option netbios-name-servers 192.168.7.2;
option netbios-node-type 8;

La primera de estas líneas identifica la dirección IP de su servidor de WINS de Samba. La segunda establece el tipo de nodo, el cual determina qué métodos de resolución de nombres son usados. Los valores van desde 1 hasta 8, pero sólo cuatro son significativos:

  • 1. Los clientes deben usar sólo las difusiones; es decir, funcionan como B-nodes.
  • 2. Los clientes deben usar sólo el servidor de WINS; es decir, funcionan como P-nodes.
  • 4. Los clientes deben usar difusiones primero, pero si eso falla, usar el servidor de WINS. Dicho cliente algunas veces es llamado un M-node.
  • 8. Los clientes deben usar primero el servidor de WINS, pero si eso falla, use las difusiones. Dicho cliente algunas veces es llamado un H-node.

Como norma general, tiene sentido configurar los clientes como H-nodes, de forma que pasar a tipo de nodo de NetBIOS de 8 mediante el servidor de DHCP sea apropiado.


Entendiendo la navegación

En los círculos informáticos, el término navegación normalmente se aplica a la Web: usamos navegadores web para leer websites, tal como lo está haciendo usted en este momento. Sin embargo, en el contexto de SMB/CIFS navegación significa algo distinto (aunque es similar): se refiere al proceso de descubrir qué recursos están disponibles en su red. Samba, naturalmente, proporciona opciones de configuración que afectan la forma en que interactúa con clientes a medida que realizan operaciones de navegación. Sin embargo, para ajustar estos valores debe entender algunos conceptos clave de navegación, tales como aquellos de un navegador maestro y de elecciones de navegador.

Una visión general de la navegación

Si ha usado los dispositivos de intercambio de archivos de Windows, es probable que haya usado la navegación, la cual es ilustrada por la Figura 2. Esta figura muestra la ventana Computer en Windows. En el panel izquierdo, cerca del fondo, un elemento Network revela que la computadora es accesible en la red—HARK, NESSUS y WEMBLETH, en el caso de la Figura 2. Puede hacer clic en uno de estos computadores para ver los intercambios que están ofreciendo, hacer clic en los iconos de intercambio para ver los archivos que alojan, etc.

Figura 2. La navegación permite a los usuarios ubicar rápidamente servidores e intercambios
La navegación permite a los usuarios ubicar rápidamente servidores e intercambios

Desde el punto de vista del usuario, todo esto sucede automáticamente; pero por supuesto existe un esfuerzo considerable en segundo plano para hacer que todo esto funcione. La navegación depende de una computadora, conocido como el navegador master, para compilar las listas de computadores. Cuando un cliente navega la red, contacta al navegador maestro para obtener esta lista. El navegador maestro es, por supuesto, un servidor. Este servidor tal vez no necesite mucha configuración, pero si quiere evitar desastres de navegación, tales como navegar listas que repentinamente se queden vacías sin una razón aparente, debe entender un poco sobre cómo funciona la navegación.

Oficialmente, existen dos tipos de navegadores maestros:

  • Navegadores maestros locales. Estos navegadores maestros sirven como una sola subred. Escuchan los mensajes de difusión que los computadores usan para anunciarse a sí mismos y reclaman un nombre de NetBIOS y mantienen sus listas de navegación de estas difusiones. También responden a consultas de difusión que pretenden ubicar navegadores maestros. Los navegadores maestros locales están diseñados por un proceso conocido como una elección, así que en principio cualquier computadora se puede convertir en un navegador maestro local. (Recuerde que SMB/CIFS fue diseñado para usarse en configuraciones de igual a igual, en las cuales todos los computadores funcionan como clientes y servidores.)
  • Navegadores maestros de dominio. Ya que los navegadores maestros locales compilan sus listas de servidor al escuchar mensajes de difusión, no pueden funcionar a través de subredes—al menos no sin un poco de ayuda extra. Ahí es donde entran los navegadores maestros de dominio; estos se comunican con navegadores maestros locales en múltiples subredes e intercambian listas de navegación, permitiendo que los computadores en estas subredes distintas se "vean" unos a otros. (Sin embargo, este enfoque crea un retraso en la aparición y desaparición de los servidores.) Los navegadores maestros de dominio deben ser explícitamente configurados como tales; no están diseñados por elecciones. Normalmente, los controladores de dominio funcionan como navegadores maestros de dominio.

Samba proporciona opciones, descritas en Estableciendo opciones de navegación de Samba, que permiten que un navegador maestro local intercambie listas de navegación con navegadores maestros en otra subred. Esto puede ser útil si tiene una red de multi-segmentos pero no desea ejecutar una configuración de dominio.

Los navegadores maestros locales también pueden tener suplentes, conocidos como navegadores de respaldo. Los navegadores de respaldo mantienen las listas de navegación pero normalmente no son llamados por clientes. La intención es que puedan encargarse de los deberes del navegador maestro con las listas de navegación actuales si el navegador maestro deja de estar disponible.

Elecciones de navegador maestro

Las elecciones comienzan cuando una computadora pide una, lo que normalmente ocurre cuando el navegador maestro anterior no está respondiendo a las consultas; pero algunos sistemas (tales como Samba) pueden pedir elecciones siempre que vuelvan a cargarse o en otros momentos. Las elecciones normalmente requieren de algunos segundos para completarse, tiempo durante el cual la navegación no funciona, así que no debe configurar Samba para que sea muy agresivo al demandar elecciones. La elección comienza cuando la computadora que la pidió difunde su criterio de elección. Este criterio puede ser clasificado, como se describe un poco más adelante. Cualquier computadora que tenga una clasificación de criterio que supere al primero difunde su criterio en respuesta. Una computadora que crea que está ganando la elección continuará difundiendo su criterio cada 200-800 milisegundos hasta que lo haya hecho cuatro veces, punto en el cual reclama la victoria y se vuelve el navegador maestro local.

El criterio usado en una elección de navegador maestro, para disminuir la prioridad, es de la siguiente manera:

  1. Versión de protocolo de elección. Múltiples protocolos de elección son teóricamente posibles, pero hasta hoy, sólo la versión 1 ha sido usada. Por lo tanto, aunque este dispositivo puede ser importante, en la práctica no lo es.
  2. Nivel de sistema operativo. Cada sistema operativo tiene una clasificación de 0 a 255 para la preferencia. Los niveles más altos de sistema operativo son preferidos sobre los niveles más bajos. La mayoría de los sistemas operativos de Microsoft tienen valores entre 1 y 32. Es posible ajustar el nivel de sistema operativo de Samba, como se describe a continuación, en Estableciendo opciones de navegación de Samba.
  3. Estado de controlador de dominio principal (PDC). Si una computadora es actualmente un PDC, gana sobre otras computadoras que estén en el mismo nivel de sistema operativo y versión de protocolo de elección.
  4. Estado de servidor de WINS. Una computadora que está funcionando actualmente como un servidor de WINS gana una elección si otros factores no determinado ya el resultado.
  5. Navegador maestro preferido. Una computadora puede ser designado como el navegador maestro preferido, el cual da un impulso en la elección.
  6. Navegador maestro actual. Si la computadora está funcionando actualmente como un navegador maestro, recibe un impulso en la elección.
  7. Navegador maestro anterior. Si la computadora era usada para funcionar como un navegador maestro pero perdió una elección reciente y fue degradado a estado de navegador de respaldo, tiene una pequeña ventaja en la elección.
  8. Navegador de respaldo en ejecución. Si la computadora es actualmente el navegador de respaldo, tiene una pequeña ventaja en la elección.

Si una elección es pedida y los resultados son un empate, dos criterios de desempate pueden ser usados:

  • Tiempo de actividad. Si una computadora se ha estado ejecutando durante más tiempo que la otra, la máquina con más tiempo de ejecución gana.
  • Nombre de NetBIOS. La computadora con el primer nombre, cuando estén ordenados alfabéticamente, gana la elección si el resto de los criterios resultan en un empate.

Estableciendo opciones de navegación de Samba

Naturalmente, Samba proporciona muchas opciones que afectan su rendimiento en las elecciones de navegador y su capacidad para funcionar como un navegador maestro de dominio. Yo describo las opciones que puede usar para "manipular" una elección, aquellas usadas para habilitar la navegación en toda la subred y aquellas requeridas para adquirir el estado de navegador maestro de dominio. También describo opciones que puede establecer en servidores de Samba (aún aquellos que no son navegadores maestros) para ajustar los intercambios que los usuarios ven cuando navegan hacia su computadora.

Configurando Samba para ganar una elección

Las opciones que pueden afectar la habilidad de Samba para ganar una elección de navegador maestro local incluyen las siguientes:

  • local master. Cuando esta opción es establecida en Yes (su valor predeterminado), Samba participa en elecciones de navegador maestro local; cuando está establecida en No, no participa y por lo tanto no puede ganar una elección.
  • os level. El valor predeterminado de os level de Samba es 20, el cual es suficiente para ganar elecciones contra la mayoría de los sistemas operativos de Microsoft que no son de servidor pero no contra sistemas operativos de servidor, los cuales tienden a tener niveles de sistema operativo de 32. Si desea estar absolutamente seguro de que un servidor de Samba gane una elección, puede establecer este valor en 255, el cual ganará contra cualquier cosa que no sea otro servidor de Samba configurado de manera similar. Sin embargo, no establezca una opción tan extrema en forma cotidiana; en una red con múltiples servidores de Samba, uno debe estar "manipulado" para ganar la elección.
  • domain logons. Como se describe en el artículo en LPIC Objetivo 312.4, esta opción Booleana configura un servidor de Samba para que funcione como PDC, y entonces también afecta las posibilidades del servidor en una elección de navegador.
  • wins support. Ya que el estado de servidor de WINS es un factor en las elecciones, esta opción Booleana puede afectar el resultado de elecciones.
  • preferred master. Establecer esta opción Booleana en Yes le dice a Samba que pida una elección siempre que se inicie. También establece el distintivo de navegador maestro preferido usado en las elecciones. El valor predeterminado es No.
  • browse list. Este parámetro Booleano, cuyo valor predeterminado es Yes, determina si el servidor mantiene una lista de navegación. Si lo hace, se puede convertir en un navegador maestro o de respaldo. (Si establece esta opción en No, Samba no participará en las elecciones.)

La mayoría de los servidores de Samba funcionan bien con los valores predeterminados; diferirán de los sistemas operativos de Windows Server o servidores de Samba que hayan sido configurados para ganar las elecciones, pero ganarán elecciones en configuraciones de grupo de trabajo que no contengan sistemas operativos de Windows Server.

Si está experimentando problemas de navegación, tal vez quiera investigar sus valores del servidor de Samba. Los problemas frecuentemente resultan de dos condiciones:

  • Navegadores maestros locales no confiables. Si una computadora que funciona como un navegador maestro es desactivado o desconectado de la red, el resultado es una interrupción en la navegación. Esto puede suceder en una red de igual a igual con muchos computadores en el mismo nivel de sistema operativo si los usuarios desactivan sus computadores de vez en cuando. En esta situación, una buena solución es configurar un servidor de Samba confiable para ganar la elección al impulsar su nivel de sistema operativo y quizá cambiar otras opciones.
  • Muchos navegadores maestros preferidos. Si más de una computadora está configurada como un navegador maestro preferido, el resultado puede ser peticiones repetidas de elecciones, cada una de las cuales interrumpe a un navegador durante un breve periodo de tiempo. Asegúrese de que a lo sumo un servidor de Samba por segmento de red esté configurado como un navegador maestro preferido. Si una computadora de Windows es un maestro preferido (como cuando está configurado como un controlador de dominio), asegúrese de que ningún servidor de Samba esté también configurado así.

Habilitando la navegación en toda la subred en un grupo de trabajo

Si su red usa una configuración de grupo de trabajo pero abarca múltiples subredes, la resolución de nombres y la navegación pueden no funcionar adecuadamente en todas las subredes. Las opciones del servidor de WINS, como se describe en la primera mitad de este artículo, pueden superar los problemas de resolución de nombres. (También usar el DNS para resolución de nombres.) Sin embargo, la navegación puede requerir usar algunas opciones inusuales exclusivas de Samba. Una posibilidad es configurar un servidor de WINS de Samba como un navegador maestro de dominio. Puede hacer esto en Samba sin configurar un dominio completo, ya que Samba divide los dispositivos relevantes en opciones independientes. Sin embargo, si hace esto debe configurar un solo servidor de Samba como el servidor de WINS y el navegador maestro de dominio; si no lo hace, el navegador maestro de domino no tendrá información sobre todos los nombres de host que necesita para hacer su trabajo.

Si no puede configurar una computadora como el servidor de WINS y el navegador maestro de dominio, o si encuentra difícil persuadir a todas sus computadoras para que se registren con el servidor de WINS, una combinación de uno o más de tres parámetros adicionales puede ayudarle a abarcar múltiples subredes:

  • remote browse sync. Puede especificar las direcciones IP de servidores de Samba o redes completas para esta opción, y Samba intercambiará listas de navegación con esos servidores de Samba o con los navegadores maestros que encuentre en las redes especificadas. Una limitación importante de esta opción es que funciona sólo con servidores de Samba; Samba no puede intercambiar listas de navegación con navegadores maestros locales de Windows usando esta opción.
  • remote announce. Samba puede anunciar su presencia en una red remota al pasar una dirección IP (incluyendo una dirección de difusión) y un nombre de grupo de trabajo opcional, como en 192.168.8.255/PAK, donde se anuncia a sí mismo como un navegador maestro local para el grupo de trabajo PAK en la subred 192.168.8.0/24. A diferencia de remote browse sync, esta opción funciona para intercambiar listas de navegación con cualquier tipo de navegador, no sólo con servidores de Samba.
  • enhanced browsing. Esta opción Booleana, cuyo valor predeterminado es Yes, causa que Samba busque e intercambie listas de navegación con navegadores maestros de dominio que encuentre mediante un servidor de WINS o en cualquier otra manera. Esta opción puede hacer la navegación en toda la subred más confiable, pero también puede evitar que grupos de trabajo difuntos desaparezcan de las listas de navegación, así que tal vez quiera establecerla en No si experimenta ese problema.

Como norma general, usar navegadores maestros locales de Samba en cada subred y configurar cada uno para que use remote browse sync y apunte a los otros servidores de Samba funciona bien para intercambiar listas de navegación en todas las subredes. Si no conoce la dirección IP exacta del navegador maestro local, puede usar una dirección de difusión, como en 192.168.8.255 para referirse a la red 192.168.8.0/24.

Habilitando las opciones de navegador maestro de dominio

Normalmente, Samba asume el estado de navegador maestro de dominio cuando lo configura como un controlador de dominio. Puede forzar el problema al establecer la opción domain master en Yes. Este parámetro acepta valores Booleanos además de su valor predeterminado de Auto, lo que causa que la configuración de navegador maestro de dominio duplique la del parámetro domain logins , que se describe en "Aprenda Linux, 302 (Entornos mixtos): Control de Dominio."

Una vez que Samba está configurado como un controlador de dominio y un navegador maestro de dominio, los miembros de domino no deben tener problemas para usar el servidor como un navegador maestro de dominio. Los navegadores maestros de dominio en otras subredes pueden ubicar le navegador maestro de dominio al usar búsquedas de nombre de dominio; estas búsquedas contienen códigos para identificar el navegador maestro de dominio. Puede usar el parámetro remote browse sync en navegadores maestros locales de Samba para garantizar más su correcta operación.

Tenga en mente que la propagación de la lista de navegación a través de las subredes no es instantánea. Los navegadores maestros locales necesitan tiempo para recolectar sus listas de navegación y sincronizan las listas de navegación con el navegador maestro de domino de vez en cuando. En conjunto, pueden pasar muchos minutos antes de que todos sus computadores aparezcan en las listas de navegación en todas sus subredes.

Estableciendo opciones de navegación local

La mayoría de los dispositivos de navegación descritos en este artículo se relacionan con navegadores maestros, los cuales mantienen listas de computadores. Sin embargo, para que la navegación tenga una utilidad, los servidores individuales tienen que hacer la información disponible en los intercambios que proporcionan. Los valores predeterminados normalmente funcionan bien; hacen que la mayoría de los intercambios aparezcan en las listas de navegación. El intercambio HOMES es una excepción parcial; esta definición de intercambio crea un intercambio para cada usuario de la computadora y ese intercambio normalmente aparece en las listas de navegación sólo para el usuario al cual pertenece el intercambio. Puede establecer varias opciones en los servidores de archivos e impresión de Samba, aún si no son navegadores maestros, para ajustar la forma en que la información de intercambio local es compartida:

  • preload. Puede especificar una lista de intercambios que desea hacer disponibles en listas de navegación aún si normalmente no estarían disponibles. Por ejemplo, tal vez incluya intercambios de inicio de usuarios específicos, como en preload = LOUIS para mostrar el intercambio de inicio de ese usuario a todos los visitantes. Esta opción también es llamada auto services.
  • load printers. Esta opción Booleana, cuyo valor predeterminado es Yes, determina si los intercambios de impresora creados por la definición PRINTERS se hacen disponibles.
  • browseable. Esta opción Booleana tiene su valor predeterminado en Yes excepto para algunos tipos especiales de intercambio. Cuando se establece en Yes, hace un intercambio visible en las listas de navegación. Establecer el valor en No oculta los intercambios pero no los hace inaccesibles para los usuarios que conocen el nombre del intercambio.

Probando los dispositivos de NetBIOS y WINS

Una vez que ha configurado un servidor de Samba como un servidor de WINS o navegador maestro, o incluso si no lo ha hecho, tal vez quiera probar la resolución de nombres de NetBIOS y los dispositivos de navegación. Samba proporciona un número de herramientas que le ayudan a hacer esto. Las más notables de estas herramientas son findsmb y smbtree. (Estas dos herramientas dependen de herramientas de nivel más bajo, tales como nmblookup y smbclient, para hacer el "trabajo sucio".)

El programa findsmb es una herramienta que envía una consulta de difusión para computadores de NetBIOS en la red e informa los resultados. Normalmente es llamado sin opciones, aunque puede pasarle una dirección de subred para consultar una subred no local, y la opción -r corrige un error que es específico para Microsoft Windows 95. Los resultados del programa se parecen al Listado 1.

Listado 1. Ejemplo de salida de findsmb
$ findsmb

                                *=DMB
                                +=LMB
IP ADDR         NETBIOS NAME     WORKGROUP/OS/VERSION 
---------------------------------------------------------------------
192.168.7.1     CISCOC8231    +[	              ]
192.168.7.5     NESSUS        *[RINGWORLD] [Unix] [Samba 3.4.12]
192.168.7.9     HARK           [RINGWORLD] [Unix] [Samba 3.5.7]
192.168.7.56    TUNESMITH     +[RINGWORLD] [Unix] [Samba 3.0.28a-apple]

Esta salida incluye no sólo los nombres y direcciones IP de computadores locales, sino información sobre sus grupos de trabajo, sistemas operativos y versiones de Samba que estén en ejecución.

A diferencia de findsmb, que toma pocas opciones, el programa smbtree toma varias. Este programa es usado para recuperar información de navegación en su red. En su forma más simple, muestra una lista de navegación similar a aquella que puede encontrar en un navegador de archivos de Windows (como en la Figura 2) pero en forma textual, como se muestra en el Listado 2. Tome en cuenta que smbtree le pide su contraseña de usuario; esta contraseña es usada para obtener acceso a la información de intercambio, la cual muchos servidores no divulgarán hasta después de un inicio de sesión exitoso.

Listado 2. Salida de ejemplo de smbtree
$ smbtree
Enter rodsmith's password: 
RINGWORLD
	\\WEMBLETH          	        wembleth server (Samba, Ubuntu)
		\\WEMBLETH\IPC$             IPC Service (wembleth server (Samba, Ubuntu))
                \\WEMBLETH\programs         User programs
	\\SEEKER         		seeker server (Samba, Ubuntu)
		\\SEEKER\rodsmith           Home Directories
		\\SEEKER\IPC$               IPC Service (seeker server (Samba, Ubuntu))
		\\SEEKER\MYTHTV             Home Directories
	\\NESSUS         		Nessus
		\\NESSUS\rodsmith           Home Directories
		\\NESSUS\hp4000             HP4000 via Ethernet
		\\NESSUS\Epson_RX500        EPSON Stylus Photo RX500
		\\NESSUS\IPC$               IPC Service (Nessus)
		\\NESSUS\cf                 Epson RX500 CF port
		\\NESSUS\floppy             Floppy Drive

La mayoría de la salida de smbtree se explica a sí misma: identifica el grupo de trabajo o dominio (RINGWORLD en este ejemplo), los servidores (WEMBLETH, SEEKER y NESSUS en este ejemplo)y los intercambios navegables en cada servidor (junto con una descripción, la cual puede ser establecida mediante la opción de intercambio comment ). El intercambio IPC$ es usado para realizar tareas en segundo plano y normalmente está oculto para los usuarios, pero smbtree lo expone.

Puede añadir una variedad de opciones para que smbtree altere su comportamiento. La Tabla 1 presenta la más útiles de estas opciones. Consulte la página de man para smbtree para obtener más detalles sobre opciones más obscuras.

Tabla 1. Opciones para el comando smbtree
OpciónEfecto
-b o --broadcastRealiza consultas al usar difusiones en lugar de al usar el navegador maestro local para obtener una lista de navegación.
-D o --domainsMuestra una lista de dominios conocidos; no muestra datos sobre servidores e intercambios disponibles.
-S o --serversMuestra una lista de dominios y servidores; no muestra datos sobre intercambios.
-d level o --debuglevel=levelEstablece el nivel de detalle a ser registrado en los archivos de registro; el valor predeterminado es 0, lo que significa poco detalle. Incremente el nivel para ayudar a depurar problemas de red.
-N o --no-passSuprime la solicitud de contraseña, lo que también puede restringir la información disponible.
-U username o --user=usernameEstablece el nombre de usuario usado para acceder al intercambio. También puede añadir un signo de porcentaje (%) y una contraseña como en teela%lucky para usar teela como el nombre de usuario y lucky como la contraseña. (Tome en cuenta que lucky es una contraseña muy pobre; Teela no deber preocuparse sobre esas cosas.)
-S o --serversMuestra una lista de dominios y servidores; no muestra datos sobre intercambios.

Recursos

Aprender

Obtener los productos y tecnologías

  • El código de origen http://ftp.samba.org/pub/unpacked/standalone_projects/source4/libcli/wrepl/ está disponible en el website de Samba.

Comentar

  • Participe en la Comunidad My developerWorks. Conéctese con otros usuarios developerWorks mientras explora los blogs, foros, grupos y wikis dirigidos a desarrolladores.

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Linux
ArticleID=806161
ArticleTitle=Aprenda Linux, 302 (Entornos mixtos): NetBIOS y WINS
publish-date=03192012