DNS基础及使用BIND搭建域名服务器

    本文主线是DNS服务相关概念和服务器搭建,在此之前了解一下域名这个东东很有其必要性,因为DNS服务就是应域名而生的。那么域名是什么哪?

    域名

    域名是用一串用点分开的字符串来表示的internet上的某一台或者一组计算机的名称,用于在数据传输时标识计算机的电子方位。举个例子来说,如果我们要去访问www.magedu.com这个站点,实际上是应该输入该网站的IP地址来访问的,但是由于无论是IPv4还是IPv6地址都相当的难以记忆,为此我们通过域名来对其进行管理,利用其见名知意的特性来方便我们记忆,而系统底层仍然是以IP地址来通信的,这种域名与IP地址之间的转换是由DNS服务来完成的。以www.magedu.com来说明一下域名的组成部分:

   blob.png

    类型:标记域名的类别(如 com, cn, edu, org, gov等)

     域名:如上面的magedu,

     主机名:标记一个域内的具体的主机

    DNS(Domain Name System)

    由上述可知,当我们访问internet上的网站时,我们输入的是域名,域名通过某种机制转为IP地址后再由系统底层完成IP之间的相互通讯,而这种能够完成域名与IP地址间的相互转换的机制就是DNS服务。DNS服务一般是由dns服务器来实现的,提供dns服务的服务器将域名和IP之间的相互映射信息以分布式数据库的形式存储起来,每一条映射记录称作一条资源记录,当用户(一般是客户端、应用程序等)利用域名访问互联网中的主机时,会向dns服务器提请域名解析请求,待dns服务器经查询对应的映射资源记录返回IP地址后,利用此IP方可与该主机进行通信,流程图如下:

    blob.png

    在linux中,域名的解析通常有两种方式:一种是hosts文件中的IP地址和域名的直接映射;一种是通过dns服务器来解析,同一个域名默认是先读取hosts文件来解析,如其中无此记录,再转向dns服务器请求解析,两种解析方式的优先级在/etc/nsswitch.conf中定义

     blob.png

     我们同样用 www.magedu.com  来测试此处的优先级特性

     blob.png

     默认hosts文件中是没有对应的 www.magedu.com 解析条目的,对其进行ping操作

     blob.png

     地址是域名对应的目的IP,在hosts文件中指定它的IP地址来测试

     blob.png

     blob.png

     看到了吧,ping操作的目的IP是我们指定的IP地址了。

     DNS资源记录

     DNS服务器中域名与IP地址相互转换的映射信息以文本形式存储在其区域解析中,每一行表示一对对应关系,称之为资源记录(RR Resource Record),每一条资源记录都包含域名、IP地址和其它属性信息。

     资源记录的基本属性信息:

         资源记录的格式

         [name]      [ttl]       IN        type         value

         name   资源记录引用的域对象名,可以是单台主机或者整个域,字段值: "."是根域 "@"是默认域,即当前域

         ttl    生存时间字段,以秒为单位定义该资源记录的信息存放在DNS缓存中的时间长度。此字段缺省采用SOA记录中的最小ttl值(即1小时)

         IN     固定关键字,不可缺省

         type   资源记录类型

                 1、A(host)          A记录,成为主机记录,DNS名称到IP地址的映射,用于正向解析。

                 2、AAAA(host)       采用IPv6地址主机记录

                 3、CNAME              别名记录,用于定义A记录的别名

                 4、MX(mail exchange)邮件交换器器记录,用于告知邮件服务器进程将邮件发往指定的另一台邮件服务器。

                 5、NS                 用于标识区域的DNS服务器,即负责此区域的权威名称服务器,一个区域可以有多条NS记录,也就是说一个区域可以有一台主dns服务器,一台或多台从dns服务器。

                 6、PTR                是IP地址到DNS名称的映射,用于反向解析。

                 7、SOA                用于一个区域的开始,SOA记录后的所有信息均是用于控制这个区域的,每个区域数据库文件必须包含一个SOA记录,并且必须是其第一条资源记录,用于标识DNS服务器管理的起始位置,SOA说明能解析这个区域的dns服务器哪个是主服务器。 

         value   用于指定与当前资源记录有关的数据,该字段的内容取决于字段类型

         blob.png        

     DNS的客户端查询工具

     在我们配置dns服务器或者客户端访问网络出现故障时,我们常常需要一些工具来查看dns服务的一些信息来排除故障,在Linux中有3中dns信息查询工具,我们来一一说明一下

      1、host 命令

        使用方法:

        host DOMAIN_NAME //host后面直接跟域名可以查询到域名对应的ip地址

       blob.png

       host -t TYPE NAME SERVER

          -t TYPE    //指定资源记录的类型

          NAME       //指定需要查询的资源记录的name字段内容

          SERVER     //指定用于解析该域名的DNS服务器

       blob.png

     2、nslookup 交互式DNS客户端查询命令

       用法:

       nslookup

       >server x.x.x.x      //指定用哪台DNS服务器来执行解析

       >set type={A|NS|MX}  //定义需要查询的资源记录的类型

       >NAME                //指定需要查询的资源记录的name字段内容

       blob.png

     3、dig 可以详细显示查询结果的命令

        用法:

        dig -t TYPE NAME @SEVER

           -t TYPE     //指定资源记录的类型

           NAME       //指定需要查询的资源记录的name字段内容

           SERVER     //指定用于解析该域名的DNS服务器

       blob.png

       dig -x NAME @SERVER

           -x //特指做反向解析

       blob.png

       dig功能扩展选项

          +trace      开启dns查询跟踪

          +notrace    关闭dns查询跟踪

          +recurse    开启dns递归查询

          +norecurse   关闭dns递归查询

       下面是dns查询跟踪示例 

       blob.png

       由上图可以看到,客户端发出查询请求后,请求信息离开192.168.1.1这个本地服务器后,依根域–>一级域–>二级域–>目的主机的方式来完成查询的,其实,此处用到了dns查询的两种方式迭代查询和递归查询,在客户端向本地dns请求查询过程式递归查询,而本地dns之后的则使用迭代查询。

       递归查询:

          客户端发出查询请求,本地dns接收到后将请求信息发往根与服务器,根域服务器收到请求信息后,将请求信息发往以及域服务器,以及域服务器收到请求信息后,将请求信息发往二级域服务器,二级收到请求信息后将最终结果发给一级域服务器,一级与服务器收到结果后将结果放给根域服务器,根域服务器收到结果后将结果发给本地dns服务器,本地dns服务器将结果发给客户端,完成查询操作。

       blob.png

       迭代查询:客户端发送查询请求给本地dns服务器,本地dns服务器收到请求将该请求发给根域服务器,根域服务器经查询后得到该请求对应的一级域服务器的IP地址,并将该地址发给本地dns服务器;本地dns服务器得到一级域服务器地址后,向一级域服务器发送查询请求,一级域服务器经查询后,将请求对应的二级域服务器的地址发送给本地dns服务器;本地dns服务器得到二级域服务器地址后,向二级域服务器发送查询请求,二级服务器将查询到的最终结果发送给本地dns服务器,本地dns服务器将其发给客户端,完成查询操作。

          blob.png

     DNS服务器搭建

     一、dns服务器的类型

        1、主DNS服务器(Primary DNS Server, Master)

          主DNS服务器存储着一个域的zone配置文件,所有的关于域配置与修改都在此服务器上进行。

        2、从DNS服务器(Secondary DNS Server,Slave)

          从DNS服务器主要为主DNS提供冗余和负载均衡用,其自身不能更改域内的管理性数据信息,也不能手动创建、修改、删除资源记录,只能从主DNS服务器同步拉取。

        3、缓存DNS服务器(Cache Only Server)

          不存储任何zone配置文件,不提供域名解析功能,仅仅依靠DNS缓存信息为客户端提供服务,通常用于加速站点访问速度和负载均衡

      二、配置主DNS服务器

        运行环境:

           CentOS 6.5

           VMware Workstation 10.0

           域名   nod.com

           ip地址:192.168.5.244

           主dns服务器ip地址 192.168.5.244           

       1、bind安装

         DNS服务一般是由DNS服务器软件来提供的,在众多DNS服务软件中bind是使用最广泛的软件,兼容于windows、linux、MAC OS等,该软件由ISC进行开发和维护的。bind服务名named,默认使用TCP和UDP协议,监听两者的53端口,rndc默认使用953端口。

         通过yum方式安装bind和bind-utils # yum -y install bind bind-utils 。bind-utils则是bind提供的一组管理工具,有dig,nslookup,host,nsupdate,用来进行域名解析查询和DNS调试工作。

         确认软件安装成功:

         blob.png

         查看安装bind生成的文件和路径信息

         blob.png

         blob.png

       2、配置named主配置文件     

         blob.png

       3、主配置文件修改完毕后就可以启动服务了

          执行 chkconfig named on,永久开机启动named服务

          执行 service named start启动named服务

         blob.png

         blob.png

         使用 ss -tunl查看服务端口是否被监听

         blob.png

       4、编辑/etc/named.rfc1912.zones配置文件,定义正向测试域。

         blob.png

         为nod.com域创建正向域解析文件nod.com.zone,区域解析库文件都存放于/var/named目录下以命名方式为“域名.zone”

         

         blob.png

         配置正向解析库文件之后,我们就可以尝试对DNS服务器进行测试了,在此之前为了保证服务正常启动,对主配置文件和区域文件做测试。

          blob.png

          为便于测试,关掉防火墙和selinux

          blob.png

          使用dig工具测试服务器是否可用

          blob.png

          A记录测试成功,解析结果为我们设置指定的ip地址,我们再测试一下MX记录

          blob.png

        5、MX记录测试也没有问题,下面我们再为其创建逆向解析库文件,测试逆向解析,首先在主配置文件声明逆向解析区域。

          blob.png

          为反向解析区域创建反向解析库文件

          blob.png

            由于默认named服务有named用户身份运行,因此修改逆向解析库文件的属组为named,权限改为640 

          blob.png

             使用service named configtest ,测试所有的配置文件和区域解析库文件

             blob.png 

             测试通过,进行反向解析测试

          blob.png

          逆向解析成功,至此,主dns服务器配置完成。 

          

         

         

     

    

    

         

    

      

 

       

 

原创文章,作者:Silently,如若转载,请注明出处:http://www.178linux.com/5085

(1)
SilentlySilently
0
基于ansible role实现LAMP平台批量部署
上一篇 2015-06-11 13:15
基于heartbeat v2 crm实现基于nfs的mysql高可用集群
下一篇 2015-06-11 13:20

相关推荐

  • Linux基础目录名称命名法则及功能规定

    Linux中有非常多的目录文件,那么这些目录文件的命令规则,和功能都有那些,今天学习了下,下面是我的学习记录,跟大家分享下。 文件命名规则 (1) 除了/之外,所有字符都合法 (2) 特殊字符如@、#、¥、&、()、-、空格等最好不要使用,当使用空格作为文件名时,执行命令会出错 (3) 避免使用”.”作为文件名的第一个字符,因为在Linux系统中以”…

    Linux干货 2016-08-15
  • 用户、组及文件相关的一些命令 Linux干货

    用户、组及文件相关的一些命令

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1,因为是目录文件所以要有-r ls -ld /etc/skel chmod 000 -R /home/tuser1 ls -al /home/tuser1/ 2、编辑/…

    2017-07-23
  • 看了还想看—普通权限及umask

        权限在操作系统是尤为重要的,无论是windows和linux中,都少不了权限这么一说,权限的大小决定了你能操作些什么,在linux中,权限对目录和文件的意义是不同的,并且还有特殊权限。今天,我们就来说说一说权限在linux中的重要性以及权限操作命令。     权限:权限决…

    Linux干货 2016-08-03
  • M22 使用非对称密钥实现ssh自动登陆 Linux干货

    M22 使用非对称密钥实现ssh自动登陆

    一 实验目的 一般在用户使用ssh客户端登陆ssh服务器时需要使用用户名和密码,本实验使用非对称加密的方式实现了无密码登陆ssh服务器。 二 实验流程  、 1 在客户端生成非对称密钥对 2 将非对称密钥中的公钥发送给ssh服务器端相应的帐号 3 当客户端通过ssh协议与服务器端发起连接时,客户端将私钥加密过的签名发送给服务器端,服务器端使用客户端…

    2017-04-13
  • 网络配置

    Internet 协议特征  运行于OSI 网络层  面向无连接的协议  独立处理数据包  分层编址  尽力而为传输  无数据恢复功能     IP地址 它们可唯一标识IP 网络中的每台设备 每台主机(计算机、网络设备、外围设备)必须具有唯一的地址&…

    Linux干货 2016-09-06
  • 读写执行权限对文件和目录的影响

    权限的作用 对于linux运维工作来说,熟练掌握文件管理技能是非常重要的,所谓“一切皆文件”,控制住文件的权限,可以说也就控制住了linux系统。而且,运维的工作要和成千上万的文件打交道,对于文件属性的熟识程度对于工作的顺利开展有着深远的影响。综上,了解文件,熟悉文件,掌握文件,是我们运维的一个重要的课程。 不同权限对文件和目录的影响 首先,我们现对权限进行…

    Linux干货 2017-07-30

代开银行存款证明公司宜宾留学存款证明哪家好金昌定期存单公司嘉兴出国留学存款证明查询新乡代办银行存款证明德阳查出国留学资金证明绍兴出国留学存款证明代发宜春出国留学资金证明公司银川企业资金证明怎么样安康定制留学存款证明安阳企业资信证明信誉保证桂林定做资金证明龙岩存款证明好不好亳州资金证明模板邵阳出国留学资金证明怎么打周口银行存款证明定制合肥查询银行存款证明珠海出国留学存款证明作用儋州出国留学资金证明哪家专业朝阳办出国留学资金证明安庆银行存款证明制作聊城定做留学存款证明黄石定做银行存款证明江门资信证明哪里有呼伦贝尔出国留学资金证明费用西宁资金证明怎么打印益阳银行存款证明代开绥化银行定期存单代开乌鲁木齐出国留学资金证明定做深圳存款证明哪家好漯河银行定期存单代发香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声汪小菲曝离婚始末卫健委通报少年有偿捐血浆16次猝死单亲妈妈陷入热恋 14岁儿子报警雅江山火三名扑火人员牺牲系谣言手机成瘾是影响睡眠质量重要因素男子被猫抓伤后确诊“猫抓病”中国拥有亿元资产的家庭达13.3万户高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了男孩8年未见母亲被告知被遗忘张家界的山上“长”满了韩国人?倪萍分享减重40斤方法许家印被限制高消费网友洛杉矶偶遇贾玲何赛飞追着代拍打小米汽车超级工厂正式揭幕男子被流浪猫绊倒 投喂者赔24万沉迷短剧的人就像掉进了杀猪盘特朗普无法缴纳4.54亿美元罚金周杰伦一审败诉网易杨倩无缘巴黎奥运专访95后高颜值猪保姆德国打算提及普京时仅用姓名西双版纳热带植物园回应蜉蝣大爆发七年后宇文玥被薅头发捞上岸房客欠租失踪 房东直发愁“重生之我在北大当嫡校长”校方回应护栏损坏小学生课间坠楼当地回应沈阳致3死车祸车主疑毒驾事业单位女子向同事水杯投不明物质路边卖淀粉肠阿姨主动出示声明书黑马情侣提车了奥巴马现身唐宁街 黑色着装引猜测老人退休金被冒领16年 金额超20万张立群任西安交通大学校长王树国卸任西安交大校长 师生送别西藏招商引资投资者子女可当地高考胖东来员工每周单休无小长假兔狲“狲大娘”因病死亡外国人感慨凌晨的中国很安全恒大被罚41.75亿到底怎么缴考生莫言也上北大硕士复试名单了专家建议不必谈骨泥色变“开封王婆”爆火:促成四五十对测试车高速逃费 小米:已补缴天水麻辣烫把捣辣椒大爷累坏了

代开银行存款证明公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化