<转>揭秘DNS后台文件:DNS系列之五

揭秘DNS后台文件

在前面的博文中我们介绍了DNS的体系结构,常用记录,还介绍了辅助服务器的配置,今天我们来介绍一下DNS服务器背后的几个文件。其实DNS服务器的工作完全依靠这几个文件,了解了DNS的后台文件后,有利于更好地理解DNS服务器,也可以让大家明白为什么有高手声称配置DNS最好的工具就是记事本。

DNS服务器所使用的文件并不复杂,一个是Boot文件,负责存储DNS服务器的启动信息;一个是Cache.dns,负责存储根服务器的域名和IP地址;还有一个最重要的文件就是区域数据文件,负责存储区域内的所有DNS记录。这些文件都在\Windows\System32\DNS目录下,我们找到负责解析hexun.com区域的DNS服务器202.99.16.1,来分析一下这个DNS服务器所使用的上述文件。

 Boot文件

首先来看看Boot文件,奇怪的是,在DNS服务器C:\Windows\System32\DNS目录下,我们并没有发现Boot文件,具体如下图所示,这时为什么呢?

这时因为DNS的引导信息可以有三种保存的途径,一是可以保存在Boot文件,二是可以保存在注册表,三是可以保存在Active Directory。微软可能是怕用户误删除了Boot文件,因此默认情况下把引导信息用另外两种方式保存。如果我们想查看Boot文件的内容,首先要修改DNS服务器引导信息的保存方式。如下图所示,在DNS管理器中选择查看DNS服务器的属性。

在DNS服务器属性中切换到“高级”标签,如下图所示,选择从文件加载区域数据,这样DNS服务器就会把启动信息写到Boot文件中。

如下图所示,Boot文件终于出现了!

用记事本打开boot文件查看一下,其实内容很简单,Primay代表DNS服务器是当前区域的主服务器,从Boot文件可以看到,当前的DNS服务器是hexun.com区域的主服务器,同时也是16.99.202.in-addr.arpa区域的主服务器。但并不是根域的DNS服务器,要想解析根域,需要依靠cache.dns,chache.dns中记录了13个根服务器的域名和IP地址。

202.99.16.2是hexun.com的辅助服务器,我们看看它的Boot文件内容是什么。如下图所示,secondary表示是当前区域的辅助服务器,主服务器是202.99.16.1,根域的解析也是要依靠cache.dns中的13个根服务器。

总结:看了两个例子,我们发现DNS服务器中的Boot文件其实很简单,就是描述了当前的DNS服务器负责哪些区域,是区域的主服务器还是辅助服务器,区域数据文件放在哪里等问题。我们完全可以利用Boot文件控制DNS启动时加载的区域数据,也可以改变DNS服务器的角色,例如从辅助服务器改为主服务器。

  Cache.dns

以前我们介绍DNS体系结构时曾经描述过域名解析的过程:DNS服务器发现一个域名自己不能解析,就会把这个查询提交给根服务器,根服务器通过迭代方式可以让DNS服务器最终找到答案。这个过程中有个关键问题,DNS服务器怎么知道谁是互联网上的根服务器呢?答案现在就可以揭晓了,Cache.dns中存储了13个根服务器的域名和IP地址!这13个根服务器除了在东京,伦敦,斯德哥尔摩各有一台,其余都在美国。

如下图所示,Cache.dns中描述了13台服务器的完全合格域名以及IP地址,其中@是个缩写,代表当前区域,也就是根域。每个服务器用两条记录描述,一条记录是NS记录类型,一条是A记录类型。NS记录说明谁是根域的DNS服务器,A记录说明这台DNS服务器的IP地址是多少。

Cache.dns的内容也可以通过DNS服务器属性中的“根提示”来查看,如下图所示,我们查看DNS服务器的属性,在属性中切换到“根提示”标签,所看到的内容就是cache.dns中所描述的13个根服务器。

总结:Cache.dns中记录了互联网上13个根服务器的域名和IP,我们有很多地方需要利用Cache.dns,例如北京新增加了一个DNS根服务器,但Win2003并不知道这个变化,这时我们就需要通过修改Cache.dns来完成这个工作。或者是假设一个大企业使用了私有根,自己做了一个根服务器,这时也要修改Cache.dns才能让DNS服务器知道这个私有根的存在。

 区域数据文件

接下来我们要介绍的就是最重要的区域数据文件了,区域数据文件保存了区域中所有的DNS记录,是DNS服务器的核心数据。从前面的Boot文件可以看出,hexun.com区域的数据都存放在了hexun.com.dns文件中,接下来我们就用记事本打开C:\windows\system32\dns\hexun.com.dns,结果如下图所示。

我们从区域数据文件中可以看出DNS记录的具体存储方式,首先我们来分析一下文件中的SOA记录,记录内容如下图所示。@是缩写,代表当前区域,相当于hexun.com,SOA是记录类型,ns1.hexun.com.表示的是hexun.com的主服务器,12是记录的更新序列号,900秒是15分钟的刷新间隔,辅助服务器和主服务器每隔900秒联系一次;600秒是10分钟的重试时间,如果辅助服务器和主服务器失去了联系,就每隔10分钟联系一下主服务器;86400是过期时间,如果辅助服务器过了一天都没和主服务器联系上,辅助服务器就认为自己的数据过期了;3600秒是DNS记录在缓存中的生存时间。

刚才分析的内容其实和下图中的SOA记录是完全一致的。

再来看看其他的几条记录,如下图所示,注意其中的A记录。DNS中的记录是要以完全合格域名的形式存在的,如果域名不以点结尾,那么DNS会自动在域名的最后追加上当前区域,把格式补充为完全合格域名的形式。例如mail就会被补充为mail.hexun.com.

我们利用DNS的区域数据文件完成两项常见任务,DNS的空域名解析和泛域名解析。空域名解析就是解析hexun.com,泛域名解析就是把所有以hexun.com结尾但又没有出现在DNS区域中的域名进行解析,例如ww.hexun.com。一般情况下网站对这两种域名解析会进行处理,因为有时访问者喜欢省事在浏览器中直接输入hexun.com就进行访问,而且也可能把[url]www.hexun.com[/url]误输为ww.hexun.com。

空域名解析比较简单,如果我们想把空域名解析成202.99.16.80,那就可以在区域数据文件中输入 @ A  202.99.16.80,刚才我们提到了,@代表了当前区域,相当于hexun.com. 。

泛域名解析也不难,例如我们想把泛域名也解析成202.99.16.80,那么我们就可以在区域数据文件中输入 *  A  202.99.16.80,*是通配符,代表任意字符的组合,具体如下图所示。

在保存DNS区域数据文件之前,最好先停止DNS服务,然后保存文件之后再启动DNS服务。如下图所示,我们发现空域名解析和泛域名解析都生效了。

再用区域数据文件完成一项常见任务,DNS的委派!介绍DNS体系结构时我们就提到过,正是由于有了伟大的委派,DNS才发展到今天。我们这次准备把shanghai.hexun.com的解析权委派给DNS服务器ns.shanghai.hexun.com,这台服务器的IP是211.99.213.1,那么我们在区域数据文件中写入下列两条记录就OK了。

在DNS管理器中可以看到,我们设置的委派已经生效了。

总结:接触到区域数据文件后,我们发现其实所有的DNS记录都可以很轻松地在区域数据文件中创建出来,而且效率很高,有了记事本,就可以创造DNS的一切!了解了DNS的后台文件后,我们在下篇博文中将把这些文件综合利用,创建出属于自己的DNS私有根!敬请期待!

本文出自 “岳雷的微软网络课堂” 博客,请务必保留此出处http://yuelei.blog.51cto.com/202879/109657

时间: 2024-10-12 23:59:09

<转>揭秘DNS后台文件:DNS系列之五的相关文章

企业内部IT一体化系列之五:基于SharePoint的IT服务台

之前我的文章有介绍过: 帮助台的页面如下: 这个站点的结构其实很简单,主要就是一个大的服务请求的自定义列表,下面加了一个文件列表的Webpart,文件路径是公司的打印服务器.右边是一个组织架构的webpart,是第三方的,就是把某个ou中的所有用户都展现出来. 大概讲下自定义列表的结构,这里的数据类型是SharePoint列表的类型,不是数据库的: 列名 数据类型 说明 ID ID 唯一值,自增长 服务请求 单行文本 用户对自己遇到的问题的简述 故障描述 多行文本 用户对自己遇到的问题的详细描述

DNS污染和DNS劫持的解决办法

DNS污染是指一些刻意制造或无意中制造出来的域名服务器分组,把域名指往不正确的IP地址. DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址. DNS污染解决方法 1.使用各种SSH加密代理,在加密代理里进行远程DNS解析,或者使用VPN上网. 2.修改hosts文件,操作系统中Hosts文件的权限优先级高于DNS服务器,操作系统在访问某个域名

CentOS6.6搭建DNS及主从DNS服务搭建

DNS搭建及主从DNS构建 DNS工作原理 DNS解析的作用 我们访问网络时,通常采用浏览器访问web站点,一般通过http://www.baidu.com或baidu.com等域名方式访问,也可以通过http://百度IP:端口进行访问,以前者常用,那么域名方式访问时怎么实现的呢?这就需要通过DNS服务器来解析了: DNS解析方式 正向解析: 根据域名查找其对应的IP地址:目前最常用的方式: 反向解析: 根据IP地址解析其对应的域名:一般应用于安全防护等领域: DNS的分布结构 DNS分布结构

查看DNS主机名解析的主机IP并向DNS服务器进行DNS域名解析

一.查看DNS主机名解析的主机IP host 命令 用途 把一个主机名解析到一个网际地址或把一个网际地址解析到一个主机名. 语法 host [-n [ -a ] [ -c Class] [ -d ] [ -r ] [ -t Type ] [ -v ] [ -w ] [ -z ]] Hostname | Address [ Server ] hostnew [ -a ] [ -c Class ] [ -d ] [ -r ] [ -t Type ] [ -v ] [ -w ] [ -z ] Host

大屏设计系列之五——大屏设计语言分析

如果您想订阅本博客内容,每天自动发到您的邮箱中,请点这里 作者:蓝蓝 蓝蓝设计经常会接到大屏设计的项目,比如中国移动互联网监控大屏可视化设计及开发.太极集团承接的中央台应急指挥中心大屏可视化设计.交大思源承接的北京地铁轨道批挥中心大屏可视化设计.数码视讯展厅大屏可视化设计,在积累了一定经验的同时,也在不断的学习和丰富关于大屏设计的特点及数据可视化的表达方式. 数据可视化过滤了非常多的冗余信息,浓缩了最重要的信息,它的魅力就在于将枯燥的数据组织在一起,把最需要的那些编辑成一个故事.目前大数据那么流

oracle学习入门系列之五 内存结构、数据库结构、进程

oracle学习入门系列之五 内存结构.数据库结构.进程 上篇蛤蟆简单描述了oracle公司的数据库产品.其他产品及oracle软件的一些特点.干货虽有但是真心是比较少的,这篇开始就是以干货为主,其中夹杂一些扯淡的事情了.蛤蟆一直也在想如何能生动的通过这干巴巴的文字来描述着世界级的软件,太理论大家都看不下去,太实践又缺乏深度.想想自己上大学那会,老师的讲课,无不枯燥乏味啊,满满的兴趣尽是消耗殆尽.所以不能仿效之,我们得走自己特色的路.以最易懂的形式.比喻等手段描述深奥的计算机知识.走起~ 开篇问

DNS(一)--DNS基础

DNS DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. DNS功能和作用 每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开.有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主

WPF学习系列之五(WPF控件)

控件:    1.内容控件------这些控件能够包含嵌套的元素,为它们提供几乎无限的显示能力.内容控件包括Lable,Button 以及ToolTip类. 内容控件是更特殊的控件类型,它们可以包含(并显示)一块内容.从技术角度来讲,内容控件是可以包含单个嵌套元素的控件.与布局容器不同的是内容控件只能包含一个子元素,而布局控件只要愿意可以包含任意多个嵌套元素.              提示:当然,仍然可以在单个内容控件中放置大量内容-----诀窍是使用单个容器,比如,使用StackPanel面

dns 后续(dns集群,“花生壳”,“远程IP密码更改dns”)

dns集群(多台服务器同步一个主dns信息,缓解了主dns的压力) 配置辅助dnf服务器(使它能同步主dns,分担主dns的压力:)修改配置文件 /etc/named.rfc1912.zonezone "dd.com" IN {   type slave;   masters {172.25.254.131 ;};  //同步谁的dns信息   file "slaves /dd.com.zone";  //将主dns的信息同步到 /var/named/slaves目