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发行版对比

      对服务器来说,没有最好的Linux发行版。一切都取决于企业的实际需求。 如今Linux已不再只是一款自由操作系统,它还承载了许多企业的核心应用。在对比流行的Linux发行版时,不仅要考虑有吸引力的功能集,还要关注系统的支持与服务。 服务器管理员担心操作系统的维护和支持周期。维护生命周期指的是Linux发行版持续提供产品补丁和更新的时间。支持方面…

    Linux干货 2016-10-31
  • sed工具实践解析

    此次博文介绍一下文本处理三剑客中的sed工具(点击查看grep工具http://www.178linux.com/83512) 介绍sed: sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。 运行过程: sed编辑器逐行处理文件,并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理…

    Linux干货 2017-08-26
  • Week 1 Linux Intro

    I.  Linux的各种发行版 All Kinds of Linux     在Linux诞生的20多年里,Linux衍变出了许许多多的版本,每个都有自己的名字,但它们的本质和它们的哲学观还是一样的。下面是从外网上扒下来的一张Linux进化图,跨度一直到了2016年。    &n…

    Linux干货 2016-06-26
  • Mysql备份III

    Mysql备份III Mysqldump和mysqldumper A备份和恢复所有库 $ time mysqldumo –all-databases > /mysql/backup/date.time.database.dump.sql $ echo $? $ ls&nbs…

    Linux干货 2016-06-09
  • Hadoop HDFS分布式文件系统设计要点与架构

    Hadoop简介:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件…

    Linux干货 2015-04-13
  • iptables

    iptables 一、基础概念 1、防火墙概念 Firewall:隔离工具;Packets Filter Firewall;工作于主机或网络的边缘,对经由的报文根据预先定义的规则(匹配条件)进行检测,对于能够被规则匹配到的报文实行某预定义的处理机制的一套组件; 如果没有防火墙,你的本机的所有端口都会被别人访问到! 2、分类 硬件防火墙:在硬件级别实现部分功能…

    2016-10-26

评论列表(1条)

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

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