在NT上安装和设置WINS服务器详解(下)
为了便于管理,“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. 新发送伙伴默认配置
在此,可以为每个新的发送伙伴指定“更新计数”的默认值。该计数值是指在发送伙伴的数据库中,必须至少更新了多少次数据记录之后,才会进行发送数据的操作。参见前面。
八. 管理WINS数据库
1. WINS数据库文件所在位置
在NT 4.0 Server上,WINS数据库文件位于\WINNT\System32\Wins目录下,\WINNT为NT的系统根目录,见图15。其中,Wins.mdb便是WINS数据库的主文件,Winstmp.mdb是WINS服务器运行时使用的临时文件,j50.chk是一个审核点(checkpoint)文件,j50.log是用于记录数据库变动情况的文件(见前面的“启用记录”设置)。
图15 WINS数据库文件所在位置 (tp15.tif)
2. WINS数据库的显示
你可以显示WINS数据库中正在运行的和静态映射的各种映射关系。具体步骤如下。
A. 在“WINS管理器”中,打开“映射”=>“显示数据库”子菜单,便会弹出图16所示的“显示数据库”窗口。在映射列表中,“A”(Active)表示正在运行,“S”(Static)表示静态映射;
图16 “显示数据库”窗口 (tp16.tif)
B. 在图16的“所有者”区中,若选择默认的“仅显示选定所有者的映射”选项,则还必须在“选择所有者”列表中选择一台WINS服务器;若选择“显示所有映射”选项则不用。这里的“所有者”是指产生映射关系的WINS服务器,它所显示出来的映射关系不是由复制得来的;
C. 在“排序方式”区中,你可以选择映射列表的多种排序方式;
D. 可以单击“设置过滤器”按钮设置只显示部分映射关系,可以采用192.168.*.*和WS*等形式,这与“静态映射”窗口中的过滤器设置类似。如果要清除过滤器的限制,单击“清除过滤器”按钮即可;
E. 还可以单击“刷新”按钮,以更新窗口中显示的内容。
3. 手工重整WINS数据库
当WINS服务器使用一段时间后,必然会造成数据分布零乱,为了确保数据库的正确性并提高效率,有必要定期重整WINS数据库,这有点类似于定期整理硬盘碎片一样。在NT 4.0 Server中,当前面所设置的“更新间隔”、“废弃间隔”、“废弃超时”、“验证间隔”等期满时,系统便会在后台自动进行相应的重整工作。另外,也可以在“WINS管理器”中打开“映射”=>“开是清除”子菜单来进行手工整理。
4. 手工备份WINS数据库
前面在配置WINS服务器时,如果指定了“数据库备份路径”,WINS服务器每隔24小时或在关闭WINS管理器时将会自动把完整的数据库备份到此目录中。此外,也可以手工备份WINS数据库,具体步骤如下。
A. 在“WINS管理器”中,打开“映射”=>“备份数据库”子菜单;
B. 当出现“选择备份目录”对话框时,请确定要将数据备份到哪一个磁盘、目录中;
C. 单击“确定”按钮。
5. 手工恢复WINS数据库
当你发现WINS数据库有问题时,你便可以利用已备份的数据手工恢复WINS数据库,具体步骤如下。
A. 在“WINS管理器”中,打开“映射”=>“还原本地数据库”子菜单;
B. 当出现“选择还原目录”对话框时,请确定已备份的数据位于哪一个磁盘、目录中;
C. 单击“确定”按钮。
6. 手工迁移WINS数据库
你还可以将WINS数据库复制到另外一台WINS服务器上使用。方法是将整个WINS数据库目录复制过去,不过必须复制到相同的驱动器和路径下。如果要复制到不同的驱动器和路径下,就只复制WINS数据库的主文件Wins.mdb,而不要复制.log和.chk文件。
九. 设置工作站的WINS功能
WINS服务器设置好之后,工作站才能够使用WINS功能。下面,我们将说明如何设置常用的几种工作站的WINS功能,其它工作站的设置可参阅清华大学出版社于1997年8月出版的《Windows NT Server 4.0中文版专业指南》的第2章。
1. 设置DOS工作站的WINS功能
DOS工作站需要先使用“Microsoft Network Client V3.0 for MS-DOS and Windows”(两张软盘的安装磁盘组)来安装TCP/IP协议。安装好后,请修改其PROTOCOL.INI文件,比如你有两台WINS服务器,便需要在其[TCPIP]段中加入下面两行
WINS_SERVER0=192.168.0.1
WINS_SERVER1=192.168.3.1
2. 设置Windows 98工作站的WINS功能
这里以Windows 98中文版为例,Windows 95也类似。在安装或设置TCP/IP协议时,依次选择“控制面板”=>“网络”=>“TCP/IP”=>“属性”=>“WINS配置”,然后选择“启用WINS解析”,并输入一个或多个WINS服务器的IP地址,见图17。
图17 设置Windows 98工作站的WINS功能 (tp17.tif)
3. 设置Windows NT 4.0工作站的WINS功能
在安装或设置TCP/IP协议时,依次选择“控制面板”=>“网络”=>“协议”=>“TCP/IP通讯协议”=>“属性”=>“WINS配置”,然后输入主、二级WINS服务器的IP地址,见图18。
图18 设置NT 4.0工作站的WINS功能 (tp18.tif)
4. 为DHCP工作站提供WINS功能
在以前的文章《在NT中安装和设置DHCP服务器详解 (2000/1/17第一稿)》中曾提到,在DHCP服务器上设置DHCP工作站的工作环境时,只有6个DHCP选项适用于微软用户。其中有三项与WINS有关,第一项“044 WINS/NBNS服务器”便是用于为DHCP工作站指定WINS服务器,输入时单击“数值”=>“编辑数组”按钮,便可以输入一个或多个WINS服务器的IP地址,见图19。NBNS是NetBIOS Name Server的缩写,也即WINS服务器;第二项“046 WINS/NBT节点类型”是用于设置DHCP工作站的节点类型的,这在上一篇文章《TCP/IP网络中的名字解析机制 (2000/2/7修订稿二)》中已经提到;第三项“047 NetBIOS作用域ID”见后面。
图19 为DHCP工作站提供WINS功能 (tp19.tif)
为了给DHCP工作站提供WINS功能,除了要在DHCP服务器上进行设置外,还需要在DHCP工作站上进行相应的设置。比如在Windows 98中文版中(Windows 95也类似),在安装或设置TCP/IP协议时,依次选择“控制面板”=>“网络”=>“TCP/IP”=>“属性”=>“WINS配置”,然后选中“使用DHCP进行WINS解析”即可,参见图17。
5. 关于WINS工作站的“作用域ID”(“区域标识符”)
在上一篇文章《TCP/IP网络中的名字解析机制(2000/2/7修订稿二)》中曾经提到,NetBIOS名是一种非层次的名字空间,在整个网络中都必须保持计算机名的唯一性。这在大型网络和广域网中极为不便,比如要求在整个网络中、甚至全世界都只能有一台计算机命名为www。而在层次化的DNS域名空间中,只要是在不同的域中便可以使用相同的名字,正因为如此,在大型网络和广域网中使用的大都是DNS域名空间。
微软公司也清楚地意识到了这一点,于是便提供了一种弥补措施。这一措施将NetBIOS名字空间中的计算机进行分组,使用一个任意的数字来标识某台计算机所属的组,这个数字便是WINS工作站的“作用域ID”,也称为“区域标识符”、“区域ID编号”等,参见图17、图18。这一措施并规定只有哪些区域标识符相同的计算机之间才能相互通信。这样,在不同区域中便可以使用相同的计算机名。但是,这一措施带来的问题是不同区域的计算机之间不能相互通信。而DNS域名空间里不同层次中的计算机之间却能够很好地通信,可见,微软的NetBIOS名字空间在这方面的发展,至此已经走到了尽头。
在WINS工作站上设置“作用域ID”可参见图17、图18。在上面提到的适用于微软用户的6个DHCP选项中,有一项“047 NetBIOS作用域ID”便是用于设置DHCP工作站的“作用域ID”的,参见图19。一般情况下没有必要去设置WINS工作站的“作用域ID”,这里之所以提到这个问题,主要是为了帮助读者理解两种不同名字空间的异同。
6. 测试WINS服务器是否正常工作
当WINS服务器和工作站都设置好后,便可以进行WINS服务器的测试工作。你先可以使用上述的“显示WINS数据库”的方法,检查WINS工作站是否能够正常地向WINS服务器注册登记。
然后,可以使用PING等命令测试一下是否能够利用计算机名与其他计算机通信。在进行WINS服务器的通信测试时,应该注意以下两个问题,否则可能会造成误判。第一是,由于在本子网中也可以利用广播方式来通信,但广播方式无法跨越路由器,所以,必须利用与其它子网中的计算机通信的方式,才能测试WINS服务器是否正常工作;第二是,NT上的WINS服务器默认采用H节点类型,在名字解析时,若使用WINS方式失败则可以使用广播方式,若再失败还可以查询也可跨越路由器的LMHOSTS文件。
所以,在测试WINS服务器时较为可靠的方法是,先将本地(执行测试命令的计算机)LMHOSTS文件更名或删除,然后再与其它子网中的计算机进行通信。假如在其它子网中计算机D的计算机名是LIFAN,IP地址是192.168.3.124,以前你使用ping 192.168.3.124来测试,现在便可以使用ping LIFAN来测试。
十. 设置WINS中继代理1. WINS中继代理的具体作用
在微软网络中,只有WINS工作站才能直接通过WINS服务器来登记和查询名字,而要使非WINS工作站也能够利用WINS服务器,就必须通过WINS中继代理(WINS Proxy)。如果网络中安装有WINS Proxy,当它收到本子网内非WINS工作站查询IP地址的广播信息后,它便会试着转向本子网内的WINS服务器询问,若本子网内没有WINS服务器,它还会转向其它子网中的WINS服务器询问。当收到WINS服务器传来的IP地址后,WINS Proxy再将此结果传给非WINS工作站,并同时将此结果Cache一份在其缓存之中(只能保留6分钟),以供下次查询此相同数据时使用。WINS中继代理的作用有点类似于DHCP中继代理程序的作用。
另外,WINS工作站又是如何与非WINS工作站通信呢?这还是可以利用WINS服务器,不过需要事先将非WINS工作站的计算机名和IP地址,以静态映射的方式输入到WINS服务器的数据库中(见前面)。
2. 如何设置WINS Proxy
在微软的操作系统中,Windows for Workgroups 3.11、Windows NT 3.5x、Windows NT 4.0等都可以设置为WINS Proxy。对于前两种Windows,在其高级TCP/IP配置窗口中都有WINS Proxy的设置项,可以在此直接进行设置。
在NT 4.0中便没有了这一设置项,需要通过修改注册表来设置WINS Proxy功能。在NT 4.0的注册表中找到下面的主键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters,
然后将该主键下的双字节键值“EnableProxy”修改为1,再重新启动机器即可。见图20。
图20 在NT 4.0中设置WINS Proxy功能 (tp20.tif)
结束语
由于笔者水平和条件的限制,文中错误和不足再所难免,恳请广大读者指正。