Chinaunix首页 | 论坛 | 博客
  • 博客访问: 304136
  • 博文数量: 58
  • 博客积分: 2763
  • 博客等级: 少校
  • 技术积分: 731
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-04 19:07
文章分类

全部博文(58)

文章存档

2011年(55)

2009年(1)

2008年(2)

分类: LINUX

2011-08-20 21:11:41

DNS:(Domain Name System)域名解析系统
监听udp和tcp的53号端口。
DNS的查询类型:
             递归查询:
             迭代查询:
    所谓递归查询就是说客户端向服务器发出查询请求,服务器则负责进行查询,如果
它自身不知道客户端所查询的内容,他就直接找根服务器,根服务器就负责进行查
询,向下级服务器进行查询,当查找到后,一层一层原路返回,然后根再把查询到
的结果,返回给本地的DNS服务器,服务器再把结果发送给客户端。说得简单一点就
是本地的DNS服务器只发出一次请求,就必须得获得结果。
    而迭代查询就是说当客户端向服务器发出查询请求,服务器则负责进行查询,如果
它自身不知道客户端所查询的内容,他就直接找根服务器,根服务器告诉他,它要
找的DNS服务器是谁,然后本地DNS就去找根告诉它的那个DNS服务器。如果有则将结
果给本地DNS服务器,服务器再把结果发送给客户端。如果没有,则继续向下查找,
直到找到为止。
在实际生活中我们的互联网上客户端到本地DNS服务器之间是进行迭代查询的,而之
后查询的都是通过迭代获得的。
----------------------------------------------------------------------
DNS记录的类型:
      A记录:FQDN-->IP
      PTR记录:IP-->FQDN
      NS记录(Name Server):DOMAIN-->SERVER
      表示某个域的邮件服务器MX(Mail eXchanger),DOMAIN-->MTA
      CNAME(正式名称):别名-->正式名字
      用于一个域的主域名服务器 :SOA (Start of Authority)
主服务器,辅助名称服务器
     同步:区域传送;axfr(完全区域传送),ixfr(增量区域传送)
     主服务员只有一个,当主服务器发生改变时,就通知辅助名称服务器,进行更新。
 
域与区域的区别:
区域是物理概念。定义区域其实就是定义文件;而域是逻辑概念。一个域中包含正
向区域和反向区域。

-----------------------------------------------------------------------
安装DNS服务
#yum install bind
启动服务
#service named start
默认会有3个配置文件:/etc/named.conf (主配置文件)
       /etc/rndc.conf
       /etc/rndc.key
数据文件:/var/named
通常情况下一个域都会有一个正向和反向区域的文件
必须有一个named.ca的文件。
(1)配置缓冲DNS服务器
定义主配置文件:
#vim /etc/named.conf
--------------------------------------
options {
 directory "/var/named";               用于定义工作目录
 };
 
 //定义区域:
 zone "." IN {
  type hint;                            根提示,线索域
  file “named.ca”;                     /var/named/named.ca
 };
 
 zone "localhost" IN {
  type master;
  file "localhost.zone";
 };
 
 zone "0.0.127.in-addr.arpa" IN {
  type master;
  file "named.local";
 };
#dig -t NS . > /var/named/named.ca
#cd /var/named
定义一个正向的localhost.zone 文件
#vim localhost.zone
-----------------------------------------
$TTL 86400
@  600  IN  SOA  localhost.  admin.localhost. (
             
    2011081601   //序列号,若改变,则加1
    1H           //辅助服务器同步时间
                                10M          //重试时间
     7D           //如果7天后还未连接到主服务
器,则自动失效
     1D )        //否定回答的ttl值
     
@   IN      NS  localhost.     (dns服务器的名字)
localhost.  IN  A  127.0.0.1
----------------------------
定义一个反向的named.local文件
#vim named.local
-------------------------------
 $TTL 86400
 @  600  IN  SOA  localhost.  admin.localhost. (
        2011081601       
                   1H              
                                        10M     
     7D                   
                   1D )               
 @   IN   NS  localhost.
 1          IN   PTR    localhost.
#chown -R :named localhost.zone named.* /etc/named.conf
------------------------------------------------------
检查语法:
 
#service named configtest
#named-checkconf
#named-checkzone "localhost" /var/named/localhost.zone
#named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local
#service named restart
#vim /etc/resolv.conf
nameserver 127.0.0.1
------------------------------------------------------
测试:
#dig -t NS localhost.
#dig -x 127.0.0.1
 
--------------------------------------------------------------
#dig -t A
     //结果如下
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> -t A
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4850
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 0
;; QUESTION SECTION:
;
;; ANSWER SECTION:
.  1196 IN CNAME .
. 597 IN A 61.135.169.105
. 597 IN A 61.135.169.125
;; AUTHORITY SECTION:
a.shifen.com.  86418 IN NS ns2.a.shifen.com.
a.shifen.com.  86418 IN NS ns4.a.shifen.com.
a.shifen.com.  86418 IN NS ns5.a.shifen.com.
a.shifen.com.  86418 IN NS ns6.a.shifen.com.
;; Query time: 5 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Aug 16 01:11:29 2011
;; MSG SIZE  rcvd: 162
-------------------------------------------------

(2)建立完整的DNS服务器
在原有基础上,加上一个a.org域。
#vim /etc/named.conf
-----------------------
options {
 directory "/var/named";              
 };
 
 zone "." IN {
  type hint;                           
  file “named.ca”;                    
 };
 
 zone "localhost" IN {
  type master;
  file "localhost.zone";
 };
 
 zone "0.0.127.in-addr.arpa" IN {
  type master;
  file "named.local";
 };
zone "a.org" IN {
 type master;
 file "a.org.zone";
};
--------------------------------
#cd /var/named
#vim a.org.zone
--------------------------------
$TTL 1200
@    IN  SOA  ns1.a.org.  admin.a.org. (
     2011081601       
     1H              
     10M     
     7D              
     1D )               
     
 @   IN   NS  ns1.a.org.(dns服务器的名字)
 @  IN NS ns2.a.org.
 @   IN MX 10 mail.a.org.
 ns1.a.org.  IN  A  192.168.0.15
 ns2.a.org.  IN  A 192.168.0.130
 mail.a.org.  IN  A  192.168.0.15
 
.  IN  A  192.168.0.158
 bbs.a.org.  IN  CNAME  

 .  IN  A  192.168.0.164
---------------------------------
测试:
 dig -t A

 dig -t NS a.org
 dig -t CNAME bbs.a.org
---------------------------------
在/etc/named.conf配置文件中,添加一个反向域
zone "0.168.192.in-addr.arpa" IN {
   type master;
   file "192.168.0.zone";
  };
----------------------------------
创建反向域:
#vim 192.168.0.zone
$TTL 1200
@    IN  SOA  ns1.a.org.  admin.a.org. (
     2011081601      
     1H                 
     10M     
     7D                  
     1D )               
@   IN   NS   ns1.a.org.(dns服务器的名字)
@  IN NS  ns2.a.org.
15   IN PTR  ns1.a.org.
130   IN    PTR   ns2.a.org.
15   IN PTR  mail.a.org.
158  IN PTR  
.
164  IN PTR  
.
------------------------------------
测试:
#dig -x 192.168.0.15
#dig -x 192.168.0.130
#dig -x 192.168.0.158
#dig -x 192.168.0.164
阅读(1273) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~