DNS解析之前的步骤:
1
2
3
4
<code>-------> 查找hosts文件</code>
<code> </code><code>-------> DNS缓存(DNS客户端)</code>
<code> </code><code>--------> 查找DNS服务器缓存 </code>
<code> </code><code>---------> 由DNS服务器去解析如下图</code>
<a href="http://s3.51cto.com/wyfs02/M01/44/A4/wKioL1PiFyCgCSQAAAJtYAdqm6w831.jpg" target="_blank"></a>
说明:(这里略去国家域的解析)
5
6
7
8
9
10
11
12
<code>1、 DNS客户端向DNS域名解析服务器(运营商DNS)发送域名www.9527du.com解析请求。</code>
<code>2、 运营商DNS收到请求后,发现【.com】该域并不在自己的解析能力范围内。</code>
<code> </code><code>把解析请求提交给根域。</code>
<code>3、 根域告诉运营商DNS,负责解析【.com】域的DNS服务器的地址</code>
<code>4、 运行商DNS服务器,从根域那里知道了负责【.com】域的DNS服务器的地址,</code>
<code> </code><code>就请求帮忙解析【9527.com】</code>
<code>5、 负责解析【.com】域的DNS服务器就告诉,运行商DNS负责【9527du】该域的DNS服务器的地址</code>
<code>6、 运行商DNS服务器,就向负责【9527du】域DNS服务器,请求解析【www】主机的地址</code>
<code>7、 负责解析【9527du】域的DNS,查找自己的A记录,确实有这www这台主机,</code>
<code> </code><code>就把该主机对应的IP地址,告诉运营商DNS服务器。</code>
<code>8、 运营商DNS服务器,就告诉自己的客户端你要解析的域名的IP地址是什么。</code>
<code>9、 DNS客户端(浏览器)就使用IP地址访问www.9527du.com这域名对应主机的资源了。</code>
从上面,可以看出,域名解析也就是从域名找出,它所对应的IP地址。属于名称解析的一种。那么我们应该使用文件或数据库把域名与IP地址的对应关系存储起来,文件或数据库就被称为:解析库。
解析库的种类有:
<code>1、文本文件</code>
<code> </code><code>查找速度慢,如果文本文件很大的知,把该文件加载入内存,才可以查找占用很大内存</code>
<code>2、基于关系型数据库</code>
<code> </code><code>可以通过一级索引,多级索引,加速数据的检索速度</code>
<code>3、LDAP:LightweightDirectory Access Protocol</code>
<code> </code><code>比关系型数据库的检索快100倍数据级。</code>
我们的应用应该选择哪种解析库呢,视实际应用而定。
那么,DNS服务器是如何定义解析库的呢?
<code>[root@stu13 ~]</code><code># vim/etc/named.rfc1912.zones</code>
<code>zone </code><code>"9527du.com"</code> <code>IN {</code>
<code> </code><code>type</code> <code>master;</code>
<code> </code><code>file</code> <code>"9527du.zone"</code><code>;</code>
<code>};</code>
说明:
Zone 关键字,是定义域的名称。域有嫡属关系的。如上图【.9527du】这个域是【.com】域的子 域,而【.com】域又属于根域的子域。所以,我们定义域的时候,要标明该域是属于那个 域的。如:【.9727du.com】.这也是域的层级结构决定的。我们只有了解域的层级才可以
正确配置DNS服务器的。
Type 关键字,是定义负责该域解析的DNS服务器工作类型:主DNS还是slave DNS还是根:hint.
File 关键字,指定我们的解析库名称。该解析库是使用相对路径表示的,是相对于named工作 的目录而言的,工作目录在options{…};主配置段中使用:directory关键字来定义的。
我们有了解析库了,就应该在解析库中定义要解析的内容了,也就是定义资源类型。那么DNS有那些资源类型呢,定义资源类型的格式又是什么样的呢?
1、 资源类型
<code>(1)、SOA Start Of Authority 起始授权记录;</code>
<code> </code><code>作用:定义负责该区域zone的DNS域名解析的服务器的工作特征的。</code>
<code> </code><code>注意:一个区域文件中只能有一个 SOA 资源记录。</code>
<code>(2)、NS Name Server 标识一个区域zone内,谁是DNS服务器。</code>
<code>(3)、MX Mail eXchange标明一个域内谁是邮件DSN 服务器。</code>
<code> </code><code>注意要指明优先级:[0-99]</code>
<code>(4)、A address A记录,专门用于正向解析库。</code>
<code>(5)、PTR 专用于反向解析库。FQDN-------> IP</code>
<code> </code><code>注意:A资源记录与PTR不能同时出现。</code>
<code>(6)、AAAA 专用于IPV6</code>
<code>(7)、CNAME Canonical Name 别名记录</code>
2、资源记录类型的格式;
<code>Name [ttl] IN RRType value</code>
<code> </code><code>缓存时长 资源记录类型</code>
(1)、SOA Start Of Authority 起始授权记录
<code>Name 当前区域的域名,也就是负责解析的区域zone..通常可以简写成:@</code>
<code>Value 负责解析该区域的DNS的FQDN,也可以是当前区域的区域名称。</code>
例:
<code>@ IN SOA ns.9527du.com. admin.9527du.com. (</code>
<code> </code><code>serialnumber ; 解析库的版本号。分号为注释。每改变一次配置版本号要+1</code>
<code> </code><code>refreshtime ; DNS服务器是主从架构时,解析库数据同步的时间间隔</code>
<code> </code><code>retry </code><code>time</code> <code>; 当从服务器连接不到主服务器时,每隔多长时间联系一次。</code>
<code> </code><code>expiretime ; 从服务器联系不到主服务器。从服务器帮助主服务器解析域名的时长</code>
<code> </code><code>negativeanswer ttl ; 否定答案(不能解析的域名)的统一缓存时长。</code>
<code>)</code>
注意:任何解析库文件的第一个记录必须是SOA
(2)、NS name server
<code>Name DNS服务器负责解析的区域zone,,可以简写成:@</code>
<code>Value DSN 服务器的FQDN</code>
<code>@ IN NS ns.9527du.com.</code>
注意:
如果有多台NS服务器,每一个都必须有对应的NS记录。对于正向解析文件来说,每一个NS的FQDN都应该有一个A记录。
(3)、MX: Mail eXchanger
<code>name: 邮件DNS服务器负责解析的区域zone名称</code>
<code>value: 邮件服务器的FQDN</code>
<code>@ IN MX 10(优先级) mail.9527du.com</code>
<code>@ IN MX 20 mail2.9527du.com</code>
如果有多台MX服务器,每一个必须有对应的MX记录,但各MX记录还有优先级属性
对于正向解析文件来说,每一个NS的FQDN都应该有一个A记录。
做为邮件的DNS服务器,必需有正反解的功能。
(4)、A (Address):记录
<code>Name FQDN</code>
<code>Value IP地址</code>
<code>ns.9527du.com IN A 10.16.13.1</code>
<code>mail.9527du.com IN A 202.1.50.8</code>
<code>www.9527du.com IN A 202.1.50.8</code>
<code>bbs.9527du.com IN A 202.1.50.8</code>
(5)、CNAME: Canonical Name
<code>name: FQDN</code>
<code>value: FQDN</code>
<code>web.8527du.com IN CNAME www.9527du.com.</code>
那如何配置DNS的正向解析功能呢?
1、 要先确定DNS服务器负责解析的区域?再定义DNS服务器的工作模式和解析库
负责解析:9527du.com该区域,该DNS工作在master,解析库文件为:9527du.zone
2、在解析库9527du.com.zone中添加资源记录。
<a href="http://s3.51cto.com/wyfs02/M01/44/AA/wKiom1PiJ_DSalx-AAENJYGxFx4834.jpg" target="_blank"></a>
3、使用【host】测试是否能够解析成功
<code>[root@stu13~]</code><code># host -t A www.9527du.com 172.16.13.1</code>
<code>Usingdomain server:</code>
<code>Name:172.16.13.1</code>
<code>Address:172.16.13.1</code><code>#53</code>
<code>Aliases:</code>
<code> </code>
<code>www.9527du.comhas address 172.16.249.50</code>
<code>www.9527du.comhas address 172.16.249.51</code>
<code>[root@stu13~]</code><code># host -t A web.9527du.com 172.16.13.1</code>
<code>web.9527du.comis an </code><code>alias</code> <code>for</code> <code>www.9527du.com.</code>
<code>[root@stu13~]</code><code># host -t A bbs.9527du.com 172.16.13.1</code>
<code>bbs.9527du.com has address 172.16.249.52</code>
OK!!!!
本文转自成长的小虫 51CTO博客,原文链接:http://blog.51cto.com/9528du/1536602,如需转载请自行联系原作者