DNS原理详解

1、DNS概述

  domain name service  区域名称服务或者domain named system 区域名称系统,是互联网最基础的服务,分为正向域名解析(将域名解析为IP地址)和反向域名解析(将IP地址解析为域名)两部分。

2、bind

  bind(Berkeley Internet Name Domain)是当今应用最广泛的 DNS服务器软件,由加州大学柏克利学院开发。已经成为事实上的业界标准。

3、DNS工作原理

   DNS系统的原理图,类似于一个倒挂树结构,顶端是分布在全球的13台根服务器,负责返回给查询者TLD顶级域名服务器地址;TLD是按顶级域名com,net,org,net等划分,负责管理、登记和返回对应顶级域名下的地址。

   当用户发对某个域名发起请求后,客户机首先查找本地HOST文件是否有对应条目,没有则查找本地缓存是否有对应条目,仍然没有,则向本地网络配置的DNS服务器发起递归查询(此DNS服务器通常为网络运营商提供,在网络中扮演DNS缓存服务器角色,为方便区分,后文称之为“电信DNS”),电信DNS收到请求后,查找本地缓存条目,缓存没有,则开始发起迭代查询。

   迭代查询过程: 首先电信DNS向根服务器发起查询请求,要服务器返回对应的TLD(顶级域名服务器)地址, 电信DNS再向所返回的TLD地址发起查询,TLD服务器返回在TLD上已登记的查询域NS服务器地址。电信DNS再次向查询域的NS服务器发起查询,NS服务器返回权威答案;电信DNS将权威答案返回给客户机;一次查询结束。

dns.png

4、bind版本

    Centos 6 yum自带9.8.2

    Centos 6 yum自带9.9.4

5、bind安装

bind 安装包为Bind, bind-utils , bind-libs

bind 为主程序安装包

bind-utils 为相关工具

bind-libs为库文件

直接使用yum install即可

6、bind服务启动

bind服务启动后监听在tpc和udp的53端口

rndc: remote name domain controller,与bind安装在同一主机,且只能通过127.0.0.1来连接named进程;提供辅助性的管理功能;临听在TCP的953端口

centos6使用service bind start 启动服务

7、bind配置文件详解

   a、主配置文件

     主配置文件包括:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key

     1)、named.con 主要对bind服务的相关配置,包括option, logging和zone三部分,named.conf使用c++风格,每一行结尾要以; 结尾,所有{}的前后都要空格

       option 部分:

listen-on port 53 { 127.0.0.1; };                                    //ipv4监听地址,默认只监听本机,需要改为外网网卡地址

listen-on-v6 port 53 { ::1; };                                    //ipv6临听地址

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

logging部分,主要定义日志相关

zone部分,定义区域,通常默认会自带 根区域;但通常自定义区域不会放在named.conf文件中,而是采用了include "/etc/named.rfc1912.zones“,将自定义区域载入

    2)、named.rfc1912.zones

               向文件尾部增加自定义区域

   zone "patrickli.com" IN {

       type master;               \\类型,有master、slave、hint、forward

       file "patrickli.com.zone";      \\区域配置文件,位于/var/named目录下

      };

   b、区域配置文件

       在/var/named目录下新建,文件名以.zone结尾,文件属组为named,文件权限为640。示例如下

$TTL 1D      \\全局TTL值 

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

                20160801           \\序列号

                1D               \\刷新时间

                20M              \\重试时间

                1W               \\过期时间

                2D               \\ 否定TTL值

)

patrickli.com.       IN NS    ns1.patrickli.com.    \\NS记录

ns1.patrickli.com.     IN  A   172.16.244.5        \\A记录

www.patrickli.com.     IN  A  172.16.244.5

   区域配置文件中,有且只能有一个SOA记录,通常SOA记录后应该为NS记录,一个NS记录应该对应一条A记录,还可以添加MX邮件转发记录,AAAA   IPV6记录,CNAME别名记录,PTR反向解析记录。

MX记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高;    一个MX记录后面的服务器名字,都应该在对应有一个A记录;

例如:

  aa.com.IN  MX  10  mx1.aa.com.

         IN MX  20  mx2.aa.com.

                               

8、主从设置

      1、在主服务器上必须有对应的NS和A记录指向从服务器

      2、主服务器的区域配置type必须为master

      3、从服务器在增加区域,type为slave ,同时指定masters "主服务器地址"

      4、从服务器区域配置文件位于/var/named/slaves目录下,配置文件不用手动配置,会自动从主服务器同步过来

原创文章,作者:N21-沉舟,如若转载,请注明出处:http://www.178linux.com/40216

(1)
N21-沉舟N21-沉舟
上一篇 2016-08-26 09:14
下一篇 2016-08-26 15:32

相关推荐

  • 推荐-Linux Namespace的一点理解

        下文的原文来自: http://blog.csdn.net/preterhuman_peak/article/details/40857117    原文写的非常好,下文中大部分文字描述来自原文,我仅做了一点理解性的插图和实验部分。    &…

    Linux干货 2016-03-28
  • M20-1 8月3号作业

    1、三种权限rwx对文件和目录的不同意义 2、umask和acl mask 的区别和联系 3、三种特殊权限的应用场景和作用 4、设置user1,使之新建文件权限为rw——- 5、设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以读写 /testdir/dir的权限,使新建文件自动具有acl权限:user1:r…

    Linux干货 2016-08-05
  • Ip 地址 及 网络配置

    Ip 地址 及 网络配置 IP地址  它们可唯一标识 IP 网络中的每台设备  每台主机(计算机、网络设备、外围设备)必须具有唯 一的地址 IP地址由两部分组成:       网络ID:  标识网络  每个网段分配一个网络ID       主机 ID:  标识单个主…

    Linux干货 2016-09-05
  • 磁盘管理(SWAP、dd、quota、RAID、LVM)

    2016-08-26: 授课内容: 1、SWAP交换分区的创建 2、dd命令的使用 3、设定文件系统配额 4、设定和管理软RAID设备 5、配置逻辑卷、逻辑卷快照 1、swap (1)SWAP分区:模拟内存,当物理内存不足时,进程需要内存资源是,内存会把一部分没有在用的进程分页挪到硬盘的模拟内存中,腾出空间被现在需要使用内存资源的进程 即其作用是可以允许内存…

    Linux干货 2016-09-01
  • History,Help——Linux基本命令(6)

    1.     history   当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升。 history是shell的内置命令,其内容在系统默认的shell的man手册中。 一些用法: history[-c] [-d offset] [n] …

    2017-07-15
  • sed命令用法详解

    1.sed运行原理         sed(stream editor)是一个行处理器。处理时,把当前处理的行放到“模式空间中”,处理完毕后,把该行输出到屏幕,接着处理下一行;这样不断重复,直到末行;此时文件本身内容并没有改变 2.sed用途    …

    Linux干货 2016-08-15

评论列表(1条)

  • Net21-冰冻vs西瓜
    Net21-冰冻vs西瓜 2016-08-29 07:02

    图画的不错哈!
    (4、版本 — bind版本有点问题吧,两个CentOS6)
    (6、监听在tpc和udp的53端口,应该是tcp,“临听”应该是”监听”吧),输入法害死人,呵呵