电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

利用WINS实现包含多个子网的NT域


发布日期:2019/9/23
 

有一些网络知识的人都知道微软的TCP/IP实际上是通过NetBIOS实现的这就使得Windows操作系统在网络应用上存在一定的局限例如NetBIOS使用广播(Broadcast)进行通信而普通的广播是无法通过路由器的也就是说两个子网没法通过NetBIOS联络为了解决这个问题微软使用了一种称为Windows Internet Name Service的服务来对网络中的计算机进行NetBIOS名字和IP地址的解释

当一个配置了WINS服务器的计算机(这被称之为WINS有效的)启动时它会根据WINS服务器地址发送一个叫做名字注册请求的WINS信息这个请求包含了它自身的NetBIOS名字和IP地址当WINS服务器收到这个信息就会在WINS数据库中检查是否已有该名字如果该名字已存在WINS服务器就向注册该名字的计算机发送一个查询如果收到响应WINS服务器就会发送一个信息给要求注册这个名字的计算机告诉他已有人注册如果数据库中没有这个名字的记录或已注册的主机没有响应WINS服务器就发送一个肯定的响应及TTL给该客户机那么这个名字就注册成功了

说了这么多WINS到底有什么作用呢?我们可以利用它来实现一个包含多个子网的NT域我想这大概是WINS最有用的功能了

前面已经说过了NetBIOS的名字是无法跨越子网的这样我们在网上邻居中就看不到在同一域同一工作组中的其他子网的机器而且如果NT的主域控制器在子网A那么子网B中的计算机将无法登录到NT域下面就以一个例子来说明

两个子网A/和B/域和工作组都设为TEST路由器IP为主域控制器和WINS服务器都在子网A中两个子网通过一台Linux路由器连接路由器上的规则为所有的包都可以通过(实际上只需要与NetBIOS有关的几个端口的包能正常通过就行了)在没有设置WINS的情况下子网B中的计算机无法浏览到子网A中的机器也不能登录到域中这时把两个子网中所有机器的WINS服务器地址都设为同一个假设是然后(很重要的一点)要给每台机器添加到另一个子网的路由例如这台机器(Windows)要执行route add mask 以此类推重新启动后(注意要先启动WINS服务器)子网B中的机器就能够正常登录到TEST域了而且在网上邻居中也能正常浏览所有的机器

在实践中有这样一个问题如果可能的话最好是把路由器用作WINS服务器因为它能直接连接到各个子网如果不行的话要注意为WINS服务器添加相应的路由这时解析的速度可能会稍慢不过登录域没有任何问题

上一篇:动态域名解析——DNS2Go

下一篇:Windows Server 2003跨树信任关系