DNS 域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.


          # rpm -ql bind-utils

                  /usr/bin/dig             #dig测试命令工具

                /usr/bin/host            #host测试命令工具

               /usr/bin/nslookup        #nslookup测试命令工具

bind:

主配置文件:named.conf,每个语句都要使用分号结尾;否则就是语法错误

程序文件:/usr/sbin/named

 dig命令: dig -t 资源记录类型  名称 @server-ip

option:

[ -t type] 指定类型

[-x addr]  指定IP

资源记录类型名称:

      NS :对应DNS服务器的FQDN

      A :代表"主机名称"与"IP"地址的对应关系, 作用是把名称转换成IP地址

      PTR:代表"IP地址"与"主机名"的对应关系,作用刚好与A记录相反

    [@server-ip]:

                不写IP,默认是本地服务器的IP

                用@server-ip,指定服务器的IP

 # dig -x IP @server-ip查找反向解析

 dig +trace   跟踪解析

     例如:  #dig -t NS badu.com @192.54.112.30 +trace

   #dig -t axfr zone  验证完全区域传送

host [option] 资源记录类型名称   [server-ip]

例如  #host -t A www.51cto.com 172.16.0.1

nslookup   FQDN   [server-ip]

例如: nslookup www.51cto.com 172.16.0.1

 named-checkzone "zone_name" /path/to/zone_file检测区域文件语法错误

chroot /mnt/sysroot

  限定在/mnt/sysroot/目录下,防止被劫持而造成严重后果,一般生产环境中应用。

bind-chroot: named, /var/named/chroot/

  一个FQDN可对应同多个IP负载均衡

  多个FQDN可对应一个IP:一台主机可以有多个名称

named -chechconf检测主配置文件语法错误

 named-checkzone "magedu.com" /var/named/magedu.com.zone检测区域文件语法错误

 修改完如果service named restart会使服务终止,所以service named reload 重新加载文件

   #dig -t A www.magedu.com @172.16.100.1   查看A记录

   #dig -t NS magedu.com @172.16.100.1      不能加www,因为NS后面是区域名称

   #host -t A www.magedu.com @172.16.100.1 查看A记录

   #dig -t CNAME ftp.magedu.com @172.16.100.1 查看别名

   #dig -t axfr magedu.com @172.16.100.1      完全区域传送   显示所有信息

编辑vim /etc/resolv.conf  

  修改直接指向本机ip地址, 这样就不用每次都指向本机了

1、缓存服务器

如果没有安装bind包,就自己配置yum源,然后安装bind,例如:

#vim /etc/yum.repos.d/ yum.repo

base

name=RHEL6.4 x86_64

baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.4-x86_64/

gpgcheck=0

安装bind

#yum -y install bind

主配置文件/etc/named.conf的修改:注释掉options段中如下选项,也可以修改

  //listen-on port 53 { 127.0.0.1; };注释掉

  //listen-on-v6 port 53 { ::1; };注释掉

  //allow-query     { localhost; };定义允许谁查询

     forwarders { 127.16.0.1};定义转发的服务器的ip,一般为运营商的ip地址

   启动named服务:缓存DNS服务器; service named start

第一次需要开启服务,之后只需要加载配置文件即可

     # service named reload (rndc reload)

   # rndc status 显示DNS服务器的工作属性

2、主服务器

安装bind

#yum -y install bind

主配置文件/etc/named.conf的修改:注释掉options段中如下选项,也可以修改

     //listen-on port 53 { 127.0.0.1; };

    //listen-on-v6 port 53 { ::1; };

    //allow-query     { localhost; };

  启动named服务: service named start

正向的主DNS服务器

在区域配置文件/etc/named.rfc1912.zones新建一个区域:

zone "区域名称" IN {

type master|slave|forward;

file "ZONE_NAME.zone";

};

       例如 zone "magedu.com" IN {

                  type master;

             file "magedu.com.zone";        /var/named默认存放路径

                  allow-transfer { allowxfer }  允许定义在allowxfer 的主机做区域传送

           };                                      指定从服务器的ip地址

 检测主配置文件语法错误:named-checkconf

/var/named下建立“ZONE_NAME.zone”文件,通常只包含宏定义和资源记录,而第一个记录必须是SOA记录;例如:

$TTL 600

$ORIGIN magedu.com.

@      IN   SOA     dns.magedu.com.    admin.magedu.com. (

                    2013081201

                    2H

                    10M

                    7D

                    6H )

      IN   NS       dns.magedu.com.(dns不加点)

      IN   MX   10  mail                           10表示优先级

dns    IN   A       172.16.100.1

mail   IN   A       172.16.100.2

www  IN   A        172.16.100.6

ftp    IN   CNAME    www                别名

    确保属组为named ,权限为640

    named-checkzone "magedu.com" magedu.com.zone  检查区域解析库文件

反向的主DNS服务器

在区域配置文件/etc/named.rfc1912.zones新建一个区域:

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

                  type master;

                  file "172.16.100.zone";        /var/named默认存放路径

        };

检查主配置文件  #named-checkconf

 #cp -p magedu.com.zone 172.16.100.zone查看属性信息

编辑文件/var/named/172.16.100.zone

$TTL 600;

$ORIGIN 100.16.172.in-addr.arpa.

@      IN   SOA     dns.magedu.com.    admin.magedu.com. (

                    2013081201

                    2H

                    10M

                    7D

                    6H )

     IN   NS       dns.magedu.com.

1     IN  PTR   dns.magedu.com.不能写dns 因为会自动补成  dns.100.16.172.in-addr.arpa.                      

2    IN   PTR       mail.magedu.com.

6    IN   PTR       www.magedu.com.

8    IN  PTR        www.magedu.com.

8     IN  PTR       pop.magedu.com.    

 #named-checkzone "100.16.172.in-addr.arpa." /var/named/172.16.100.zone 检查区域解析库文件

测试  #host -t PTR 172.16.100.1    解析172.16.100.1得主机名

3、辅助服务器

如何创建从服务器?(slave

如果有多台DNS服务器,必须为每个DNS服务器建立NS记录,否则主DNS将不向发送通知;

区域定义:

zone "区域名称" IN {

type slave;

file "slaves/ZONE_NAME.zone";     /var/named/slaves下保存从服务器文件

masters {

        MASTER_DNS_IP;

        MASTER_DNS2_IP;

};

};

正向的从服务器

 #vim /etc/named.conf:注释掉options段中如下选项,也可以修改

   //listen-on port 53 { 127.0.0.1; };

   //listen-on-v6 port 53 { ::1; };

   //allow-query     { localhost; };

例如:在/etc/named.rfc1912.zones

zone "magedu.com" IN {

                  type slave;             指定类型为从服务器

                  file "slaves/magedu.com.zone"; 指定文件路径

                  allow-transfer { none } 一般从服务器不允许任何人做区域传送

                  masters { 172.16.100.1; };      指定主服务器ip

};

 #named-checkconf检测主配置文件是否有错误

在主服务器上加一个记录  vim magedu.com.zone

        IN   NS    ns2

ns2     IN    A      172.16.100.17

 #named-checkzone "magedu.com" magedu.com.zone

 #rndc reload

检测一下  #dig -t NS magedu.com

 #service named start启动服务

可以看到 /var/named/下  有magedu.com

反向的从服务器

vim /etc/named.rfc1912.zones

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

                  type slave;

                  file "slaves/172.16.100.zone";

                  masters { 172.16.100.1; }

                  allow-transfer { none } 一般从服务器不允许任何人做区域传送

}

在主服务器上添加上:

       IN   NS    ns2.magedu.com

17      IN   PTR   ns2.magedu.com

 #named-checkzone 100.16.172.in-addr.arpa. /var/named/172.16.100.zone

序列号加一表示修改过的

主和从服务器都要重新加载同步  #service named start ;(rndc reload

验证在windows上面的

打开输入命令nslookup 进入交换式模式

 #server 172.16.100.17  服务器变成了172.16.100.17 启动服务

    查看A记录   set q=A

                www.magedu.com

   查看NS    set q=NS

              magedu.com

    MX记录     set q=MX  

              magedu.com