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

相关推荐

  • ansible学习笔记之2 ad-hoc篇

    ansible学习笔记之2 ad-hoc篇 ansible学习笔记之2 ad-hoc篇 ansible 学习笔记 ad-hoc ansible学习笔记之2 ad-hoc篇 使用ansible ad-hoc搭建lnmp/lamp 编辑host文件,通过秘钥认证ssh连接主机 前期环境准备 在lnmp上安装lnmp 其中 ad-hoc搭建mysql主从 配置文件…

    2016-11-21
  • Linux基础知识(六)-vim编辑器,crontab计划任务,bash脚本循环

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp [root@localhost ~]# vim&nbs…

    Linux干货 2016-10-31
  • Week2 bash特性及文件相关

    1. 文件类命令及其常用的使用方法 文本查看类命令cat head tail more less 分屏查看命令 more lessmore FILE 翻至最后一页自动退出less FILE -f 翻至最后一页不退出 若有追加内容则立即显示 首尾查看命令head tail head命令: 查看文件前n行 head FILEhead [option] FILEh…

    Linux干货 2016-12-11
  • 文件查找命令之find

    文件查找命令一共有两种,locate 和find ,那么他们在用法和功能上面有什么区别呢?     locate:查找速度快,模糊查找,遍历整个文件系统的目录到数据库中,然后在去数据库中查找,依赖于事先创建好的索引库,该数据库属于系统自动创建,定期自动更新,也可手动跟新,更新命令updatedb,更新数据库需要遍历整个根文件系统…

    Linux干货 2016-08-16
  • 第一天参与马哥linux运维面授

    很高兴认识大家,介绍一下,我叫袁亚琼,来自美丽的云南。我是一个随和而又不随性95年女子,喜欢运动,擅长田径。学食品检测的,上学期间没怎么接触计算机,现在又来学专业计算机,内心还是有几丝恐慌,希望在今后的学习路上得到各位学友和老师的指导和帮助。等工作稳定,可以去云南放松一下,云南是个吃喝玩乐的好地方,同时也是个感受慢节奏生活的佳地。云南欢迎您哦! 选择学习li…

    Linux干货 2018-03-26
  • Bonding多块网卡绑定同一IP地址

    Bonding多块网卡绑定同一IP地址 就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 一共有七种模式这里提供三种常用的:   一、Mode 0 (balance-rr)  轮转( Round-robin…

    Linux干货 2016-09-07

评论列表(1条)

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

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