五、DNS与bind

  5.1、DNS简介

创新互联建站专注于浔阳企业网站建设,响应式网站建设,商城网站制作。浔阳网站建设公司,为浔阳等地区提供建站服务。全流程定制网站,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

  DNS服务可以为用户提供域名和IP之间的自动转换。通过DNS,用户只需输入机器的域名即可访问相关的服务,而无需使用那些难以记忆的IP地址。DNS帮助用户在互联网上寻找路径,在互联网上的每一个计算机都拥有一个唯一的地址,称作'IP地址'。由于IP地址是一串数字,难以记忆,而DNS允许用户使用一串有意义的字符串'即域名'取代,由域名转换成相应IP地址的这个过程称为域名解析。

  DNS域名又称为DNS命名空间,它是以层次树状结构进行管理的,其最顶层是根域。根域在整个DNS命名空间是唯一的,而根域下可以分为多个子域,每个子域又可以分为多个子域。例如,Internet命名空间具有多个顶级域名(top-level domain names,TLD),如org,net,com等。而cn顶级域名又可以有多个子域,如edu、net、org和com等。

五、DNS与bind

  一个完整的域名由顶级域以及各子域的名称所组成,各部分之间用圆点'.'分隔开来。其中最后一个 '.'称为根域,可省略,其左边部分称为顶级域名;第二个点'.'的左边部分称为二级域名(SLD);二级域左边部分称为三级域名;以此类推。例如www.sina.com.cn.中cn是一级域名,com是二级域名,sina是三级域名。全球一共有13个根域,其IP地址分别是:

[root@mylinux ~]# dig
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11096
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 15
;; QUESTION SECTION:
;.                              IN      NS
;; ANSWER SECTION:
.                       66583   IN      NS      e.root-servers.net.
.                       66583   IN      NS      f.root-servers.net.
.                       66583   IN      NS      b.root-servers.net.
.                       66583   IN      NS      a.root-servers.net.
.                       66583   IN      NS      m.root-servers.net.
.                       66583   IN      NS      i.root-servers.net.
.                       66583   IN      NS      k.root-servers.net.
.                       66583   IN      NS      j.root-servers.net.
.                       66583   IN      NS      d.root-servers.net.
.                       66583   IN      NS      c.root-servers.net.
.                       66583   IN      NS      l.root-servers.net.
.                       66583   IN      NS      g.root-servers.net.
.                       66583   IN      NS      h.root-servers.net.
;; ADDITIONAL SECTION:
a.root-servers.net.     3580244 IN      A       198.41.0.4
b.root-servers.net.     3576238 IN      A       192.228.79.201
c.root-servers.net.     3580290 IN      A       192.33.4.12
d.root-servers.net.     3575852 IN      A       199.7.91.13
e.root-servers.net.     3523146 IN      A       192.203.230.10
f.root-servers.net.     3590994 IN      A       192.5.5.241
g.root-servers.net.     3549348 IN      A       192.112.36.4
h.root-servers.net.     3586059 IN      A       198.97.190.53
i.root-servers.net.     3534085 IN      A       192.36.148.17
j.root-servers.net.     3562264 IN      A       192.58.128.30
k.root-servers.net.     3562350 IN      A       193.0.14.129
l.root-servers.net.     3534062 IN      A       199.7.83.42
m.root-servers.net.     3561115 IN      A       202.12.27.33
a.root-servers.net.     3574439 IN      AAAA    2001:503:ba3e::2:30
b.root-servers.net.     3565057 IN      AAAA    2001:500:84::b
;; Query time: 7 msec
;; SERVER: 10.225.30.181#53(10.225.30.181)
;; WHEN: Tue May 23 20:33:36 2017
;; MSG SIZE  rcvd: 492

  Internet域名空间的顶级域是由ICANN(英特网名称与数字地址分配机构)负责管理,这是一个近年来成立的负责管理Internet域名即地址系统的非营利机构。顶级域分为通用和国家两大类。

通用顶级域名说明通用顶级域名说明
com商业机构biz商业机构
net网络服务组织name个人
org非营利性组织pro专用人士
edu
教育机构coop商业合作社
gov
政府机构aero航空运输业
mil
军事机构museum博物馆行业
int
国际组织travel旅游行业
info
信息行业job招聘和求职市场

  除美国以外的国家或地区需要使用国家域名,国家域名使用双字母来进行标识。常见国家顶级域名有

国家顶级域名说明国家顶级域名说明
cn中国jp日本
hk
中国香港uk英国
tw
中国台湾kr韩国
mo
中国澳门de德国
sg
新加坡fr法国
us
美国ru俄罗斯

  5.2、DNS工作原理

  在DNS出现之前,通常是通过计算机上维护一个hosts文件(/etc/hosts)的方式来实现主机名和IP地址之间的解析。管理员在hosts文件中记录所有需要访问的主机的主机名与IP地址,当需要进行解析的时候系统会自动查询hosts文件,并找出匹配的解析关系。采用这种方式,每台主机上都必须维护一个hosts文件。网络中每增加一台计算机就必须手工修改hosts文件,添加新的计算机主机名和IP地址对应的记录。

  随着计算机网络的快速发展,网络中计算机数量随之快速增长,这种依赖hosts文件来实现主机名和IP地址之间解析的方式无法满足网络发展的需求。DNS提供了完整解决方案。

五、DNS与bind

  DNS服务器采用C/S方式进行工作。其具体工作流程为:

1、当需要进行DNS解析时,系统会向本地DNS服务器发出解析请求,由本地DNS服务器进行域名和IP地址的解析工作。

2、本地DNS服务器收到用户请求后,则会将自身的DNS数据库进行查找匹配的域名和IP记录。如果找到则把结果返回给客户端并完成解析工作;如果没有找到则把请求转发给根服务器。

3、根域DNS服务器查到所对应顶级域,将结果返回本地DNS服务器;本地DNS服务器根据顶级域地址向顶级域发起请求,顶级域DNS服务器查到二级域对应地址返回给本地DNS服务器;本地DNS服务器根据二级域地址向二级域DNS服务器发送请求,二级域DNS服务器查到三级域对应地址返回给本地DNS服务器;以此类推,直到本地DNS服务器找到最终要解析的域名所对应的IP地址

4、最终本地DNS服务器把结果返回给客户端

5、如果经过查找后依然无法找到所需要的解析记录,则有本地DNS服务器向客户端返回无法解析的错误信息。

  上面的工作流程为正向解析,即FQDN-->IP,反向解析为IP-->FQND正反向解析是两个不同的名称空间,是两棵不同的解析树;不应该存放同一个数据库。FQDN(Full Qualified Domain Name, 完全限定域名)。

  5.3、DNS服务器的安装

  bind是一款代码的DNS服务器软件,它是由伯克利大学编写,全名(Berkeley Internet Name Domain)伯克利英特网域名,是目前世界上使用最为广泛的DNS服务器软件。

  Centos6.5中自带了bind软件。但是为了使用最新版的bind软件,可以从官方网站http://www.isc.org/上下载该软件软代码进行安装,也可以直接使用yum安装。

[root@mylinux home]# yum install bind -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.tuna.tsinghua.edu.cn
 * epel: mirrors.tuna.tsinghua.edu.cn
 * epel-debuginfo: mirrors.tuna.tsinghua.edu.cn
 * epel-source: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.hust.edu.cn
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind.x86_64 32:9.8.2-0.62.rc1.el6_9.2 will be installed
--> Processing Dependency: portreserve for package: 32:bind-9.8.2-0.62.rc1.el6_9.2.x86_64
--> Running transaction check
---> Package portreserve.x86_64 0:0.0.4-11.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================
 Package            Arch          Version                           Repository      Size
=========================================================================================
Installing:
 bind               x86_64        32:9.8.2-0.62.rc1.el6_9.2         updates        4.0 M
Installing for dependencies:
 portreserve        x86_64        0.0.4-11.el6                      base            23 k

Transaction Summary
=========================================================================================
Install       2 Package(s)

Total download size: 4.0 M
Installed size: 7.3 M
Downloading Packages:
(1/2): bind-9.8.2-0.62.rc1.el6_9.2.x86_64.rpm                     | 4.0 MB     00:42     
(2/2): portreserve-0.0.4-11.el6.x86_64.rpm                        |  23 kB     00:00     
-----------------------------------------------------------------------------------------
Total                                                     87 kB/s | 4.0 MB     00:47     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : portreserve-0.0.4-11.el6.x86_64                                       1/2 
  Installing : 32:bind-9.8.2-0.62.rc1.el6_9.2.x86_64                                 2/2 
  Verifying  : portreserve-0.0.4-11.el6.x86_64                                       1/2 
  Verifying  : 32:bind-9.8.2-0.62.rc1.el6_9.2.x86_64                                 2/2 

Installed:
  bind.x86_64 32:9.8.2-0.62.rc1.el6_9.2                                                  

Dependency Installed:
  portreserve.x86_64 0:0.0.4-11.el6                                                      

Complete!

启动和关闭bind

 安装完成后可以开启bind服务,bind通过named命令进行启动,一般让其后台运行。

[root@mylinux named]# service named start
Generating /etc/rndc.key:[  OK  ]
Starting named: [  OK  ]
[root@mylinux named]# ss -tunlp | grep :53    #查看DNS监听的端口,默认只监听本机
udp    UNCONN     0      0              127.0.0.1:53                    *:*      users:(("named",1538,512))
udp    UNCONN     0      0                    ::1:53                   :::*      users:(("named",1538,513))
tcp    LISTEN     0      3                    ::1:53                   :::*      users:(("named",1538,21))
tcp    LISTEN     0      3              127.0.0.1:53                    *:*      users:(("named",1538,20))

5.4、bind服务器配置

  bind的主要配置文件包括named.conf和相应的区域文件,bind中各种配置的更改都是通过这个文件完成,修改完成后需要重新启动bind服务使配置生效。其主要配置文件有:

服务脚本:/etc/rc.d/init.d/named

主配置文件:/etc/named.conf, /etc/named.rfc1912.zones(请求注解文档)

区域解析库文件:/var/named/zone_name.zone(至少包含根、本地、回环这三个区域文件)

    named.ca  named.localhost  named.loopback

  • named.conf配置文件

  named.conf是bind的主要配置文件,里面存储了大量的bind自身的设置信息。bind安装完成后并不会自动创建该配置文件,用户需要通过命令手工生成。 默认显示内容为

[root@mylinux etc]# cat name.conf 
 key "rndc-key" {
        algorithm hmac-md5;
        secret "9WzbeVyRhvPUak0Irw6pLA==";
 };
 
 controls {
        inet 127.0.0.1 port 953
                allow { 127.0.0.1; } keys { "rndc-key"; };
 };
[root@mylinux etc]#

  named.conf配置文件由配置语句和注释语句组成。每条配置语句以分号';'结尾,多条配置语句组成语句块;注释语句使用两个左斜杠'//'作为注释符。named.conf配置文件所支持的配置语句有:

语句说明
acl定义一个主机匹配列表,用于访问控制或其它用途
controls定义rndc工具与bind服务进程的通信
include把其他文件中的内容包含进来
key
定义加密秘钥
logging
定义系统日志信息
lwres
把named配置为轻量级解释器
masters定义主域名列表
options
设置全局选项
statistics-channels
定义bind的统计信息的通信通道
server
定义服务器的属性
trusted-keys
定义信任的DNSSEC密钥
view
定义视图
zone
定义区域

acl语句,用于定义地址匹配列表,其格式为:

acl string { 
    address_match_element; 
    ... 
};

  bind默认定义了一些地址匹配列表

地址匹配列表说明
any匹配任何主机
none不匹配任何主机
localhost匹配系统上所有网卡的IPv4和IPv6的地址
localnets
匹配任何与系统有接口的主机的IPv4和IPv6的地址

controls语句,用于定义rndc工具与bind服务进程的通信,系统管理员可以通过rndc向bind进行发出命令,并接受由bind返回的结果。其格式为:

controls {
    inet ( ipv4_address | ipv6_address | * )
        [ port ( integer | * ) ]
    allow { address_match_element; ... }
        [ keys { string; ... } ];
    unix unsupported; // not implemented
};

include语句,用于把语句中所制定的文件的内容添加进named.conf配置文件中,该语句格式为:

include filename

key语句,用于定义TSIG或命令通道所使用的加密秘钥,其格式为:

key domain_name {
     algorithm string;
     secret string;
};

option语句,用于设置影响整个DNS服务器的全局选项,该语句在named.conf配置文件中只能出现一次。如果没有设置该语句,bind将使用默认的option值。该语句支持选项非常多,常用选项有:

options {
    directory quoted_string;
    forward ( first | only );
    forwarders [ port integer ] {
                     ( ipv4_address | ipv6_address ) [ port integer ]; ...
                };
    query-source ( ( ipv4_address | * ) | [ address ( ipv4_address | * ) ] ) 
[ port ( integer | * ) ];
    query-source-v6 ( ( ipv6_address | * ) | [ address ( ipv6_address | * ) ]
 ) [ port ( integer | * ) ];
    statistics-interval integer;

  directory选项用于定义服务器的工作目录,在配置文件中所指定的所有相对路径都是相对于该路径来定义的。该目录也是服务器中大部分输出文件(如name.run)的存储位置。系统默认使用'.'(即bind启动的目录)作为工作目录,一般把bind的工作目录设置为/var/named,如

directory  '/var/named';

  forwarders选项用于指定DNS请求的转发到其他的DNS服务器上,该选项默认为空,也就是不进行转发 。选项值可以是一个IP地址或主机名,也可以是多台主机的列表,如

forwarders {192.168.191.2;192.168.191.100;192.168.191.105;}

  forward选项仅在forwarders选项不为空时生效,该选项用于控制DNS服务器的请求转发操作。如果选项为first,则DNS服务器会先把请求转发给forwarders选项中所指定的远端DNS服务器。如果远端DNS服务器无法响应请求,则bind将尝试自行解析该请求;如果选项值为only,则bind至转发请求,并不进行处理。

  query-source和query-source-v6选项分别用于设置DNS服务器所使用的IPv4和IPv6的IP地址和端口号。默认端口号为53,如果指定其他端口,将无法与全局的DNS服务器通信。

  statistics-interval选项用于指定DNS服务器记录统计信息的时间间隔,单位为分钟,默认为60,最大值为40320,如果选项为0,则服务器不记录统计信息。

server语句,bind有可能与其他的DNS服务器进行通信,但是并非所有的DNS服务器都运行同一个版本的bind。server语句可以设置远程服务器的特征信息,以使双方能够正常通信。该语句的格式为:

server ( ipv4_address[/prefixlen] | ipv6_address[/prefixlen] ) {
                bogus boolean;
                edns boolean;
                edns-udp-size integer;
                max-udp-size integer;
                provide-ixfr boolean;
                request-ixfr boolean;
                keys server_key;
                transfers integer;
                transfer-format ( many-answers | one-answer );
                transfer-source ( ipv4_address | * )
                     [ port ( integer | * ) ];
                transfer-source-v6 ( ipv6_address | * )
                     [ port ( integer | * ) ];
                support-ixfr boolean; // obsolete
           };

view语句,该语句可以使bind根据客户端地址来决定需要返回的域名解析结果,也就是说,不同的主机通过同一台DNS服务器对同一个域名解析,会得到不同的解析结果。其格式为:

view string 
    optional_class{
        match-clients { address_match_element; ... };
                match-destinations { address_match_element; ... };
                match-recursive-only boolean;
                key string {
                     algorithm string;
                     secret string;
                };
                zone string optional_class {
                     ...
                };
    }

  每一条view语句定义了一个客户端集合所能看到的视图,如果客户端匹配试图中的match-clients选项所定义的客户端列表,那么bind将根据该视图返回解析结果。例如,希望对内网用户和外网用户进行区分,使他们访问同一个域名时会得到不同的结果。可以使用view语句定义不同的视图,在两个视图中分别定义不同的属性,以达到效果。

view 'internal'{
        match-clients { 172.0.0.0/8; };
        recursion yes;
        zone 'example.com'{
            type master:
            file 'example-internal.zone';
        };
    };
view 'external'{
        match-clients { any; };
        recursion no;
        zone 'example.com'{
            type master:
            file  'example-external.zone';
        };
    };

zone语句,该语句是named.conf文件的核心部分。每一条zone语句定义一个区域,用户可以在区域中设置该区域相关的选项。在bind中可以设置多种类型的区域,如表所示。不同类型的区域,其zone语句的d定义有所不同。

区域类型说明
master主DNS区域
slave从DNS区域,由主DNS区域控制
forward将解析请求转发给其他服务器
hint
根DNS服务器集
stub
与从区域类似,但只保存DNS服务器的名字
zone 'domain_name' IN{
      type master;
      file 'path';
}; 

zone '.' IN{
      type hint;
      file 'path';
};

  其中,根域的名称为'.',type选项定义区域的类型,根域所对应的类型代码为hint。file选项定义了该区域所使用的区域文件,在该文件中可以定义与该区域文件相关的各种属性。主DNS区域是bind中最基本的区域类型,它又可以分为正向解析区域和反向解析区域两种。如下面定义了一个域名为test.com的正向解析区域,使用区域文件为test.zone。

zone 'test.com' IN {
      type master;
      file 'test.zone';
      allow-update {none;};
};

  反向解析主区域的例子为:

zone '1.168.192.in-addr.arpa' IN {
      type master;
      file 'test.local';
      allow-update {none;};
};

检查该配置文件语法错误的命令有:

Service named-checkconfig          #检查配置错误     
service name-checkzone             #检查区域错误
  • 根区域文件named.ca

  named.ca是一个特殊的区域文件,该文件中记录了Internet上的根DNS服务器的名称和IP地址。DNS服务器接收到客户端发来的解析请求后,如果在本地找不到匹配的DNS记录,则把请求发送到该文件中所定义的根DNS服务器上进行逐级查找。在该文件中总共定义13个根DNS服务器。

[root@mylinux var]# cat named.ca 
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t NS . @a.root-servers.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1193
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;.                              IN      NS
;; ANSWER SECTION:
.                       518400  IN      NS      e.root-servers.net.
.                       518400  IN      NS      h.root-servers.net.
.                       518400  IN      NS      l.root-servers.net.
.                       518400  IN      NS      i.root-servers.net.
.                       518400  IN      NS      a.root-servers.net.
.                       518400  IN      NS      d.root-servers.net.
.                       518400  IN      NS      c.root-servers.net.
.                       518400  IN      NS      b.root-servers.net.
.                       518400  IN      NS      j.root-servers.net.
.                       518400  IN      NS      k.root-servers.net.
.                       518400  IN      NS      g.root-servers.net.
.                       518400  IN      NS      m.root-servers.net.
.                       518400  IN      NS      f.root-servers.net.
;; ADDITIONAL SECTION:
e.root-servers.net.     518400  IN      A       192.203.230.10
e.root-servers.net.     518400  IN      AAAA    2001:500:a8::e
h.root-servers.net.     518400  IN      A       198.97.190.53
h.root-servers.net.     518400  IN      AAAA    2001:500:1::53
l.root-servers.net.     518400  IN      A       199.7.83.42
l.root-servers.net.     518400  IN      AAAA    2001:500:9f::42
i.root-servers.net.     518400  IN      A       192.36.148.17
i.root-servers.net.     518400  IN      AAAA    2001:7fe::53
a.root-servers.net.     518400  IN      A       198.41.0.4
a.root-servers.net.     518400  IN      AAAA    2001:503:ba3e::2:30
d.root-servers.net.     518400  IN      A       199.7.91.13
d.root-servers.net.     518400  IN      AAAA    2001:500:2d::d
c.root-servers.net.     518400  IN      A       192.33.4.12
;; Query time: 68 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Thu May 25 03:26:39 2017
;; MSG SIZE  rcvd: 508

正向解析区域文件

 正向解析区域文件用于映射域名和IP地址,文件中包含该文件区域的所有参数,包括域名,IP地址、刷新时间、重试时间、和超时等。

资源记录(Resource Record, RR)格式:

NAME(类型)   [TTL](缓存时长)   IN  RRT(DNS资源记录类型) VALUE(数据)

1、SOA(Start Of Authority):   起始授权记录,只能有一个

  name: 区域名称, 通常可以简写为@,例如:magedu.com.

  value: 主DNS服务器的FQDN

  注意:SOA必须是区域数据库文件第一条记录

@  600 IN  SOA  ns.magedu.com.  dnsadmin.magedu.com.(
serial number;    序列号,十进制数字,不超过10位,通常使用日期,如2014031001
refresh time  ;   刷新时间,即每隔多久到主服务器检查一次
retry time    ;   重试时间,应该小于refresh time
expire time  ;    过期时间
negative answer ttl  ;否定答案的ttl
)

2、NS(Name Server): ZONE NAME --> FQDN   名称服务器,可以有多个

name: 区域名称,通常可以简写为@

value: DNS服务器的FQDN(可以使用相对名称)

@  600 IN  NS  ns

3、MX(Mail eXchanger): ZONE NAME --> FQDN 邮件交换器

name: 区域名称,用于标识smtp服务器

value: 包含优先级和FQDN,优先级:0-99, 数字越小,级别越高;

@ 600 IN MX   10   mail

4、A(address):FQDN-->IPv4  5、AAAA:FQDN-->IPv6

name: FQDN(可以使用相对名称)

value: IP

www  600 IN  A  192.168.1.2

6、PTR(pointer):IP-->FQDN只能定义在反向区域数据文件中

name: IP, 逆向的主机地址,例如172.16.100.7的name为7.100,

完全格式为7.100.16.172.in-addr.arpa.

value: FQDN

7.100 600  IN  PTR  www.maged.com.

7、CNAME(Canonical NAME): FQDN-->FQDN别名记录

name: FQDN

value: FQDN

ftp IN CNAME  www

一个完整的正向解析区域文件:

$TTL 1D
@  IN  SOA  test.com.  root.test.com.(
    0    
    1D   
    1H
    1W
    3H
)
IN   NS      dns.test.com.
IN   MX  10    mail1.test.com.
IN   MX  10    mail2.test.com.
www    IN A 192.168.1.101
mail1  IN A 192.168.1.102
mail2  IN A 192.168.1.103
dns    IN A 192.168.1.104

反向解析区域文件

  用于定义IP地址到域名的解析,它采用与正向解析文件类似的选项和格式。但由于是进行反向解析,所以该文件是使用PTR指针记录,而不是主机记录。下面是一个反向解析的例子

$TTL 86400
@    IN    SOA    test.com.    root.test.com.(
    20031001
    7200
    3600
    43200
    86400
)
IN    NS    dns.test.com.
101    IN    PTR    www.test.com.
102    IN    PTR    mail1.test.com.
103    IN    PTR    mail2.test.com.
104    IN    PTR    dns.test.com.

DNS服务器类型

主DNS服务器:维护所负责解析的域内解析库服务器;解析库由管理维护;

从DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库;

     序列号:解析库的版本号;前提:主服务器解析库内容发生变化,其序列递增;

     刷新时间间隔:从服务器从主服务器请求同步解析库的时间间隔;

     重试时间间隔:从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔;

     过期时长:从服务器始终联系不到主服务器时,从服务器角度,停止提供服务。

缓存名称服务器:非权威答案。

主从服务器同步的方式:

  域:Domain(逻辑概念)区域:Zone(物理概念)

  区域传送:

    全量区域传送:传送整个解析库。AXFR

    增量区域传送:传递解析库变化的那部分内容。IXFR

rndc命令

  rndc: Remote Name Domain Controller远程管理BIND的工具,默认与bind安装在一起,且只能通过127.0.0.1来连接named进程;提供辅助性的管理功能。监听端口(953/tcp)。

  rndc与bind通过密钥进行连接互信。

    rndc: 持有一半密钥,保存于rndc的配置文件中

    BIND:持有一半密钥,保存于主配置文件中

rndc的配置文件/etc/rndc.conf

在CentOS或RHEL系统中配置文件为: 密钥文件/etc/rndc.key

命令格式:rndc COMMAND   

reload: 重载主配置文件和区域解析库文件

reload zone: 重载区域解析库文件

retransfer zone: 手动启动区域传送过程,而不管序列号是否增加;

notify zone: 重新对区域传送发通知;

reconfig: 重载主配置文件

querylog: 开启或关闭查询日志;

trace: 递增debug级别;

trace LEVEL: 指定使用的级别

flush: 清空服务器的缓存

flushname name: 清空指定名称相关的缓存

5.5、各种DNS服务器的配置方法

缓存名称服务器

 缓存名称服务器配置十分简单,只需要通过yum安装后,对主配置文件进行一些修改即可。

[root@mylinux named]# vim /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
//      listen-on port 53 { 127.0.0.1; };      开放监听端口,或者添加外网地址
//      listen-on port 53 { 0.0.0.0; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
//      allow-query     { localhost; };   关闭仅允许主机递归
        recursion yes;
//      dnssec-enable yes;                关闭dnssec
//      dnssec-validation yes;
        /* Path to ISC DLV key */
//      bindkeys-file "/etc/named.iscdlv.key";
//      managed-keys-directory "/var/named/dynamic";
};
....
[root@mylinux named]# service named restart                    #重启服务
Stopping named: [  OK  ]
Starting named: [  OK  ]
[root@mylinux named]# dig -t A www.baidu.com @192.168.191.128   #测试解析结果

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t A www.baidu.com @192.168.191.128
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55532
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 5

;; QUESTION SECTION:
;www.baidu.com.                 IN      A

;; ANSWER SECTION:
www.baidu.com.          1200    IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       300     IN      A       111.13.100.91
www.a.shifen.com.       300     IN      A       111.13.100.92

;; AUTHORITY SECTION:
a.shifen.com.           1200    IN      NS      ns4.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns3.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns5.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns2.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns1.a.shifen.com.

;; ADDITIONAL SECTION:
ns5.a.shifen.com.       1200    IN      A       119.75.222.17
ns3.a.shifen.com.       1200    IN      A       61.135.162.215
ns2.a.shifen.com.       1200    IN      A       180.149.133.241
ns4.a.shifen.com.       1200    IN      A       115.239.210.176
ns1.a.shifen.com.       1200    IN      A       61.135.165.224

;; Query time: 1102 msec
;; SERVER: 192.168.191.128#53(192.168.191.128)
;; WHEN: Thu May 25 21:12:03 2017
;; MSG SIZE  rcvd: 260

主DNS服务器

 配置主DNS服务器时,需要在主配置文件中定义区域,以及配置解析数据库文件。

[root@mylinux named]# vim /etc/named.rfc1912.zones 
        allow-update { none; };
};
zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};
zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
};
zone "mylinux.com" IN {                                       ;添加的区域mylinux.com
        type master;
        file "mylinux.com.zone";
        allow-update { none; };
};
"/etc/named.rfc1912.zones" 46L, 1022C written                          
[root@mylinux named]# named-checkconf  /etc/named.rfc1912.zones    #检查配置文件是否错误
[root@mylinux named]# vim /var/named/mylinux.com.zone              #解析数据库文件

$TTL 1D
@  IN  SOA  test.com.  root.test.com.(
    0
    1D
    1H
    1W
    3H
)
@       IN      NS  dns
@       IN      MX  10  mail1
@       IN      MX  10  mail2
dns     IN      A   192.168.1.104
www     IN      A   192.168.1.101
mail1   IN      A   192.168.1.102
mail2   IN      A   192.168.1.103

"mylinux.com.zone" 15L, 269C written                      &nb            
            
                            
本文名称:五、DNS与bind
文章源于:http://pwwzsj.com/article/gsddsp.html