侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Linux架设DNS服务器(一)

linux  /  管理员 发布于 7年前   225

一、域名系统介绍
  
  1.域名系统
  
  域名系统为一个分布式数据库,它使本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户,服务器模式在整个网络上均可存取,通过采用复制技术和缓存技术使得整个数据库可靠的同时,又拥有良好的性能.
  
  域名服务器包含数据库的部分段的信息,并可提供被称之为解析器的客户来访问.
  
  DNS的数据库结构形成一个倒立的树状结构,根的名字用空字符串""来表示,但在文本中用"."来书写.树的每一个节点都表示整个分布式数据库中的一个分区(域),每个域可再进一步划分成子分区(域),每个域都有一个标签(LABEL),标明了它与父域的关系.域也有一个域名(domain name),给出它在整个分布式数据库中的位置.在DNS中,域名全称是一个从该域到根的标签序列,以"."分隔这些标签.该标签最多可包含63个字符.树中每一节点的完整域名为从该节点到根之间路径上的标签序列.
  
  如果根域在节点的域名中出现,该名字看起来就象以点结尾(实际上是以点和空标签作结尾).这些以点结尾的域名被称之为绝对域名(Absoulte Domain Name).不以点结尾的域名被称之为相对域名.
  
  域(Domains)即为树状域名空间中的一棵子树,域的域名同该子树根节点的域名一样.也就是说,域的名字就是该域中最高层节点的名字.举例来说,zhuhai.gd.cn域的顶端就是名为zhuhai.gd.cn的节点.
  
  在DNS中,每个域分别由不同的组织进行管理.每个组织都可以将它的域再分成一定数量的子域并将这些子域委托给其他组织进行管理.域既能包括主机又能包括其他域(它的子域).域名被用做DNS数据库中的索引.子域中任何域名被认为是域的一部分.
  
  事实上,主机即为域,域名仅是DNS数据库中的索引,"主机"可由指向相关主机信息的域名来索引,域包含所有其域名在该域的主机.
  
  在域名树中,叶节点的域通常代表主机,它们的域名可指向网络地址,硬件信息和邮件路由信息.在树内的节点,其域名既可命名一台主机,也可指向有关该域的子孙或子域的结构信息,在域名树中的内部域名并不受唯一性限制,它们既可表示它们所对应的域,又可代表网络中某台特定的主机.例如,sun.com既是sun的域,又是在sun和internet间转发信件的邮件服务器的域名.
  
  
  网络上的每一台主机都有一个域名,域名给出有关主机的信息,该信息中包含IP地址,MAIL路由信息等等,主机也可以有一个或多个域名别名,别名仅是一些指向正式域名的另
  
  1.1 域名.
  
  
  判断域是否为另一域的子域的简单方法是比较它们的域名.子域名以其父域名结尾.
  
  设计域名系统的一个主要目的是让管理分散化,这是通过代理来实现的.管理域的组织将该域划分成子域,每一个子域可以由其他组织代理,这意味着那些代理组织负责维护在该子域的所有数据.他们可以自由地改变数据,甚至可以将他们管理的子域再划分成更多的子域并将它们再分配.父域中仅包含指向这些子域的指针,因而引用对那里的查询.
  
  1.2 域名服务器  
  
  存储有关域名空间信息的程序被称为域名服务器(name server).通常,域名服务器拥有部分域名空间(称之为区zone)的完整信息.域名服务器可以拥有多个区的授权.
  
  区与域的关系:
  
  区包含了域中除了代理给别处的子域外所含有的所有域名和数据.如果域的子域没有被代理出去,则该区包含该子域名和子域中的数据.
  
  DNS定义了两类域名服务器:primary Master 和 secondary Master.PM域名服务器
  
  从它所运行的主机上的文件获得它所负责的区的数据,SM域名服务器则是从其它的具有该区授权的域名服务器上获得它的区的数据.SM域名服务器会定期查询PM域名服务器以保证区数据为最新版本.
  
  一般情况下,最好设立一台PM域名服务器和若干台SM域名服务器.这样可以分担负载.以及确保区中所有主机都有比较靠近的域名服务器,方便访问.
  
  1.3 解析器
  
  运行在主机上并需要域名空间信息的重新需要解析器(Resolver),在bind中解析器仅仅是一组库例程,并编译进象telnet和ftp这样的程序中,它们并非独立的进程.解析器所做的工作为:汇集查询,发送查询并等待应答,未得到应答时重发查询.
  
  1.4 地址到域名的映射
  
  在域名空间的数据是通过名字来进行索引的,找到一个给定域名的地址相对容易.但是要找到映射给一定地址的域名就要在树上的每一个域名空间作穷尽搜索.如果这样的话,效率将相当低,为了解决这个问题,创建一个以地址为索引的域名空间.这部分名字空间被称为in-addr.arpa域.
  
  in-addr.arpa域中的节点以Doted-octet(将32bitIP地址表示为由"."分隔开的四个8bit的十进制形式的方法)形式表示IP地址.IP地址在名字空间以相反的方向表示,因为名字是从叶读到根,例如,www.zhuhai.gd.cn的IP地址为202.105.177.100,则相应的in-addr.arpa子域为177.105.202.in-addr.arpa,使IP地址中的第一个字节出现在树的最高层使的管理员有能力沿着网络联接将in-addr.arpa域代理出去,例如177.105.202.in-addr.arpa可以被代理给网络177.105.202的管理员.
  
  1.5 缓存与生存期
  
  名字服务器在处理递归查询时,可能要进行多次查询才能得到信息,在这过程中,名字服务器可以获得很多有关域名空间的信息,名字服务器将所以这些信息都缓存起来以加速以后的查询.除了加速查询外,缓存还使得我们不必再次查询根名字服务器,这样可使得我们不必过分依赖根名字服务器而大大减轻根名字服务器的负载.
  
  生存期(TTL)为所容许的名字服务器对数据缓存的时间长度,一旦生存期到了,名字服务器必须丢弃缓存数据并从授权的名字服务器中重新获取新的数据.这样可以确保域数据在整个网络上的一致性.
  
  1.6 BIND:LINUX名字服务
  
  linux和其他的unix一样,都是用BIND来实现名字服务.BIND的服务端的软件是被称为named的守护进程.bind的主页是http://www.isc.org


  • 上一条:
    Linux架设DNS服务器(二)
    下一条:
    基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Linux系统中使用Iptables实现流量转发功能流程步骤(0个评论)
    • vim学习笔记-入门级需要了解的一些快捷键(0个评论)
    • 在centos7系统中实现分区并格式化挂载一块硬盘到/data目录流程步骤(0个评论)
    • 在Linux系统种查看某一个进程所占用的内存命令(0个评论)
    • Linux中grep命令中的10种高级用法浅析(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2017-07
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-03
    • 2022-04
    • 2022-08
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-06
    • 2023-07
    • 2023-10
    • 2023-12
    • 2024-01
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客