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 20:49

相关推荐

  • Linux作业管理和并发执行

    概述 本章将为大家介绍一些进程管理的补充部分作业管理和任务的并发执行,同时也将介绍一下Linux系统上计划任务的相关内容,具体分为:1、Linux作业管理2、任务的并发执行 第一章 Linxu作业管理 1、前台作业和后台作业    前台作业:通过中断启动,且启动后一直占据终端    后台作业:可通过终端启动,但启动后即…

    Linux干货 2016-09-28
  • 文件的归档和压缩

    文件的归档和压缩 •一、tar命令使用 •二、其他压缩方式 •三、进程管理基本概念。 前言: 本节主要介绍文件的归档和压缩相关方法。归档和压缩有利于linux系统中文件的管理和磁盘空间的利用,善于利用归档和压缩能为我们工作中带来很多便捷。另外将简单介绍进程的一些概念,方便下一节进程管理内容的学习。 一、 tar命令使用(tar命令用于文件…

    2017-04-16
  • Linux下的SSH端口转发

    通常情况下两个不同的网络之间总会开放某一些特定的端口用于通讯使用,而SSH所使用的22端口通常就在开放之列。基于SSH的端口转发就是利用SSH作为中间的代理,达到绕过两个网络之间的限制,顺利的进行任意的端口的访问。端口转发可以分为三种,正向端口转发,反向端口转发和动态端口转发。为了演示这三种端口转发方式的用法我们先假设存在有2个网域Office和Prod,在…

    Linux干货 2015-02-09
  • linux入门第二课

    **linux入门基础** linux 命令类别 内部命令和外部命令 首先我们可以用echo $SHELL 来查询shell 里面会显示我们当前在用的shell 上图是echo $SHELL 也可以用cat /etc/shells来查询系统里面的shell bash其实是一个文件是一个程序 存在于 /bin/bash 目录,这是真是存在的文件,是一个可以执行…

    Linux干货 2017-05-20
  • 马哥linux运维26期开班感悟

         今天的收获,有以下几点      1.自己的公众演说能力很弱,要多多练习,给自己更多的机会。     2.自己想提升自己的心很强,但是自己却不知道该怎么做?     3.即便学完了也只是一个开始,希望自己有一颗归零的心态。

    Linux干货 2017-07-10
  • 初识Linux基础

    一:计算机的组成及其基本功能 计算机主要由五大基础部件组成:控制器,运算器,存储器,输入设备,输出设备. 控制器:计算机的核心组件,协调各程序的运行,对计算机的各项资源进行控制分配; 运算器:计算机实现算术运算以及逻辑运算的部件; 存储器:计算机用来存放数据和程序的基本部件。 存储器由若干存储单元组成,每个存储单元都有一个地址,计算机通过地址对存储单元进行读…

    Linux干货 2018-03-04

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