windows的computer browser服务维护着一个网络资源的清单,其中包括基于windows的域、工作组和计算机,还有其他支.netbios协议的网络设备,“网上邻居”显示的内容正是来源于此。在基于windows 2000的网络中,活动目录(active directory,ad)取代了computer browser服务。但是,如果网络由win2k和win nt混合构成,且包含非win2k的域控制器,或者网络上某些客户端不支持ad,computer browser服务仍是必不可少的。
在运行computer browser的环境中,ip网络的域的主浏览器与网段的主浏览器交互,借.netbios名称解析和几个特殊.netbios名称,装配出成员机器和设备的列表。要顺利解决computer browser服务运行中出现的问题,就必须掌握必要的工具,熟悉应当采用怎样的步骤来检测故障。
一、诊断工具
微软提供了两个专门用来监视和检测浏览服务的工具:browser monitor(即browmon.exe),和browser status(browstat.exe)。应当注意的是,在多协议网络中,这两个工具都只报告本地机器支持的协议的浏览列表。
browmon是一个gui工具,win nt 4.0和win 2k的资源工具包都提供了这个工具。browmon针对每一个要求监视的域,显示出各个协议的浏览子系统的状态,如图一所示。双击一种协议显示出图二的详细信息,包括主、后备浏览器的名称和每一个浏览器上域、服务器的清单。
图一
图二
browmon能够按照用户指定的间隔自动刷新浏览列表,利用browmon可以快速找出域的主浏览器和后备浏览器。
browstat比browmon还要强大,除了显示浏览列表之外,它还能够强制执行选举和复位主浏览器。nt 4.0资源工具包提供了browstat的一个早期版本,win 2k资源工具包提供了browstat的一个升级版本。两个版本的故障检测能力基本相同,但win 2k的版本用起来方便一些。nt 4.0提供的browstat要求在每一个命令中提供协议名称。协议名称可以通.net config rdr命令获得。例如,假设在一台win 2k pro机器上执.net config rdr命令的结果如图三所示,如果要用nt 4.0版本的browstat显示出后备浏览器清单,应当执行:browstat gb.netbt_tcpip_{4c8ba126-9bf4-476d-8bdb-3bb8548347b3}。(其中gb即为getblist,它是browstat的一个子命令,用来提取后备浏览器的清单)。
图三:
win2k版的browstat有一个dum.net子命令,能够显示出协议名称并分别赋予一位数字的协议编号,所有browstat其他子命令中的协议名称都可以用这个协议编号替代。例如,假设browstat dum.net命令赋予上述协议的编号是1,则提取后备浏览器清单时,只需执行browstat gb 1就可以了,如图四。
图四
二、配置要点
为了减少computer browser服务运行中可能出现的问题,建议按照如下规则进行配置。
㈠对于所有拥有一个以上适配器和ip地址的机器,把hkey_local_machine\system\currentcontrolset\services browser\parameters\maintainserverlist注册子键设置成no,使得该机器不会获得任何浏览器角色(包括主浏览器、后备浏览器)。
㈡确定每一个网段中的哪些机器是主浏览器。在每一个网段中,选取一到二台服务器,把它的hkey_local_machine\system\currentcontrolset\services\browser\parameters\isdomainmaster注册子键设置成true。如果网段只有一台服务器,选取一到二台工作站作为浏览器,以防服务器关机。注意浏览器选举的决策过程:只有当网段中不存在服务器时,才会根据isdomainmaster=true让工作站赢得浏览器选举。
㈢确保每一个网段的主浏览器能够找到域的主浏览器——即,能够解析domain_name<1bh>.netbios名称。网段主浏览器可以通过wins系统或ad找到域的主浏览器。如果既没有wins也没有ad,则应当为网段中每一个潜在的浏览器配置lmhosts文件。
假设域.netbios名称是mydomain,pdc.netbios名称是dc1,ip地址是192.168.0.1,lmhosts文件的内容如下所示:
192.168.0.1 "mydomain \0x1b" #pre
192.168.0.1 dc1 #pre #dom:mydomain
第一行内容显式地配置了domain_name<1bh>.netbios名称解析方式。注意,域名(包含从第16个字符开始的十六进制值,中间用空格补足位数)必须用引号包围。第二行表示dc1是mydomain的dc,并要求生成一个mydomain<1ch>的组纪录。准备好lmhosts文件后,执行nbtstat -r装入lmhosts文件,执行nbtstat -r显示验证修改结果。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器