DNS and BIND 介绍及安装

  • DNS

    • DNS是什么

    • 为什么要用DNS

    • 域名

  • BIND

DNS是什么

DNS:Domain Name System,域名系统
DNS作为域名和IP地址相互映射的一个分布式数据库,能够让用户更方便的访问互联网。它的正向映射是吧一个主机和IP地址关联起来,它的反向映射则是IP地址到主机名。
DNS协议运行在UDP协议上,使用53端口。

为什么要用DNS

  • 连接到互联网上的主机不计其数。当我想要访问www.magedu.com这台主机的时候,是如何查找到它的呢?
    假如,我的电脑想要访问www.magedu.com这个网站。由于底层网络是只能理解IP地址,而我的电脑不知道www.magedu.com这台主机的IP地址。所以我的电脑会向最近的远端DNS服务器发送请求查询www.magedu.com的IP地址。DNS服务器收到查询请求之后,把查询到的结果(IP:101.200.188.230)再返还给我的电脑。然后我的电脑再通过IP地址进行访问。
    1.jpg
    如图所示:

    1. 我的电脑向DNS服务器发送查询请求

    2. DNS服务器将查询的结果返还给我的电脑

    3. 我的电脑通过IP地址访问www.magedu.com

域名

  • DNS名字空间
    DNS名字空间被组织成一个“树”形结构。每个完整的域名(例如,www.magedu.com)是这棵树的分支上的一个结点。
    完整限定域名(FQDN,Fully Qualified Domain Name)是到一个DNS对象的完整路径,包括最后的一个点。例如,magedu.com域里的一台为www的主机,其FQDN就是www.baidu.com
    2.jpg
    以上述的域名为例说明,magedu网址是由两部分组成,标号magedu是这个域名的主体,而最后的标号com则是该域名的后缀,代表的这是一个com国际域名,是顶级域名。而前面的www是网络名,为www的域名。
    DNS规定,域名中的标号由英文字母和数字组成,每个组成部分(标号)不能超过63个字符,整个FQDN(完整域名)全长不超过256个字符。FQDN不区分大小写,但是它们通常都采用小写。RFC2181对域名放开了限制。

  • 域名级别
    域名分为:
    国际顶级域名:.com,.net,.org,.edu等
    国家地区顶级域名:.cn,.de,.jp,.hk,.uk,.us等
    除了顶级域名外,还有二级域名,就是靠近顶级域名的左侧的字段。如:www.magedu.com中,.magedu就是二级域名。接下来还有三级域名,即靠近二级域名的左侧的字段,以此类推还有四级域名等等。

  • DNS查询类型
    递归查询:客户机向根服务器发送请求,根服务器并不返回真实的答案,而是推荐它下级的服务器,以此类推,直到查询IP地址返回给客户机。
    迭代查询:客户机向DNS服务器发送请求,DNS服务器直接回复答案给客户机。

  • 域名解析
    正向解析:FQDN到IP地址的解析。
    反向解析:IP地址到FQDN的解析。

  • 域名服务器的分类

    服务器的类型 说明
    主服务器 维护所负责解析的域内解析库的服务器
    从服务器 从主DNS服务器或其它从DNS服务器“复制”(区域传送)一份解析库
    缓存服务器 缓存以前的查询,通常没有本地的区
    转发服务器 负责非本地域名的本地查询
  • 一次完整的查询过程
    以上述域名www.magedu.com为例。客户机向最近的远端DNS服务器发送查询请求,DNS服务器首先查看缓存中是否有www.magedu.com这条记录。如果没有就向根服务器发送查询请求,根服务器会告诉你要去请求.com顶级服务器。之后DNS服务器再向顶级域名服务器发送查询请求,得到的回复是向.magedu这个二级域名服务器发送查询请求。最终,DNS服务器向二级域名发送请求并得到正确答案返回给客户机。同时将此次查询的结果写入缓存之中,以便下次的查询。
    3.jpg

  • 资源记录
    DNS层次结构中的每一个区(zone),都有与之相关的一组资源记录。资源记录的基本格式是:
    name [TTL] IN rr_type value
    记录的类型

    类型 名称 功能
    SOA Start Of Authority 定义一个DNS区
    NS Name Server 标识服务器,授权子域
    A IPv4 Address 名字到地址的转换
    AAAA IPv6 Address 名字到IPv6地址的转换
    PTR Pointer 地址到名字的转换
    MX Mail Exchanger 控制邮件的路由
    CNAME Canonical Name 主机的昵称或别名
  • 记录类型解释

SOA
一个SOA记录标记出一个区,即位于DNS域名空间中相同位置的一组资源记录的开始位置。一个DNS域的数据通常至少包括两个区:一个区用来把主机名转换成IP地址,称为正向区,其他一些区把IP地址反向映射到主机名,称为反向区。

例如:
magedu.com.    86400    IN  SOA    ns.magedu.com.  admin.magedu.com.    (
               2016040201    ; 序列号
               2H    ;刷新时间
               10M    ;重试时间
               1W    ;过期时间
               1D    ;否定答案的TTL值
)

NS
NS(域名服务器)记录标识一个区的权威服务器(主服务器和从服务器),并把子域授权给其他机构。NS记录通常直接放在这个区的SOA记录后面

注意:一个区域可以有多条NS记录
例如:
magedu.com.  IN  NS  ns1.magedu.com.
magedu.com.  IN  NS  ns2.magedu.com.

注意:
相邻的两个资源记录的name相同时,后续的可以省略。
对NS记录而言,任何一个NS记录后面的服务器名字,都应该在后续有一个A记录。

MX
电子邮件系统使用MX记录来更有效地路由邮件。MX记录优先于邮件发送方所指定的目的地址,在大多数情况下,它将邮件指向接收方网点的邮件主机。

一个区域内,MX记录可有多个,但是每个记录的value之前应该有一个数字(0-99)。表示此服务器的优先级,数字越小优先级越高。
例如:
magedu.com.  IN  MX 10  mx1.magedu.com.
             IN  MX 20  mx2.magedu.com.

注意:
    对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录。

A
A记录是DNS数据库的核心。它们提供了主机名到IP地址的映射,而这以前实在/etc/hosts文件中指定的。一个主机通常给它的每个网络接口都有一条A记录。

例如:
ns1  IN  A  101.200.188.230

AAAA
AAAA记录提供主机名到IPv6地址的映射。

PTR
PTR记录提供IP地址到主机名的反向映射。反向映射记录存在于in-addr.arpa这个域,并且以IP地址各字节逆序的形式命名。

例如:
101  IN  PTR  www.magedu.com.

CNAME
CNAME记录为之际多分配几个名字。通常,这些别名要么用来将某项功能与主机关联起来,要么用来缩短一个长主机名。

例如:
web.magedu.com.  IN  CNAME  www.magedu.com.

BIND

BIND指Berkeley Internet Name Domain(伯克利因特网域名)系统,它是ISC提供的一种开源软件包,为Linux、UNIX、Mac OS和Windows系统实现了DNS协议。

BIND安装

BIND需要两个包:bindbind-utils,通过yum来进行安装:

~]# yum install bind bind-utils -y

主DNS的配置

一、修改/etc/named.conf

[root@ns1 ~]# 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 { any; };
//    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     { any; };
    recursion yes;

//    dnssec-enable yes;
//    dnssec-validation yes;
//    dnssec-lookaside auto;

    /* Path to ISC DLV key */
//    bindkeys-file "/etc/named.iscdlv.key";

//    managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
    type hint;
    file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

二、编辑/etc/named.rfc1912.zones文件,在最后添加如下两项

[root@ns1 ~]# vim /etc/named.rfc1912.zones

......省略......
zone "iamyanglei.com" IN {                       #正向解析
    type master;                                 #类型为主DNS
    file "iamyanglei.com.zone";                  #正向解析文件位置
};

zone "1.168.192.in-addr.arpa" IN {               #反向解析
    type master;                                 #类型为主DNS
    file "192.168.1.zone";                       #反向解析文件位置
};

三、在/var/named/目录中添加正向解析文件iamyanglei.com.zone

[root@ns1 named]# vim iamyanglei.com.zone

$TTL 86440
@        IN        SOA        ns1.iamyanglei.com.    admin.iamyanglei.com.    (   #SOA字段
                        2016051101              #版本号,同步一次+1
                        1H                      #更新时间
                        2M                      #更新失败,重试更新时间
                        3D                      #更新失败多长时间后此DNS失效时间
                        1D                      #解析不到请求不予回复的时间
)
        IN        NS        ns1.iamyanglei.com.     #域名服务器
        IN        MX    10    mx1.iamyanglei.com.     #定义邮件服务器,10指优先级
ns1        IN        A        192.168.1.104           #ns1域名服务器的IP地址
mx1        IN        A        192.168.1.111           #mx1邮件服务器的IP地址
www        IN        A        192.168.1.121           #www.iamyanglei.com的IP地址
cname        IN        CNAME    www                 #别名

检查语法错误

[root@ns1 named]# named-checkconf
[root@ns1 named]# named-checkzone "iamyanglei.com.zone" /var/named/iamyanglei.com.zone 
zone iamyanglei.com.zone/IN: loaded serial 2016051101
OK

四、在/var/named/目录中添加反向文件192.168.1.zone

[root@ns1 named]# vim 192.168.1.zone

$TTL 86440
@        IN        SOA        ns1.iamyanglei.com.    admin.iamyanglei.com.    (
                    2016051101
                    1H
                    2M
                    2D
                    1D
)
        IN        NS        ns1.iamyanglei.com.
104        IN        PTR        ns1.iamyanglei.com.
111        IN        PTR        mx1.iamyanglei.com.
121        IN        PTR        www.iamyanglei.com.

检查语法错误

[root@ns1 named]# named-checkconf 
[root@ns1 named]# named-checkzone "192.168.1.zone" /var/named/192.168.1.zone 
zone 192.168.1.zone/IN: loaded serial 2016051101
OK

五、更改两个自定义区域文件的权限为640和属组为named

[root@ns1 named]# chmod 640 iamyanglei.com.zone 192.168.1.zone 
[root@ns1 named]# chown :named iamyanglei.com.zone 
[root@ns1 named]# chown :named 192.168.1.zone

六、重启DNS,然后进行正向方向解析测试

[root@ns1 named]# service named restart
[root@ns1 named]# dig -t A www.iamyanglei.com @192.168.1.104        #正向解析

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.7 <<>> -t A www.iamyanglei.com @192.168.1.104
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12805
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.iamyanglei.com.    86440    IN    A    192.168.1.121

;; AUTHORITY SECTION:
iamyanglei.com.        86440    IN    NS    ns1.iamyanglei.com.

;; ADDITIONAL SECTION:
ns1.iamyanglei.com.    86440    IN    A    192.168.1.104

;; Query time: 0 msec
;; SERVER: 192.168.1.104#53(192.168.1.104)
;; WHEN: Thu May 12 04:48:38 2016
;; MSG SIZE  rcvd: 86

[root@ns1 named]# dig -x 192.168.1.104 @192.168.1.104        #反向解析

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.7 <<>> -x 192.168.1.104 @192.168.1.104
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37907
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;104.1.168.192.in-addr.arpa.    IN    PTR

;; ANSWER SECTION:
104.1.168.192.in-addr.arpa. 86440 IN    PTR    ns1.iamyanglei.com.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa.    86440    IN    NS    ns1.iamyanglei.com.

;; ADDITIONAL SECTION:
ns1.iamyanglei.com.    86440    IN    A    192.168.1.104

;; Query time: 0 msec
;; SERVER: 192.168.1.104#53(192.168.1.104)
;; WHEN: Thu May 12 04:51:18 2016
;; MSG SIZE  rcvd: 106

从DNS的配置

一、从服务器的/etc/named.conf文件配置和主DNS一样。
二、编辑区域文件/etc/named.rfc1912.zones,在后面添加正反解析

zone "iamyanglei.com" IN {                  #正向解析
    type slave;                             #类型从DNS
    master { 192.168.1.104; };              #主DNS的IP地址
    file "slaves/iamyanglei.com.zone";      #iamyanglei.com.zone拷贝到slaves目录下
};

zone "1.168.192.in-addr.arpa" IN {          #反向解析
    type slave;                             #类型从DNS
    master { 192.168.1.104; };              #主DNS的IP地址
    file "slaves/192.168.1.zone";           #192.168.1.in-addr.arpa拷贝到slaves目录下
};

三、重启DNS,查看/var/named/slaves目录,会出现192.168.1.zoniamyanglei.com.zone两个文件

[root@ns2 ~]# service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]
[root@ns2 ~]# ls /var/named/slaves/
192.168.1.zone  iamyanglei.com.zone

四、测试正向解析

[root@ns2 ~]# dig -t NS iamyanglei.com @192.168.1.104

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.7 <<>> -t NS iamyanglei.com @192.168.1.104
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46687
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;iamyanglei.com.            IN    NS

;; ANSWER SECTION:
iamyanglei.com.        86440    IN    NS    ns2.iamyanglei.com.
iamyanglei.com.        86440    IN    NS    ns1.iamyanglei.com.

;; ADDITIONAL SECTION:
ns1.iamyanglei.com.    86440    IN    A    192.168.1.104
ns2.iamyanglei.com.    86440    IN    A    192.168.1.106

;; Query time: 1 msec
;; SERVER: 192.168.1.104#53(192.168.1.104)
;; WHEN: Thu May 12 05:08:38 2016
;; MSG SIZE  rcvd: 100

主从同步

在主DNS的/var/named/iamyanglei.com.zone中添加一条A记录

[root@ns1 named]# cat iamyanglei.com.zone 
$TTL 86440
@        IN        SOA        ns1.iamyanglei.com.    admin.iamyanglei.com.    (
                        2016051102          #版本号+1
                        1H
                        2M
                        3D
                        1D
)
        IN        NS        ns1.iamyanglei.com.
        IN        NS        ns2.iamyanglei.com.
        IN        MX    10    mx1.iamyanglei.com.
ns1        IN        A        192.168.1.104
ns2        IN        A        192.168.1.106
mx1        IN        A        192.168.1.111
www        IN        A        192.168.1.121
cname    IN        CNAME    www
img        IN        A        192.168.1.104       #添加的A记录

主DNS重读配置文件

[root@ns1 named]# service named reload
Reloading named:                                           [  OK  ]

到从DNS上查看是否同步复制过来

[root@ns2 ~]# cat /var/named/slaves/iamyanglei.com.zone 
$ORIGIN .
$TTL 86440    ; 1 day 40 seconds
iamyanglei.com        IN SOA    ns1.iamyanglei.com. admin.iamyanglei.com. (
                2016051102 ; serial             #版本号跟随主DNS
                3600       ; refresh (1 hour)
                120        ; retry (2 minutes)
                259200     ; expire (3 days)
                86400      ; minimum (1 day)
                )
            NS    ns1.iamyanglei.com.
            NS    ns2.iamyanglei.com.
            MX    10 mx1.iamyanglei.com.
$ORIGIN iamyanglei.com.
cname            CNAME    www
img            A    192.168.1.104                   #新的A记录
mx1            A    192.168.1.111
ns1            A    192.168.1.104
ns2            A    192.168.1.106
www            A    192.168.1.121

原创文章,作者:黑白子,如若转载,请注明出处:http://www.178linux.com/16152

(0)
黑白子黑白子
上一篇 2016-05-28 16:11
下一篇 2016-05-28

相关推荐

  • 计算机的组成

        计算机组成(computer composition)指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。 计算机组成的任务是在指令集系统结构确定分配给硬件系统的功能和概念结构之后,研究各组成部分的内部构造和相互联系,以实现机器指令集的各种功能和特性。这种联系包括各功能部件的内部和相   &nbsp…

    2017-03-26
  • 第一周课程练习

    马哥教育网络班22期+第一周课程练习 1、描述计算机的组成及其功能   CPU(运算器和控制器),存储器(内存和外存),输入/输出设备。     (1)运算器:对数据进行加工处理(包括算术运算与逻辑运算);     (2)控制器:负责从存储器取出一条指令,并指出下一条指…

    Linux干货 2016-08-15
  • linux基础命令: tr

    基础命令:  tr   tr命令 功能:删除和转换字符 语法:tr  [OPTION]…. SET1  [SET2] 参数: -d : 删除所有属于第一字符集的字符(删除某些特殊字符) -s : 把连续重复的字符以单独一个字符表示(删除空行很有用) 举例: 1.把小写字母转换为大写字母; cat &nbsp…

    Linux干货 2016-08-03
  • rpm程序包管理器使用详解

    rpm程序包管理器的使用详解   说到程序包管理器,就会想到基于CentOS系统上的rpm命令与其对应的前端处理器yum。所谓程序包,是将源代码转换为二进制格式,再组织成一个或者多个包文件供用户安装使用。rpm程序包的命名格式如下:   name-VERSION-release.arch.rpm   软件名-版本号(分为主版本m…

    Linux干货 2016-08-21
  • 马哥教育网络班20期第3周课程练习

    答: 1、 [root@totooco ~]# who | cut -c1-9 | sort -u 2、 [totooco@totooco ~]$ who | cut -c1-9 | head -1 3、 [root@totooco ~]# cat /etc/passwd | cut -d: -f7 | grep -v /sbin/nologin | sor…

    Linux干货 2016-06-23
  • 第十周 Apache服务

    1、Centos7系统下实现httpd-2.2的安装,并分别实现prefork、worker、event等几种工作方式 2、简述request报文请求方法和状态响应码 3、详细描述httpd虚拟主机、站点访问控制、基于用户的访问控制、持久链接等应用配置实例  

    2018-02-09

评论列表(6条)

  • stanley
    stanley 2016-05-29 15:28

    已置顶

  • wangquan8628
    wangquan8628 2016-06-13 14:18

    写的不错

    • Deandre
      Deandre 2017-04-24 05:07

      @wangquan8628Infidelity sttitsaics?Can someone provide a link to a REPUTABLE website showing the infidelity statistics of men vs. that of women. I’m writing a college paper and need a reputable survey. I need to know what percentage of men cheat in their marriage compared to how many women do the same.Reputable website + the right statistics WILL get best answer.Thanks

  • sky138170
    sky138170 2016-06-13 14:22

    对实验很有帮助,再加上原理就更好了

  • sky138170
    sky138170 2016-06-13 14:35

    0801+简单明了,通俗易懂,解释很详细!对我帮助很大!不错!不错

    • xxrenzhe
      xxrenzhe 2016-06-13 14:58

      @sky138170回复在原始博客下是无效评论哦,要评论在《马哥教育首届IT技术博客大赛–复审阶段》帖子下才有效哦!