扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
MicrosoftDNS服务器和其他一些专门适用于Windows2000/NT的服务器支持WINS记录类型。它不是一个与RFC一致的资源记录。WINS记录的格式与其他记录格式基本相同,但也有一些差别,为了理解WINS及其类似于DNS前向服务器作用,见第16章。在小范围内,当客户机没有使用A记录在DNS上注册而是在一台WINS服务器上注册,此服务器的资源记录能让DNS回答那些由NetBIOS命名的客户机的查询。但必须是在WINS记录位于域区根部的域中才能进行。
WINS和WINS记录在DNS中的使用有许多值得注意的地方,所以有一章专门用来讨论它。在这里要注意在向非MicrosoftDNS服务器(极少情况)进行域区传送时,WINS记录应当被省略,这是RFC的规则来决定的。所以要记住,只有WindowsDNS服务器才知道WINS有什么用途,你的ISP可能不希望在域区传送时将WINS记录传送到它的服务器!
比较好的设计是Windows域的辅服务器也运行MSDNS,而不是UNIX主机的DNS,这样,WINS的记录就可以传送到所有需要它的服务器。这种做法也符合这样的设计规则:主服务器和辅服务器不仅都是授权的,而且它们可以访问所有相同的信息。如果只有一些域名服务器解析域内的WINS地址,客户机将会有不确定的行为。
WINS记录格式的最基本的形式如下所示:
这里,选项值是DNS等待WINS服务器作出回答响应的时间,Windows2000的缺省值是2秒。值是DNS缓存WINS响应的时间长度。Windows2000的缺省值是15分钟(以秒的形式给出)。这两个在使用时都必须用L或C作为值的前缀。LOCAL选项的参数控制域区传送的传播,当此选项在使用WINS记录将不会被传送。注意SOA记录的最小有效时间与WINS记录无关,因为C参数实际目已决定了DNS能保持记录不变的时间。
以下是一个WINS资源记录的例子:
利用WINS查找特性的最简单的方法是通过WindowsDNS管理控制台将一条WINS记录加到域区文件。要加入一条WINS记录,先在DNS管理控制台中选中正确的域区根节点,然后再单击右键从上下文菜单中选择属性(Properties),出现一个新的对话框。在这个域区属性对话框中,选择WINS选项卡就可以添加WINS记录以及输入WINS服务器的IP地址,如图4-9所示。
只使用可靠性较高的WINS服务器,并且要知道DNS在查找失败后必须再向下在WINS服务器上查找,所以它必须和WINS交流,这样你的DNS服务器必须具备相当的能力。如前所述,这样的WINS记录必须在域区根部。这意味着此域区里所有在根域以下的子域都能使用WINS。这样单个的被WINS解析的NetBIOS名字看起来就像多个DNS全域名。这就是为什么建议仅为此目的而单独创建一个域的原因。如图4-10中所示使用了一个新的pc.example.net。在WindousDNS服务器管理控制台中,这样的新域必须作为一个新域区被创建。
4.3.7反向WindowsInternet域名服务器(WINS-R)记录
WindowsInternet域名服务器(WINS)的另一个选项是反向WINS记录,可以简称为WINS-R记录。这种资源记录用在in-addr.arpa域并由WINS为DNS提供反向查找的能力。WINS-R记录的格式和WINS记录很相似,其差别在于存放记录的域区文件不同以及最后一个参数不同。
WINS-R记录的形式如下所示,它的“LOCAL”和“TLMEOUT”选项的意义和WINS记录的相一致。
在WindowsDNS管理控制台中,WINS-R记录通过in-addr.arpa域的域区属性对话框来设置成有效或无效(见图4-10)。选择“WINS-R”选项卡,指定应该加到从WINS得到的主机名后面的域名。选项卡中还有一个选项可以指定WINS-R记录的影响范围,以防止将记录传送到不能理解WINS记录类型的辅服务器。
4.4缓存文件
缓存文件(cachefile)保存根域名服务器的名字和地址。缓存文件有时称为提示文件(hintfile),因为它可以给服务器提供如何解析困难查询的提示。缓存文件并不如它的名字所隐含的那样存放以前解析的结果。缓存文件不能和域名服务器的缓存相混淆,缓存是在查徇被解析时建立的,相反,缓存文件通常包含根服务器的名字和IP地址,对于Internet缓存文件条目是静态的(除非InterNIC增加一个新的根服务器),并且在通过标准的委托授权不能复位一个主机时,它们会给出一些其他可用的DNS服务器,Microsoft文档经常称此为根隐含文件。在Windows2000/NT中,它以名为CACHE.DNS的文件给出。图4-11显示了DNS服务器。缓存文件的内容,坦白地讲,缓存文件作为信息并不是很有用,但它必须存在以使DNS能工作。DNS服务器假设缓存文件里的条目都是合法的,并且是可达的主机。当一台DNS服务器不能到达这些根服务器进行查询解析时,就会导致严重的死循环。
如果使用的是“拆分(split-brain)”式的DNS服务器设计,或者当服务器不和Internet连接时,或者InterNIC根域服务器变化时(这是很少发生的)才需改变缓存文件。可以直接通过FTP从InterNIC来下载,节点地址是:ftp://rs.internic.net/domain/named.root。
保证缓存文件有内容应保证缓存文件是有确定内容的。如果其中没有定义根级服务器,DNS服务器可能陷入死循环。在这种情况下,由于没有定时机制来终止循环,也就不能再解析任何其他的主机。
通过缓存文件访问根域服务器
域名服务器必须尽最大的可能来回答查询,即使它们没有包含可以迅速和直接回答的本地信息。有些递归查询需要DNS服务器从其他地方获得回答。如果在域名树中上溯没有得到结果,缓存文件能使DNS服务器很快地访问根域服务器,从而在树中找到向下查找的途径,到达指定主机的域的授权DNS服务器。
如果网络中的计算机没有连接到Internet或者是使用“拆分”式设计,但仍使用DNS进行主机名的解析,缓存文件仍必须指向根域服务器。如果根域名服务器恰好就在本地网域名树的顶端,则引导配置文件中的缓存指向将不是缓存文件,而是指向一个包含这个域名服务器的名字和IP地址,并作为根域授权的域区文件。这样做是合法的,并且工作得很好。对于不能回答的查询将认为是不存在的域。如果此域名服务器能指向另一个它认为是根服务器的计算机,则查询还可以继续并得到良好的结果。Microsoft推荐的一个可选方案是用一个仅包含“.”或仅包含那些在指定的专用DNS设计中起根服务器功能的服务器的缓存文件。
4.5委托授权
委托授权是指命名一台域名服务器的行为。为一个只有两层的域确定授权服务器时,首先必须做的事是向InterNIC注册。识别子域授权服务器的必要方法是通过父域的委托授权。委托授权将域的主域名服务器和辅域名服务器在Internet上公布,委托它们为授权服务器。委托一个服务器所需要的只是一个NS记录,并且需要这台服务器有合法的A记录。向InterNIC注册一个域的行为实际上是向InterNIC发出的为自己的域里服务器委托授权的请求,这个服务器是在注册模板中指定的。
如果一个域名服务器已被委托为域的授权服务器,则这个域外部的客户机和域名服务器就能找到它并通过它来进行查询。在很少情况下,两台域名服务器,一台主服务器和一台辅服务器,在一个域中都被确认是委托授权的。这并不意昧着所有的辅服务器都必须被委托授权,只有那些要被域外部的计算机访问的域名服务器才需要被授权。
辅服务器也可以只属于域的内部,只有直接配置使用它们的主机才可以向辅服务器提出查询。如果一个域名服务器已是域的授权,但没有确定为可以回答查询的辅服务器,则通过这个服务器进行查询的主机将收到“lamedelegation(不完全委托授权)”的错误信息。
还需要指出的是MicrosoftDNS服务器信息有时使用委托授权和通常情况下不一样。例如,在管理控制器中,称做“newdelegation(新授权)”的任务不仅创建一个NS记录还创建一个子域。在这种情况下,其实是委托授权了一个新子域。
4.6小结
本章描述了DNS所存储的信息,对一些重要的资源记录做了较详细的解释。也讨论了委托授权和授权假设以及缓存(根提示)文件。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者