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

相关推荐

  • 文件系统的创建和管理

    作业:文件系统的创建和管理 思路:管理通常就是增删改查[*代表某一数值,测试机centos6使用的就是ext4,不要问我为什么了,马哥告诉我的,你问他吧!];   事情准备检查系统支持和使用的文件系统格式:         #lsmod  &nbsp…

    Linux干货 2016-01-19
  • 软件包管理器之二——YUM介绍及使用

    一、前言     之前我们介绍了RPM的应用(详细请查看http://www.178linux.com/archives/6383),发觉RPM安装软件有一个很繁琐的问题,那就是包与包之间的依赖关系,如果想正常安装和使用软件程序,就必须根据要求一步一步的解决软件之间的依赖关系。那么如果程序使用的包很多,将会很消耗使用人…

    Linux干货 2015-07-21
  • Linux基础知识之文本处理三剑客sed

    处理文本的工具sed     1.sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”。接着用sed命令处理缓冲区中的内容,完成处理后,把缓冲区中的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。sed主要用来自动编…

    Linux干货 2016-08-11
  • Linux系统启动流程与内管管理(上)

    在讲linux系统启动流程之前,来讲讲linux的组成,这样能能帮助我们深入了解系统的启动流程,废话不多说直接上系统启动流程图 linux组成 linux:kernel+rootfs kenrel的作用:进程管理、内存管理、网络管理、驱动程序、文件系统、安全管理等   rootfs:程序和glibc 库:函数结合,function,调用接口(头文件…

    系统运维 2016-09-14
  • 关于压测的宏观个人总结

    工作角色定位 首先先从宏观角度来评估下本次的压测工作. 从工作职责上说本次压测理应由组内其它同学来完成,个人从旁协助或指导即可。团队成员的成长对我个人来说才是更大的成长。所以即使这次压测工作完成的再出色,都会因为是由我来完成的,所以都不能称之为优秀的。对我个人的成长最多是项目经验的增长和问题的积累,但对组员来说如何让他们做到现有成果的80%是我需要帮助他们来…

    Linux干货 2015-04-21
  • Linux计划任务

    计划任务 Linux任务计划、周期性任务执行 • 未来的某时间点执行一次任务:     at     batch:系统自行选择空闲时间去执行此处指定的任务 • 周期性运行某任务:      cron at任务 …

    Linux干货 2016-09-10

评论列表(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技术博客大赛–复审阶段》帖子下才有效哦!