DNS的端口: 53

查询类型:

递归查询 和 迭代查询

记录类型 :

FQDN ——》 A

IP ----à FQDN; PTR (name server)

DOMAIN ---à MX (mail exchanger)

CNAME 别名

SOA (Start Of Authority) 起始授权

DNS服务器的类型

区域传送 : axfr: 完全 ixfr增量

主服务器与辅助名称之间的同步,主服务器上有数据变化时通知辅助名称,而也在一定时间主动去主服务器上同步

缓存名称器: 转发器:

名称解析:

正向: 反向: 区域:

域:一个域包含正反向域

bind-libs bind-utils 默认安装过,bind-devel 开发,bind 服务 bind-chroot 安装后将更改原目录建议不安装, #yum install bind.i386

在 /etc/named.conf 主配置,定义区域 。说明这个文件须手动建立。

定义的格式主要有两种:

options 空格 {

version “ 内容”; 后面必须有分号

};

zone “ 区域名” IN {

};

例:named.conf 中至少定义三个区域

options {

directory “/var/named”;

};

指定目录位置以下named.ca localhost.zone named.local

1 、 zone “.” IN {

type hint;

file “named.ca”;

}; 这里的named.ca中是全球13个根

2、 zone “ localhost” IN {

type master;

file“localhost.zone”;

}; 这里是宏定义和解析记录 例: 宏: $TTL 86400 解析: name [ttl] IN RECORD_TYPE value 例:ww.a.org IN A 1.1.1.1

在定义localhost.zone是,第一条主SOA 在该文件中定入以下内容:

$TTL 86400 定义全局的ttl值

@ 600 IN SOA localhost. admin.localhost. (

这@是localhost. 的简写; 这里定义的是序列号一般用日期定义 2011081601

刷新频率 1H

重试时间(一般小于刷新频率) 10M

如果重试7天没有主服务器的信息,从服务器也不工作 7D

否定回答,就是查询时没有,则一天内不来主服务器查询 1D )

localhost. IN NS localhost.(DNS服务器的主机名)

localhost. IN A 127.0.0.1

3、 zone “0.0.127.in-addr.arpa” IN {

type master;

file “ named.local“

};

这named.local中定义的与local.zone内容最后一行改成:

1 IN PTR localhost.

这里的1是ip地址,与”0.0.127”结合就是个IP地址

这三个zone必须有,然后改变zone的文件的属主为named。

service named configtest

named-checkconf 检查主配置文件语法

named-checkzone 检查区域文件 的语法错误

例:named-checkzone “localhost” /var/named/localhost.zone

# dig –t NS . 查看13个根

# dig –t NS . @a.root-servers.net 也能查看到13个根 @后面的是某个根名称。

好了,缓存服务就成了

/etc/rcdc.conf , /etc/rndc.key

测试: /etc/resolv.conf 中的ip 改为127.0.0.1

dig –t A www.baidu.com

如果检查出则OK。

数据文件:

/var/named



DNS服务搭建实例



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”;

};

zone “168.192.in-addr.arp” IN {

type master;

file “192.168.zone”;

};

新建a.org.zone把以下内容写入:

$TTL 86400 定义全局的ttl值

$TTL 1200

@ IN SOA ns1.a.org. admin.a.org. (

2011081601

1H

10M

7D

1D)

IN NS ns2.a.org.

IN NS ns1.a.org.

IN MX 10 mail.a.org.

ns1.a.org. IN A 192.168.0.168

ns2.a.org. IN A 192.168.0.108

www.a.org. IN A 192.168.0.16

bbs.a.org. IN CNAME www.a.org.

ns1.a.org. IN A 192.168.0.6

新建192.168.zone把以下内容定入:

$TTL 1200

@ IN SOA ns1.a.org. admin.a.org. (

2011081601

1H

10M

7D

1D)

IN NS ns2.a.org.

IN NS ns1.a.org.

6.0 IN PTR ns1.a.org.

16.0 IN  PTR www.a.org.

108.0 IN PTR ns2.a.org.

168.0 IN PTR ns1.a.org.



#service named reload 使其生效

测试两个工具: host –t NS a.org或bbs.a.org或等

dig –t A www.a.org

dig –t axfr a.org 完全区域传送

DNS远程控制功能:

rndc-confgen > /etc/rndc.conf

cat rndc.conf > named.

rndc 的端口 953

rndc flush 清空缓存

rndc status 查看状态

ab 性能测试

tar bind-9.7.4.tar.gz

cd /bin*/contrib./queryperf

./configurecp queryperf /bin

queryperf –d test.dns –s 172.168.0.1 其中test.dns自己建立


 

常见的区域类型:

     hint , master , slave

 

dig +recurs –t A www.baidu.com 强行用递归 +norecurs不用递归 +trace 追踪解析过程

$

 

辅助名称服务器:

       格式

                   zone “a.org” IN {

                       type slave;

                       file “slaves/a.org.zone”;

                       masters { 192.168.0.1; };

};

 

 

授权

转发器:

   完全转发:

     options{

           forward only | first;       (first 是先递归没有则找根,only一定要递归)

           forwarders  { IP; };

                };

         完全转发就是在全局,在option中定

部分转发:

  zone “a.org” IN {

         type forward;

         forwarders { IP; };

               };

 

部分转发就是自己定个zone的局域转发

子域,父域:

glue records

tech.a.org.                  IN            NS         na1.tech.a.org.

ns1.tech.a.org.               IN             A         192.168.0.135

 

dig  chaos txt version.bind. 查看版本号

         例: options {

                     directory “/var/named”

                     forward only;

                     forwarders { IP;}           转发的dns服务器地址

                     allow-recusion { 192.168.0.0/24;     

                      version “ None of your business”;   审明自己的版本号

                        };

允许区域传输:

          allow-recusion

          allow-query

          allow-recursion

区域类型:hint , master, slaves, forward(转发)

智能DNS的配置

/etc/named.conf中配置

            view NAME {

                  match-clients {};

                   zone

                   zone

                     …

                     …

                       };

      注:zone的区域必须写在view

        例:

                acl myclietns {

                         172.16.100.0/24

                          127.0.0.0/8

                          };

                 acl internal {

                        192.168.0.0/24

                          }

                  acl external {

                          172.16.0.0/16

                          }

                 options {

                     directory “/var/named”;

                      recursion yes;

                      allow-query { myclients; };

                        };