故障分析-在NT上安装和设置WINS服务器 [1]

在NT上安装和设置WINS服务器

一. WINS服务器有何作用

1. 什么是WINS服务器?
WINS(Windows Internet Name Service)服务器主要用于NetBIOS名字服务,它处理的是NetBIOS计算机名(Computer Name),所以也被称为NetBIOS名字服务器(NBNS,NetBIOS Name Server)。WINS服务器可以登记WINS-enabled工作站(下面简称为“WINS工作站”)的计算机名、IP地址、DNS域名等数据,当工作站查询名字时,它又可以将这些数据提供给工作站。

2. WINS名字服务的优势
在各种名字解析方式之中,WINS名字服务具有一些优点。首先,WINS名字服务是以点对点的方式直接进行通信的,并可以跨越路由器访问其他子网中的计算机,这便克服了广播查询无法跨越路由器和加重网络负担的不足;其次,与静态处理域主机名(Host Name)的DNS服务器不同,WINS名字服务还是一种很少人工干预的动态名字服务;第三,WINS名字服务不仅能够用于NetBIOS名字查询,而且还可以辅助域主机名(Host Name)的查询,我们可以结合DNS和WINS服务器的好处进行Internet域名查询,因此WINS又被称为Windows 网际名称服务。

3. WINS名字服务的应用和未来
正因为具有上述优点,所以WINS服务器在TCP/IP网络(包括Internet)的名字解析中得到了广泛的应用。WINS服务器主要是基于Windows NT 4.0 Server,在Windows NT 5.0 Server中也继续提供WINS服务,并在原有的WINS基础上增加了许多新的特性,使得新的WINS能够在路由环境下的TCP/IP网络中更好地实现动态NetBIOS名字解析。

二. WINS服务器的运行机理

1. WINS工作站如何注册(Register)

当WINS工作站启动时,它会利用点对点方式向WINS服务器发出注册请求,要求将其计算机名、IP地址、DNS域名等注册登记到WINS服务器的数据库中。WINS工作站发出注册请求后,它可能收到几种不同的回答。

A. 没有回答(No Response)。这样WINS工作站就应继续发送另外一个注册请求;
B. 接受(Positive)。如果WINS工作站请求登记的名字还未登记的话,WINS服务器便会接受登记,并返回一个包含TTL(Time to Live)时间的Positive信号;
C. 不接受(Negative)。如果WINS工作站请求登记的名字已经登记的话,则WINS服务器便会向拥有该名字的工作站发送一个询问(Challenge)信息。如果WINS服务器收到拥有该名字的工作站的回答的话,WINS服务器将不会接受WINS工作站的注册请求,并给它发送一个Negative信号。

2. WINS工作站如何更新(Renew)其注册数据

WINS工作站登记的名字都有一个使用期限(即TTL时间),该期限可以在后面提到的“更新间隔”中设置。WINS工作站必须在期满前更新其注册数据,以便继续使用该名字。更新之后,已注册的名字的使用时间便会重新设置为“更新间隔”中所设置的时间。WINS工作站一般是在“更新间隔”过一半时自动向WINS服务器发出更新请求。

3. WINS工作站如何释放(Release)名字

当WINS工作站正常关机时,便会以点对点方式通知WINS服务器,将其名字从WINS服务器的数据库中注销。

4. WINS工作站如何查询名字

在NT网中,当WINS工作站需要查询与某个名字相对应的IP地址(即进行名字解析)时,可以根据不同的节点类型(B、P、M、H)使用六种方法的不同组合来完成。在这六种方法中,前四种(本地缓存、广播、WINS、LMHOSTS)属于NetBIOS查询方式,该方式主要用于查询计算机名,也可以辅助域名的查询;后两种(HOSTS、DNS)属于DNS域名查询方式,该方式主要用于查询域名,也可以辅助计算机名的查询。

三. 在NT上安装WINS服务器

1. 安装WINS服务器所需要的条件
在安装WINS服务器之前,必须具备两个条件。第一,WINS服务器只能安装在Windows NT Server上,而不能安装在Windows NT Workstation上;第二,Windows NT Server必须已经安装好TCP/IP协议,并采用固定的IP地址和子网掩码连入网络之中(即不应该是DHCP客户机)。如果 WINS 服务器装有多块网卡,则每块网卡都要有一个固定的IP地址并保持原有的绑定顺序。如NT服务器使用固定IP地址 192.168.0.1,子网掩码是255.255.255.0。

2. 安装WINS服务器的具体步骤
以管理者身份登录NT服务器,打开“控制面板”=>“网络”=>“服务”=>“添加”窗口,在“选定网络服务”对话框中,添加“Windows网际名称服务”,输入NT Server安装程序所在的源路径,安装程序在进行了网络绑定之后,便会弹出一个“更改网络设置”对话框,请选择“是”重新启动计算机。

四. 设置各项配置

打开“开始”=>程序”=>“管理工具”=>“WINS管理器”,在其左面的“WINS服务器”子窗口里双击鼠标左键选中一个WINS服务器的IP地址,在右面的“统计”子窗口中便会显示该WINS管理器的统计数据。要设置WINS服务器的各项配置,打开“服务器”=>“配置”子菜单,当出现“WINS服务器配置”窗口后,单击“高级”按钮,下面将分别说明各个选项的意义。

1. “WINS服务器配置”子窗口
●“更新间隔”(Renewal Interval),是用于设置WINS工作站必须重新登记其名字的时间间隔(即TTL时间),默认是6天(144小时)。在此期间,如果WINS工作站未进行重新登记,则此名字便会被设置为“已释放”(Released)。该“更新间隔”不宜设置得过短,那样会增加网络负担。一般情况下,只要WINS工作站正常注销(Logoff),WINS服务器便会自动将此名字设置为“已释放”。但是,如果WINS工作站非正常关机(如直接关掉电源),则WINS服务器要等到“更新间隔”期满后再将此名字设置为“已释放”。
●“废弃间隔”(Extinction Interval),在WINS服务器上,已经被设置为“已释放”的名字,经过此“废弃间隔”时间后,便会被设置为“废弃不用”。
●“废弃超时”(Extinction Timeout),在WINS服务器上,已经被设置为“废弃不用”的名字,经过此“废弃超时”时间后,便会被从WINS服务器的数据库中清除。
●“验证间隔”(Verify Interval),经过此时间后,必须验证那些不属于此WINS服务器的名称是否仍然活动,对未活动的名字将进行清除处理。

2. “接受参数”子窗口
“接受参数”是用于设置WINS服务器如何从其发送伙伴接收数据副本,该子窗口包括两项。
若选中“初始复制”选项,则在系统启动或更改同复制有关的参数时,WINS 服务器将接收来自其发送伙伴的数据副本。
“重复次数”是用于设置WINS服务器在尝试连接其发送伙伴时,如果连接失败应该重试几次。重试的时间间隔是在“首选项”的“复制间隔”中设置的,若重试完指定次数后仍然失败,服务器将停止一段时间后再次重试,这段时间大约是“复制间隔”的3倍。

3. “发送参数”子窗口
“发送参数”是用于设置WINS服务器如何向其接收伙伴发送数据副本,该子窗口包括两项。
若选中“初始复制”选项,则在系统启动时,WINS 服务器将会把它的数据库状态通知其接收伙伴。若选中“地址更改时复制”选项,则当映射记录地址发生改变时,WINS服务器将会把它的数据库状态通知其接收伙伴。

4. “高级服务器配置”子窗口
●“启用记录”(Logging Enabled),用于设置是否记录数据库的变动情况,它是记录到J50.LOG文件中。
●“记录详细事件”(Log Detailed Events),用于设置是否以详细方式记录事件。详细方式会占用许多系统资源影响系统性能,一般不选用。
●“仅对伙伴复制”(Replicate Only With Partners),用于设置是否只对该WINS服务器的“复制伙伴”复制数据库,对非“复制伙伴”就不复制。若未选择此项,则可以将数据库复制给网络中所有的WINS服务器。
●“退出时备份”(Backup On Termination),用于设置在关闭“WINS管理器”时自动备份数据库。
●“转移打开/关闭”(Migrate On/Off),如果选择此项将会把WINS服务器数据库中的静态记录当作动态记录,在WINS工作站登记时,这些静态记录便可能被覆盖。如果你是从非NT系统更新到NT系统,则可选择此项。
●“启动版本计数”(Starting Version Count),用于设置该WINS服务器数据库的最高版本号。当该WINS服务器的复制对象要从该WINS服务器上复制数据库时,若发现此版本号较旧,则不需要复制。一般系统会自动更新该版本号,只有在数据库出现问题是才需要进行手工设置,此时需要到各个复制对象上查询数据库的版本号,然后在此设置一个比查到的所有版本号更高的版本号,以作为各复制对象判断是否要进行数据库复制的依据。
●“数据库备份路径”(Database Backup Path),用于设置数据库备份的路径。WINS服务器每隔24小时或在关闭WINS管理器时自动将完整的数据库备份到此目录中,请不要将该目录设置在网络驱动器上。

五. 管理多台WINS服务器

在一台WINS服务器上,我们还可以利用“WINS管理器”来管理网络上的其它WINS服务器,具体步骤如下。

A. 打开“WINS管理器”,选择“服务器”=>“添加WINS服务器”子菜单;
B. 在弹出的“添加WINS服务器”窗口中,请在“WINS服务器”文本栏里填入要管理的其它WINS服务器的IP地址或NetBIOS计算机名称(如192.168.3.1或server2),再单击“确定”按钮;
C. 若所指定的WINS服务器已经在网上便会自动添加成功,否则还会弹出一个“验证WINS服务器”窗口,要求手工输入相对应的NetBIOS计算机名称或IP地址并且还会报错;
D. 添加完成后,在“WINS管理器”左面便会多出一台服务器。

六. 管理WINS服务器之间的数据复制

虽然在整个网络中可以只有一台WINS服务器,但是为了克服WINS服务器发生故障时无法进行服务和只用一台WINS服务器网络负担过重的弊病,最好在网络中安装两台以上的WINS服务器。我们可以把WINS客户机分成几个部分,每一个部分的WINS客户机只向一个特定的WINS服务器注册,而各台WINS服务器的数据又可以相互复制相互备份,这样,便可以在网络中保持多份相同的数据库,从而提供容错功能并可以分担WINS客户机注册和查询时的网络流量。下面便介绍数据复制的有关内容。

1. 两种复制伙伴
要进行数据复制,我们需要设置WINS服务器的“复制伙伴”(Replicate Partners),以确定哪些WINS服务器之间可以进行数据复制。一台WINS服务器可以有两种复制伙伴,它们都必须是WINS服务器。
一种是“发送伙伴”(Push Partners),它会将其数据库中更改过的数据(而不是全部数据)复制给其接收伙伴。发送伙伴在发送数据时,通知其接收伙伴接收数据的方式有两种:到达系统管理员所设置的数据“更新计数”,或者由系统管理员执行立即复制操作。
另一种是“接收伙伴”(Pull Partners),它会接收其“发送伙伴”所传来的数据。它请求其发送伙伴传来数据的方式也有两种:到达系统管理员所设置的复制时间,或者由系统管理员执行立即复制操作

2. 设置复制伙伴的具体步骤
A. 打开“WINS管理器”,在左面的“WINS服务器”子窗口双击鼠标左键选中一个WINS服务器的IP地址;
B. 打开“服务器”=>“复制伙伴”子菜单;
C. 在弹出的“复制伙伴”窗口中,可以在服务器列表中选择另外一个WINS服务器当作其复制伙伴,也可以单击“添加”按钮,将其它的WINS服务器添加到服务器列表中再进行选择;
D. 如果要将选中的WINS服务器当作其“发送伙伴”,便请在下面的“复制选项”中选择“发送伙伴”并单击其右边的“配置”按钮。当弹出的“发送伙伴属性”窗口后,在其“更新计数”文本栏中输入适当的数值,再单击“确定”按钮。该计数值是用于设置在发送伙伴的数据库中,必须至少更新了多少次数据记录之后,才会进行发送数据的操作;也就是说,在数据记录的更新次数还未达到此计数值之前,发送伙伴不会进行发送数据的操作;
E. 如果要将选中的WINS服务器当作其“接收伙伴”,便请在下面的“复制选项”中选择“接收伙伴”并单击其右边的“配置”按钮。当弹出的“接收伙伴属性”窗口后,在其“启动时间”(hh:mm:ss)栏中输入每天开始进行数据复制的时间,并在“复制间隔”(hh:mm:ss)处输入此后每隔多少时间复制一次。输入完后再单击“确定”按钮。
F. 当回到“复制伙伴”窗口后,需要单击“确定”按钮以保存所作的设置。需要注意的是,“复制伙伴”的设置必须是相互的,也就是说,如果你将WINS服务器A设置为服务器B的接收伙伴,也必须相应地将服务器B设置为服务器A的发送伙伴。否则便会造成人们所说的“单相思”。

3. 立即复制数据库
如果你不想等到更新次数足够或者复制时间到达时才进行数据复制操作,你还有两种选择。
一种方式是使用发送复制触发器(Replication Trigger)。如果你要向“接收伙伴”发送复制触发信号,请选中一个要接收触发信号的接收伙伴,再在“开始发送复制触发器”(Send Replication Trigger Now)区中单击“发送”按钮即可。如果你希望将此触发信号发送给所有的接收伙伴,便可以同时选中“发送且传播”(Push with Propagation)选项;如果你要向“发送伙伴”发送复制触发信号,请选中一个要传送触发信号的发送伙伴,再在“开始发送复制触发器”区中单击“接收”按钮即可。

另一种方式是强迫进行立即复制(Replicate Now),可以通过单击“立即复制”按钮来实现。

七. 管理WINS服务器中的静态映射

WINS服务器是一种动态名字服务。当WINS工作站启动时,才会将其计算机名和IP地址登记到WINS服务器的数据库中,并且还需要定期更新,不然便可能被除名。不过,你也可以在WINS服务器中使用静态映射方式,在数据库中自行建立计算机名与IP地址的静态对应关系。这种静态映射关系将永远存在,不用担心会被除名,除非是系统管理员将其删除。

1. 使用静态映射的注意事项
第一点,你只能对Non-WINS-enabled工作站(下面简称为“非WINS工作站”)使用静态映射。这样,当WINS工作站向WINS服务器查询此非WINS工作站的IP地址时,就可以由WINS服务器提供;
第二点,非WINS工作站向WINS服务器查询工作站的IP地址,必须通过WINS中继代理(WINS Proxy)的帮助;
第三点,如果网络中同时存在DHCP与WINS服务器,则DHCP服务器中的“保留IP地址”设置将优先于WINS服务器中的静态映射关系。

2. 添加静态映射的具体步骤
A. 打开“WINS管理器”,在左面的“WINS服务器”子窗口中双击鼠标左键选中一个WINS服务器的IP地址;
B. 打开“映射=>静态映射”子菜单,在弹出的“静态映射”窗口中单击“添加映射”按钮;
C. 当出现“添加静态映射”窗口时,请在“名称”处输入NetBIOS计算机名称,在“IP地址”处输入对应的IP地址;
D. 从“类型”中选择一个适当的映射类型,有下面5种类型:
n “唯一”(Unique)是指一个计算机名对应一个IP地址;
n “组”(Group)是设置一般的工作组,但WINS服务器不会保存组中每个成员的IP地址,当向WINS服务器查询该组的地址时,得到的将是255.255.255.255广播地址;
n “域名”(Domain Name)也是设置一种组,此组最多可设置保存25个成员的地址,此组名称的资源代码将自动设置为0x1C。资源代码即是NetBIOS名的第16字节,见上一篇文章《TCP/IP网络中的名字解析机制 (2000/2/7修订稿二)》;
n “internet 组”是由用户自定义的组,利用它可以将各种网络资源组成一个组,以便于查询。此组最多可设置保存25个成员的地址,此组名称的资源代码将自动设置为0x20;
n “多宿主”是指同一个计算机名对应于多个IP地址,最多可对应25个。这种情况发生在安装了多块网卡的同一台计算机上,每块网卡都有一个IP地址,但计算机明却是同一个。
E. 设置好以上各项后,单击图11中的“添加”按钮,设置好的静态映射便会添加到WINS服务器的数据库中。此后还可以继续进行添加,若不需要继续添加可单击“关闭”按钮返回“静态映射”窗口,见图12。这时的“静态映射”窗口中便显示出了我们在上面设置的结果,在计算机名后的方括号中的16进制数是NetBIOS计算机名的资源代码。

 

 

图12 设置后的“静态映射”窗口 (tp12.tif)
3. 设置和删除显示过滤器

 

 

在“静态映射”窗口(图12)中,如果只想显示部分内容,便可以单击“设置过滤器”按钮。见图13,图中设置为只显示IP地址以192.168开头的静态映射关系,注意在IP地址的最后两段数字中使用的是星号通配符“*”(Widecard)。也可以在“计算机名”一栏中使用通配符“*”(如WS*)。如果要清除过滤器的限制,单击图12中的“清除过滤器”按钮即可。另外,还可以在图12的“排序方式”区中设置静态映射显示的排序方式。
图13 设置显示过滤器的窗口 (tp13.tif)

七. 管理WINS服务器中的首选项(Preferences)
为了便于管理,“WINS管理器”中提供了许多可由用户设置的选项。在“WINS管理器”中,打开“选项=>首选项”子菜单,在弹出的“首选项”窗口中单击“伙伴”按钮,便会出现如图14的窗口。图中有6个设置框,下面将分别进行说明。

 

 

图14 首选项设置窗口 (tp14.tif)
1. 地址显示
可以在此设置“WINS服务器”列表中所显示的信息,可以设置为仅显示计算机名、仅显示IP地址或者两者都显示等。
2. 服务器统计
可在此设置“统计”窗口中的内容是否自动刷新以及多久刷新一次。
3. 计算机名
在NT中使用与Lan Manager格式兼容的NetBIOS命名方式,所以此处应选中默认的“Lan Manager-兼容”选项。Lan Manager格式的计算机名,是由15个字节的名字+一个字节的资源代码构成的(见上一篇文章《TCP/IP网络中的名字解析机制 (2000/2/7修订稿二)》),而其它系统的NetBIOS名称则是全部占用16个字节。
4. 杂项
如果希望系统在每次启动时都在“WINS服务器”列表中查找可用的WINS服务器,就请选中“启动时验证[已知]WINS服务器的高速缓存”选项;如果希望在每次删除含有静态映射或缓存数据的WINS服务器时,系统都出现警告信息,就请选中“确认删除静态映射&高速缓存的WINS服务器”选项。
5. 新接收伙伴默认配置
在此,可以为每个新的接收伙伴指定数据复制的“起始时间”和“复制间隔”的默认值。参见前面。
6. 新发送伙伴默认配置