Examen de dominios con TCP/IP y archivos LMHOSTS

Resumen

En redes basadas en TCP/IP que utilizan enrutadores y varios segmentos, generalmente es aconsejable implementar WINS para la resolución de nombres y la compatibilidad con el examen. Sin embargo, como alternativa a WINS, se puede obtener el examen de dominios completo utilizando únicamente archivos LMHOSTS en todos los equipos, aunque con algunas limitaciones que se tratarán en este artículo.


En cualquier caso, es importante recordar que los clientes sólo participan en el examen de dominios cuando utilizan un nombre de grupo de trabajo equivalente al nombre de dominio (NombreGrupoTrabajo = NombreDominio). Los equipos de Windows NT también pueden "unirse" al dominio para obtener esta funcionalidad, en lugar de pertenecer a un grupo de trabajo.


Microsoft no ha documentado o probado formalmente esta funcionalidad de examen de dominios basada en LMHOSTS (a través de enrutadores), que podría no estar disponible en futuras versiones de los sistemas operativos de cliente y de servidor. Utilice esta información con precaución.

Más información

"Examinar" una red de Microsoft se debe considerar como un servicio distribuido proporcionado por uno o varios equipos. Cada equipo puede tener varias funciones de examinador, pero este artículo se centra en las dos más importantes:


  • Examinador principal de segmentos (SegMB): Puede serlo cualquier servidor, estación de trabajo o controlador de dominio de Windows NT. También puede serlo un equipo de Windows 95 o Windows para Trabajo en grupo 3.11. Se encarga de mantener una lista de examen de los equipos de su segmento local, de enviar la lista al examinador principal de dominio y de solicitar la lista de examen de dominio al examinador principal de dominio. El SegMB junta la lista de dominio con su lista local y pone la lista resultante a disposición de todo cliente local que la solicite.
  • Examinador principal de dominios (DomMB): Es el controlador principal del dominio de Windows NT (PDC). Se encarga de mantener la lista de examen de su segmento local (igual que un SegMB), además de recoger listas de examen de otros examinadores principales de segmentos (remotos) que tienen el mismo nombre de dominio (o NombreGrupoTrabajo = NombreDominio). El DomMB une las listas que recoge a su lista local y distribuye la lista resultante a todos los SegMB remotos. Así, es el núcleo central encargado de mantener la lista de examen de todo el dominio.
NOTA: El examinador de Windows para Trabajo en grupo requiere archivos actualizados.


Si desea más información, consulte el siguiente artículo de Microsoft Knowledge Base:
102878 Information on Browser Operation (Información sobre el funcionamiento del examinador)
Para que este servicio de examinador distribuido funcione, los SegMBs necesitan un método para determinar exactamente quién es el DomMB. Éstos pueden determinarlo si buscan el equipo que ha registrado el nombre de NetBIOS "Domain<1b>", ya que únicamente lo registra el PDC (que es también el DomMB, como se ha mencionado anteriormente).


Si desea más información, consulte el siguiente artículo de Microsoft Knowledge Base:
119495 List of Names Registered with WINS Service (Lista de nombres registrados con el Servicio WINS)

Examen de dominios con WINS

En un entorno WINS, un SegMB haría consultas a WINS para determinar quién registró Domain<1b>. En este caso, WINS actúa como un recurso centralizado apropiado para esta información. Utilizar WINS como ayuda para realizar el examen tiene otra ventaja más: el examen de varios dominios.

Examen de varios dominios con WINS

Un PDC configurado para consultar a WINS solicita periódicamente la lista de todos los dominios registrados en la base de datos. (Un dominio se identifica con un registro "Domain<1b>" en la base de datos y la dirección IP del PDC que lo registró.) El PDC combina esta información con su lista de examen de dominios y así tiene una lista completa de los equipos de su dominio, además de una lista de otros dominios, todos en la WAN. Después, cuando el PDC interactúa con sus SegMB, les proporciona esta lista completa. El resultado de ello se puede ver al examinar la red con el Administrador de archivos o el Entorno de red.


NOTA: Esta es toda la relación que tiene WINS con el examen. No participa en el proceso de elección del examinador, ni en ayudar a un cliente a determinar quién es su examinador principal de segmentos local, ni tampoco en ayudar al DomMB a determinar quiénes son sus SegMB; eso se lleva a cabo la primera vez que el SegMB se pone en contacto con el DomMB.


En algunos casos podría no interesar utilizar WINS, algo que sólo se puede determinar caso por caso. Entonces, se puede utilizar LMHOSTS o DNS para resolver los nombres de equipo; sin embargo, los LMHOSTS son necesarios para el examen de dominios y para otros aspectos de la administración de dominios, como la replicación de bases de datos y los canales seguros de dominio.

Examen de dominios con LMHOSTS

Sin WINS, se necesitan entradas LMHOSTS especiales que designan quiénes son todos los controladores de dominio. Esto se hace utilizando la convención siguiente:

199.199.199.1 NombreEquipo #PRE #DOM:NombreDominio
Al iniciar un equipo, éste lee estas entradas y las almacena permanentemente en la caché de nombres de NetBIOS hasta que se vuelve a apagar. (Por ello, es mejor que estas entradas sean las últimas del archivo LMHOSTS, para un análisis posterior de LMHOSTS más efectivo.) Todos los equipos del dominio necesitan una de estas entradas para cada controlador de dominio (en el dominio local), además de uno para el PDC. Hay que observar también el orden exacto de #PRE #DOM, y el hecho de que van en mayúsculas. Los demás nombres no distinguen entre mayúsculas y minúsculas.

Examinadores principales de segmentos de Windows NT

Tener las entradas mencionadas arriba es suficiente para un equipo con Windows NT: al convertirse en un Examinador principal de segmentos, un equipo con Windows NT determina quién es el PDC enviando una consulta (mediante la API NetGetDcName) a todas las entradas de LMHOSTS que tienen la denominación #DOM:<DominioLocal>. Sólo responde el PDC. A continuación, el equipo de Windows NT se pone en contacto con el PDC, le informa de que es un examinador principal y continúa con el proceso de obtención de la lista de examen del dominio. Después, el PDC se pone en contacto con el equipo de Windows NT para obtener su lista de examen de segmentos local. Este proceso se repite en intervalos de entre 12 y 15 minutos.

Examinadores principales de segmentos de Windows 95 y Windows para Trabajo en grupo

Estos sistemas no llevan a cabo la API NetGetDcName, por lo que necesitan entradas en el archivo LMHOSTS que indiquen quién es el PDC. Si asumimos que el ejemplo anterior es el PDC del dominio, tendría dos entradas para un cliente de Windows 95 o de Windows para Trabajo en grupo:

199.199.199.1 Controlador1 #PRE #DOM:NombreDominio
199.199.199.1 "NombreDominio,,,,,\0x1b" #PRE
La primera entrada posibilita que el PDC actúe como controlador de dominio de inicio de sesión para el cliente y la segunda posibilita que el servicio de examinador de cliente busque al PDC de manera explícita. Recuerde que probablemente tendrá muchas líneas parecidas a la primera (para varios controladores de dominio), pero sólo una con la directiva \0x1b (para designar el PDC). Observe que el nombre de dominio tiene que ir entre comillas y con espacios de relleno hasta completar los 15 caracteres antes de la parte \0x1b. (En el ejemplo anterior se muestran comas como marcadores de posición visuales, pero en un archivo LMHOSTS real dichas comas se reemplazarían con espacios). Recuerde también que si cambia la función de PDC a otro servidor de Windows NT (mediante promoción) la entrada \0x1b no será válida. Opciones para resolver este problema:


  • Cambiar las direcciones IP de los controladores, para asegurarse así de que el PDC tiene siempre la misma dirección. No necesitaría cambiar nada en el archivo LMHOSTS.
  • Cambiar la dirección IP \0x1b en todos los archivos LMHOSTS en los clientes, o en el archivo LMHOSTS distribuido de manera centralizada (si es lo que va a implementar).

Nota sobre los nombres de NetBIOS

Todos los nombres de NetBIOS tienen una longitud total de 16 caracteres; los primeros 15 los puede definir el usuario (o ser espacios de relleno) y el último se reserva para identificar el servicio de red que registró el nombre. El ejemplo más conocido de nombre de NetBIOS es el NombreEquipo de cualquier cliente de redes de Microsoft. Al iniciarse el cliente, varios servicios cliente de red registrarán el NombreEquipo junto con su extensión exclusiva, por ejemplo NombreEquipo<00> (servicio de estación de trabajo) o NombreEquipo<20> (servicio de servidor). En este caso, la única diferencia entre los dos nombres es el carácter número 16, que es lo que los hace totalmente identificables. Un cliente puede registrar todos su nombres mediante difusión y mediante un datagrama directo a WINS, según el tipo de nodo del cliente. Otras compañías pueden registrar extensiones de NetBIOS que no estén reservadas por Microsoft.


Para obtener más información, consulte los siguientes artículos de Microsoft Knowledge Base:
119493 NetBIOS over TCP/IP Name Resolution and WINS (Resolución de nombres de NetBIOS a través de TCP/IP y WINS)
119495 List of Names Registered with WINS Service (Lista de nombres registrados con el servicio WINS)

Ejemplo de LMHOSTS

El nombre de dominio es "Globe", el nombre de NetBIOS del PDC es "Mongo", y hay varios controladores de dominio de copia de seguridad más. El archivo LMHOSTS tendría el aspecto siguiente:

199.199.199.1 "globe \0x1b" #PRE
199.199.199.1 mongo #PRE #DOM:globe
199.199.199.2 otrodc1 #PRE #DOM:globe
199.199.199.3 otrodc2 #PRE #DOM:globe
Para comprobar que ha introducido la información correctamente, abra una ventana de comandos (símbolo del sistema DOS) y observe la caché de NetBIOS:
c:\> nbtstat -c

Tabla de nombres de caché remota de NetBIOS

Nombre Tipo Dirección del host Duración [seg.]
--------------------------------------------------------------------------
globe <1B> UNIQUE 199.199.199.1 -1
MONGO <03> UNIQUE 199.199.199.1 -1
MONGO <00> UNIQUE 199.199.199.1 -1
MONGO <20> UNIQUE 199.199.199.1 -1
OTRODC1 <03> UNIQUE 199.199.199.2 -1
OTRODC1 <00> UNIQUE 199.199.199.2 -1
OTRODC1 <20> UNIQUE 199.199.199.2 -1
OTRODC2 <03> UNIQUE 199.199.199.3 -1
OTROC2 <00> UNIQUE 199.199.199.3 -1
OTRODC2 <20> UNIQUE 199.199.199.3 -1
SUGERENCIA: la entrada <1B> no aparecerá si no tiene exactamente 15 caracteres en el nombre, si no utiliza comillas o si escribe el carácter de barra diagonal "/0x1b" (en lugar de la barra diagonal inversa "\0x1b").

Examen de varios dominios con LMHOSTS

Es importante observar que el principal inconveniente del examen con LMHOSTS es que no proporciona automáticamente la capacidad de examen de varios dominios. Como ya se ha dicho, el PDC pedirá a WINS una lista de dominios remotos e incluirá esa información en su lista de examen. Sin embargo, el PDC no analizará el archivo LMHOSTS para obtener la misma información ni incluirá otras entradas \0x1b con la directiva #PRE (caché). De hecho, si el PDC no consulta a WINS, no se verán otros dominios en el Administrador de archivos ni en el Entorno de red. Sin embargo, puede examinar otros dominios manualmente (siempre que sepa el nombre de dominio y tenga entradas especiales en el archivo LMHOSTS) y existe la posibilidad de que pueda examinar dominios remotos basados en difusiones.


Método manual: se consigue incluyendo una entrada \0x1b para el PDC de cualquier dominio remoto que desee examinar. Esta técnica es válida para Windows NT, Windows 95 y Windows para Trabajo en grupo. Resulta efectiva gracias a la secuencia de sucesos siguiente, necesaria para el examen de dominios remotos:


  1. El cliente determina quién es el PDC del dominio remoto mediante el nombre de dominio<1b> (para LMHOSTS esto se consigue teniendo la entrada \0x1b; para WINS se hace mediante consulta).
  2. El cliente envía una solicitud API GetBackupList al PDC remoto
  3. El PDC remoto responde con una lista de hasta tres examinadores principales, en la que puede incluirse a sí mismo.
  4. El cliente envía una solicitud API NetServerEnum a uno de los examinadores principales
  5. El examinador principal responde con su lista de examen de todo el dominio.
El "método manual" de obtener la lista de examen se realiza a través de la ventana de comandos:
Para equipos de Windows NT: c:\net view /dominio:<NombreDominio>

Para Windows 95 y Windows para Trabajo en grupo: c:\net view /GrupoTrabajo:<NombreDominio>
Método de difusión: Funciona para cualquier segmento de red que tenga miembros de varios dominios. Hay un SegMB de cada dominio en el segmento "mutuo", y cada SegMB anuncia su dominio mediante difusión a un nombre especial de NetBIOS, <01><02>_MSBROWSE_<02><01>. Este paquete de difusión incluye el nombre de dominio y el nombre de equipo del SegMB que lo anunció.


Los SegMBs de otros dominios (en este segmento mutuo) escuchan esta información y la agregan a sus listas de examen locales. Un SegMB de este segmento "descubre" así otros dominios y envía la información que ha obtenido: al DomMB de su dominio y a clientes locales (de su dominio) que solicitan una lista de examen.


Un cliente solicita la lista de examen de dominios local (de un SegMB local) y visualiza los dominios descubiertos en el Administrador de archivos y el Entorno de red. Cuando el cliente selecciona el dominio descubierto, solicita directamente una lista de examen al SegMB que hizo el anuncio en el paquete <01><02>_MSBROWSE_<02><01>. Además, como la información se envió también al DomMB del cliente, se propaga a los SegMB de otros segmentos que forman parte de este dominio.


Los clientes de un segmento remoto pueden aprovechar esta información y examinar el dominio remoto a pesar de que no hay ningún miembro del dominio remoto en su segmento. Con todo, este proceso es muy inestable utilizando archivos LMHOSTS, porque depende de que los "SegMB remotos descubiertos" continúen activos. En un entorno WINS, esta característica de examen remota es mucho más estable, ya que WINS ofrece información sobre los dominios remotos al PDC.


Aspectos que hay que tener en cuenta:


  1. Para que el inicio de sesión de dominio y el examen de dominios funcionen mediante LMHOSTS, todos los equipos requieren un archivo LMHOSTS que incluya entradas para todos los controladores de dominio y entradas \0x1b correctas, mientras que el PDC necesita una entrada para cada examinador principal de segmento remoto (si es que no aparecen en la lista).
  2. Lo más probable es que todos los equipos de WAN estén en la lista. La mejor manera de hacer esto es tener un archivo LMHOSTS común que se distribuya a todos los clientes y servidores; sin embargo, deberá actualizarlo con todos los cambios de direcciones IP necesarios, lo que podría suponer más trabajo administrativo.
  3. El hecho de ver un equipo en la lista de examen no implica que pueda conectarse a él. Si se encuentra en el segmento local, se puede obtener conexión mediante difusión; si se encuentra en un segmento remoto, se necesita una entrada LMHOSTS para ello.
Propiedades

Id. de artículo: 150800 - Última revisión: 01/14/2004 - Revisión: 1

Comentarios