一、DNS的体系结构: 

       DNS:域名解析系统.

DNS由根域、顶级域和子域构成。根域主要负责管理顶级域,顶级域主要负责管理其下面子域。

.代表DNS的根域。

.com、.edu等代表顶级域。

sohu.comchinaitlab.com是顶级域.com的子域。

区域:DNS服务器管辖的范围,每个区域都有对应数据库文件,DNS服务器可读取区域中数据库的内容,提供给客户端域名解析服务。

DNS服务器是以区域为单位来管理域名空间的。一台DNS服务器可以管理一个或多个区域,而一个区域也可以有多台DNS服务器来管理。

主DNS服务器:master最权威  区域文件或者叫数据库文件:存放IP地址和域名对应关系

辅DNS服务器:slave

惟缓存DNS服务器:caching-only  转发器

二、域名注册:

           例如:注册.com下面的域名,如:redhat.com需要找.com的域管理者。

三、常用术语:

1.DNS服务器:提供域名解析服务的主机。

2. DNS客户机:任何联网的需要查询主机域名信息的主机。

3. 正向解析:  将主机名称解析为IP地址。

4. 反向解析:IP地址解析为主机名称。

四、安装DNS软件包BIND /var/named/chroot/var/named

       bind软件:伯克利域名解析系统

安装:

#rpm –q bind       (查看软件包是否安装)

#rpm -ivh  bind      (安装bind软件)

#rpm -ivh   bind-chroot   安装bind-chroot软件,将DNS服务锁定在指定的工作目录,安全

#rpm -ivh  bind-utils  (安装DNS查询工具软件, 提供nslookup及dig等测试工具,默认桌面版已经安装)

#rpm -ivh  caching-nameserver   (安装高速缓存服务器配置文件)

五、查看默认的主机配置文件:

1.DNS配置文件 /etc/named.conf

注:options:定义全局配置选项。用于定义BIND服务器的工作目录 

注意:在配置时要用“{}”括起来,用“;”结束,并且大括号和分号之间要有空格分开。    

            区域类型:type:用来定义一个区域的类型。

            常见的区域类型有3个。

     ① hint:默认的DNS根的类型为hint型。

根域的配置文件named.ca:列出了19台根服务器的地址

(除了原先的13台根服务器之外,又增加了6台使用Ipv6地址的根服务器)。

          ② master:指定一个区域为主域名服务器。

          ③ slave: 指定一个区域为辅助域名服务器。

              

       2. 区域文件:即数据库文件,所在路径/var/named/chroot/var/named/

             TTL:用于指定其它服务器将数据在缓存中存放多长时间。86400代表秒,即24h,一般设为1天,最长为7天。

  @:表示当前区域

 IN:表示区域类别,即Internet,互联网类型记录。

      SOA:起始授权记录,用于指出DNS服务器或当前区域的主服务器,固定格式,每个区文件中都必须存在一个唯一的SOA记录。

       SOA后的ns:指区域所授权的主机是ns主机

      root: 用于指定root用户邮箱     

 

记录类型:

        SOA                起始授权记录 start of authentication

        NS                名称服务器 nameserver

        A                主机记录,即主机名和IP地址的对应关系。

        CNAME                        别名记录,即给一个主机记录再添加一个名称。

        MX                邮件交换记录,代表区域当中的邮件服务器

               PTR                         反向指针ip---主机的对应关系

 

Master和Slave DNS服务器同步的五个参数:

       区域文件序列号:每次改变区域资源记录时,该数值便会自动加1,当Slave DNS要进行数据同步的时候,它会比较这个号码,如果此处的数值较大,就会进行更新,否则将不更新。最小值为1

        刷新时间。即主DNS和辅助DNS同步的时间间隔;3H代表三小时。即辅助DNS服务器会每隔一小时检查自己的数据库是否是最新的,若不是则从主DNS那里来更新自己的数据库资源记录。需要注意的是此功能会使辅助DNS的负载增大,因此最好设的长一些。

        重试时间:若辅助DNS与主DNS同步失败,则辅助DNS多长时间再次重试更新。15M代表15分钟。

        过期时间:指辅助DNS无法从主DNS上更新数据,何时放弃请求。1W:代表一周。

        缓存时间:1D代表1天,即数据在缓存中存放最长为1天。

 

语法检查

检查主配置文件  named-checkconf  /etc/named.conf

检查区域文件  named-checkzone  example.com(域名)  /var/named/chroot/var/named/example.com.zone(配置文件)

 

    

 

 

架设主DNS服务器

正向解析

vim/etc/named.conf主配置文件

修改任何配置文件之前记得先备份,方便操作错误可以恢复,后面不在强调

 

----------------------

Listen-on port 53{any};允许任何IP地址监听

Listen-on-v6 port 53{any};

allow-query{any;};允许所有人查询

 

 

zone"bj.com" IN {

typemaster;  //主dns

file"bj.com.zone"; //数据库文件也称区域文件

};

------------------

 

区域配置文件

cd/var/named/chroot/var/named/

vim bj.com.zone

--------------------------

$TTL 7200

@        IN        SOA        ns        root(

2014021701 //版本号                                

1H     //刷新时间

10M    //重试时间

1W        //过期时间

1D     //缓存时间

                                )

   IN           NS            ns

   IN           MX10  mail

ns          IN        A        172.18.211.9

mail   IN        A        172.18.211.10

www        IN        A        172.18.211.11

ftp        IN        A        172.18.211.12

news   IN          CNAME  www

-----------------------

@:当前区域bj.com

IN:Internet 互联网类型记录

SOA:起始授权记录

NS:域名记录

A: 主机记录

PTR:反向指针

MX:邮件交换记录

CNAME:别名记录

 

DNS负载均衡,也称为DNS轮循

----------------------------------------------------

www        IN        A        172.18.211.31

www        IN        A        172.18.211.21

www        IN        A        172.18.211.11

---------------------------------------------------------

Ping测试

 

直接域名解析

------------------------------------------------------------ 

bj.com.         IN            A        172.24.254.25

------------------------------------------------------------

 

泛域名解析

一般放在最后,当上面的都不匹配的时候才读取泛域名解析。

------------------------------------------------------------ 

*            IN            A        172.24.254.25 

------------------------------------------------------------

 

dns指向本机 vim/etc/resolv.conf

--------------------------

nameserver 127.0.0.1

--------------------------

关闭防火墙serviceiptables stop

启动dns服务service namedstart

 

测试:

#nslookup    www.chinaitlab.com   (正向查询此主机的地址)

Nslookup 命令软件包:bind-utils

#dig   www/chinaitlab.com    (能看到这个域的ASOA记录)

 #host   www.chinatilab.com  (解析www主机)

特殊查询

 #host  -t NS   chinaitlab.com    查询区域中的DNS服务器

  #host  -t MX    ns.chinaitlab.com    查询区域中的邮件服务器

 若希望在测试时直接输入主机名,就可解析,而不是主机全名(FQDN)则:

#echo  “search  chinaitlab.com”>> /etc/resolv.conf  

        #host   www   (测试成功,此时www.chinaitlab.com可以简写成www

 

 

反向解析

vim/etc/named.conf主配置文件

----------------------

zone"211.18.172.in-addr.arpa" IN {

typemaster;  //主dns

file"172.18.211.zone"; };

------------------

 

区域配置文件

cd/var/named/chroot/var/named/

vim 172.18.211.zone

---------------------------

$TTL 7200

@        IN        SOA        ns        root(

2014021701 //版本号                                

1H     //刷新时间

10M    //重试时间

1W        //过期时间

1D     //缓存时间

                                )

IN        NS        ns.bj.com.

IN     MX 10 mail.bj.com.

9        IN        PTR        ns.bj.com.

10           IN           PTR        mail.bj.com.

11        IN        PTR        www.bj.com.

12        IN        PTR        ftp.bj.com.

-----------------------

重启服务rndc reload重新加载配置文件

测试

 

架设惟缓存服务器caching-only

BIND缓存器,也称为惟缓存服务器。

缓存服务器只有少量的自定义解析区域,大部解析记录来源于指定DNS服务器。

 

缓存服务器的优点:

加快解析速度;

减轻公网DNS服务器的压力;

Named.conf中修改:

recursion yes;

允许递归查询,这一项一般不用修改。l

dnssec-validationyes;

在DNS查询的过程是否加密,为了提高效率,这一项一般都要改为no,如“dnssec-validationno;”

Forward only;         

Forwardfirst;

 

在option中

forwarders {172.18.211.2;};转发给某台DNS

 

 

架设辅助DNS 服务器

辅助主要的功能是当主DNS无法正常工作的情况下,由辅助DNS接替其工作。辅助DNS 的记录主要来源的于主DNS服务器,辅助DNS服务器是只读的,不能添加与删除DNS记录。辅助DNS可以大大加快查询的速度,减轻主DNS服务器的压力。

 

vim /etc/named.conf

------------------

zone"bj.com" IN {

typeslave;  //辅助dns

file"slaves/bj.com.zone"; //区域文件

masters{ 172.18.211.200 ;};

notify yes                                     //dns修改会通知从dns

also-notify { 172.18.211.200 }//dns修改通知哪一个从dns

};

---------------------------------------

 

在主DNS内设置哪些主机可以同步:allow-transfer172.16.9.254;;

 

rndcrefresh bj.com   辅助dns立即刷新bj.com数据库文件

/var/named/chroot/var/named/出现slaves文件夹

ls/slaves/ 出现从主dns复制的bj.com.zone区域文件

此时可以实现bj.com区域的解析

 

测试辅助DNS和主DNS同步

主dns修改数据库文件bj.com.zone,比如www主机对应IP修改,只有在版本号也手动修改时

辅dns在刷新数据库文件才会认为是新的版本,才会复制数据库文件,从而实现正确的解析

如果不能正确解析可以手动同步:从dns上敲rndc refresh +你同步的域名