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
下一篇 2016-08-26

相关推荐

  • DNS

    这里都以我本机的实验为例 正向解析:就是从主机名到IP的解析过程 先在工作目录/var/named/创建一个区域数据文件 以zcylinux.io域为例:vim/var/named/zcylinux.io.zone $TTL  600     #设置全局变量TTL的值为600s zcylinux.io.&nb…

    Linux干货 2017-05-30
  • Linux 文件系统权限

    一、简述权限  文件系统的权限管理机制的建立,约束了用户对数据的操作。 1、对系统安全而言  管理员的操作权限非常大,足以破坏系统,权限机制将管理员与普通用户之间区分开,防止系统被随意破坏。 2、对用户而言  Linux是一个多用户的操作系统,不同用户间为了防止其他人破坏数据或访问数据,文件系统的权限管理是非常必要的。 二、文件…

    Linux干货 2016-08-04
  • Linux文件管理类命令相关

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 1)、查看文件命令: (1)ls命令: list,列出目录下的内容 语法: ls [OPTION]… [FILE]… 常用选项: -a: 显示所有文件,包括隐藏文件; -A:显示除.和..之外的所有文件; -l: –long, 长格式列表,即显示文件的详细属性信息; -h, –huma…

    Linux干货 2016-11-06
  • shell脚本之变量、运算、条件测试。

    概述 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 计算机:运行二进制指令; 编程语言: 低级:             汇编 高级:…

    Linux干货 2016-08-15
  • N26-第十周

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)     看到同学的图不错拿来用用 ~ ~      2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;  (1) 为硬盘新建两个主分区;并为其安装grub;  (2) 为硬盘的第一个主…

    2017-03-26
  • 软链接和硬链接详解

    软连接和硬链接图解 硬链接 符号链接 软链接和硬链接详解 软链接和硬链接详解 Linux下的链接文件有点类似于Windows的快捷方式,但又不完全一样。链接文件有两种:一种是硬链接,另一种是符号链接(又称软链接)。 UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系…

    Linux干货 2016-09-06

评论列表(1条)

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

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