一、 BIND如何安装

yum install bind

二、 BIND的配置文件以及区域文件存放位置

主程序: /usr/sbin/named

配置文件: /etc/named.conf

新建区域存储的配置文件:  /etc/named.rfc1912.zones

区域数据库:/var/named/ZONE_FILE

三、 DNS资源记录的格式详解

资源记录的格式: NAME    TTL   IN    RR_TYPE     VALUE

$TTL:可全局进行记录,比如设定为86400  或者 1D

$ORIGIN:  可补全后缀,比如contoso.com.


(一)、 SOA记录

1. name: 区域的名称

2. value:  DNS服务器的FQDN

管理员的邮箱地址,把@使用.来替代

序列号,小于10位的序列号,比如使用01;

刷新时间间隔,主服务器与从服务器的同步时间间隔;

重试时间间隔,从服务器联系不上主服务器的重试时间间隔;

超期时间,从服务器联系不上主服务器,多次重试依旧无法连接,放弃的时间;

否定应答TTL,


序列号:应该小于2的32次方,即10位以下

刷新时间应该大于等于2倍重试时间

刷新加重试时间要小于超期时间

超期时间大于等于10次重试时间

超期时间大于等于7天


示例:

contoso.com. IN SOA ns1.contoso.com.  admin.contoso.com. (

10

1D

1H

1W

3H )



(二)、 NS记录

1. name:区域的名称

2. value: DNS服务器的FQDN

3. 如果有多个NS记录,每个记录一行


示例:

contoso.com. IN NS ns1.contoso.com.



(三)、MX记录

1. name: 区域的名称

2. value: 邮件交换器的FQDN,注意,是SMPT服务器的FQDN

3. 在FQDN前面,有一个数字,表示优先级,比如10 ,20


示例:

contoso.com. IN MX 10 mx1.contoso.com.



(四)、A记录

表示主机记录

1. name:主机的FQDN

2. value:主机的IP地址


www IN A 192.168.58.100


(五)、PTR记录

1. name:IP地址中的主机地址

2. value: 主机的FQDN


示例:

30 IN  PTR    linux.contoso.com.



四、创建一个缓存服务器

  listen-on port 53 { 192.168.99.28; };

  allow-query     { any; };


修改以下两项:

1. 监听地址:将地址改成服务器的内网IP地址;

2. 允许查询: 将地址改成所有;


创建成缓存服务器时,recursion这一栏的结果应为yes,即允许递归查询。




五、 正向区域的创建

示例: 创建一个名为contoso.com的正向查找区域


(一)、 编辑/etc/named.rfc1912.zones

在文件中添加一个区域

zone "contoso.com" IN {

        type master;

        file "contoso.com.zone";

        allow-update { none; };

};




(二)、 创建一个正向解析区域

# 需要注意的是SOA记录、NS记录、MX记录后面需要加.


[root@liuqing named]# vim /var/named/contoso.com.zone

$TTL 1D

contoso.com.    IN SOA  ns1.contoso.com.  admin.cotoso.com. (


                                        10

                                        1D

                                        1H

                                        1W

                                        3H )

contoso.com.    IN  NS  ns1.cotoso.com.

contoso.com.    IN  MX  10 mx1.contoso.com.

ns1             IN  A   192.168.99.28

mx1             IN  A   192.168.99.29

www             IN  A   192.168.58.158

bbs             IN  A   192.168.9.1

bbs             IN  A   192.168.99.254



(三)、修改区域文件的权限和属主

chown root:named /var/named/contoso.com.zone

chmod 640 /var/named/contoso.com.zone

注意:如果文件的属组不属于named,是不能解析的

   如果修改了主配置文件下的recursion选项为no,则不能进行递归查询,不能解析权威区域以外的记录,即不能解析公网的名称。


(四)、 检查

1. 检查配置文件: named-checkconf 

2. 检查区域文件: named-checkzone  contoso.com /var/named/contoso.com.zone


(五)、关于点号的使用:

1. 在修改/etc/named.rfc1912.zones,添加区域时,区域名称不需要加点号。但file字段,后面跟着的文件名,必须在/var/named/目录下存在;

2. 在区域数据库文件中,SOA、NS、MX记录的名称和值需要加点号;

3. 在区域数据库文件中,可以使用$TTL和$ORIGIN来做全局变量;

TTL 1D    #表示全局的TTL值为1天,在资源记录里,不需要再指定TTL值;

ORIGIN   contoso.com.    #表示可以在SOA、NS、MX记录等需要写FQDN的位置省略掉contoso.com.这一段,只需要写主机的单标签名称;

4. 点号是在写FQDN时需要使用,如果单只写了mx1这样的单标签名称,是不需要在右侧加点号的;



六、反向区域的创建

(一)、 修改/etc/named.rfc1912.zones文件,添加一个区域

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

        type master

        file "192.168.99.zone"

};




(二)、创建一个文件/var/named/192.168.99.zone的文件,做为99.168.192.in-addr.arpa反向区域的数据库


$TTL 1D

@ IN  SOA ns1.contoso.com. admin.contoso.com.       (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

IN NS ns1.contoso.com.

28      IN PTR  ns1.contoso.com.

29      IN PTR  mx1.contoso.com.

69      IN PTR  fileserver.contoso.com.


或者

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


$TTL 1D

$ORIGIN 99.168.192.in-addr.arpa.

@       IN  SOA ns1.contoso.com.    admin.contoso.com.       (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

           IN NS   ns1.contoso.com.

28      IN PTR  ns1.contoso.com.

29      IN PTR  mx1.contoso.com.

69      IN PTR  fileserver.contoso.com.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~