热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

linux服务器架设DNS服务最详细的教程文档好资料分享才更有价值

Linux架设DNS服务器(一)一、域名系统介绍1.域名系统域名系统为一个分布式数据库,它使本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户,服务器模式在整个网络上均可存取,通过采用复制技术和缓存技术使得整个数据库可靠的同时,又拥有良好的性
Linux架设DNS服务器(一)
一、域名系统介绍
  
  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服务器(二) 
2. 安装服务器软件
  
  2.1 取得bind软件包(现在新的版本为8.2.2 p5)
  
  从bind的主页http://www.isc.org上取得最新stable版的三个文件:
  
  bind-contrib.tar.gz
  
  bind-doc.tar.gz
  
  bind-src.tar.gz
  
  或者从http://www.redhat.com上取得三个文件:
  
  bind-8.2.2-p5-9.i386.rpm
  
  bind-devel-8.2.2-p5-9.i386.rpm
  
  cache-nameserver-6.2-2.noarch.rpm
  
  2.2 安装bind软件包
  
  安装tar封装的软件包:
  
  先解压软件包
  
  tar zxpf bind-contrib.tar.gz
  
  tar zxpf bind-doc.tar.gz
  
  tar zxpf bind-src.tar.gz
  
  编辑修改Makefile.set 文件,增加或修改
  
  'DESTLIB=/usr/lib/bind/lib'
  
  'DESTINC='/usr/lib/bind/include'
  
  编译并安装
  
  make
  
  make install
  
  安装rpm封装的软件包:
  
  rpm -Uhv bind-8.2.2-p5-9.i386.rpm
  
  rpm -Uhv bind-devel-8.2.2-p5-9.i386.rpm
  
  rpm -Uhv cache-nameserver-6.2-2.noarch.rpm
  
  3.让服务器跑起来---基本篇
  
  3.1 
  
  BIND可被配置成几种不同的运行方式,通用的BIND配置为纯解析器系统,纯缓存服务器,主服务器,辅服务器.
  
  解析器是指通过域名服务器查询域信息的程序代码,在unix系统中,它是以库例程的方式实现的,而并不是一个单独的客户程序.纯解析器系统很容易配置,只要设置一下/etc/resolv.conf文件.这种方式通常用于由于某些限制不能在本地运行域名服务器软件的系统中.
  
  例如:/etc/resolv.conf内容类似为:
  
  search linuxso.com
  
  nameserver 127.0.0.1
  
  nameserver 172.16.0.1
  
  当配置解析器库以使用BIND名字服务进行主机查找,你也必须告知它使用哪个名字服务器。对此有一个独立的文件,称为resolv.conf。如果这个文件不存在或是空的,那么解析器就假设名字服务器在你本地的主机上。 
  
  如果在你的本地主机上运行一个名字服务器,你必须单独地设置它。
  
  resolv.conf中最重要的选项是nameserver,它给出了要使用的名字服务器的IP地址。如果你通过几次给出nameserver选项指定了几个名字服务器,那么它们会以给出的顺序试用。因此,你应该首先给出最可靠的服务器。目前,至多支持三个名字服务器。 
  
  如果没有给出nameserver选项,那么解析器试图连接本地主机上的名字服务器。 
  
  其它两个选项,domain和search涉及到如果BIND不能用第一个请求解析主机名时附加在主机名上的缺省域。search选项指定了一个试用的域名列表。列表项是用空格或制表符分开的。 
  
  如果没有给出search选项,就会通过使用域名本身从本地域名以及直至root的父域中建立一个搜寻列表。本地域名可以使用domain语句给出;如果一个也没有给出,那么解析器就通过系统调用getdomainname(2)来获取。 
  
  3.2 其它三类配置方式是用于域名服务器的
  
  纯缓存服务器
  
  纯缓存服务器运行域名服务器软件,但并没有域名服务器数据库文件,它记录下每一个从远程域名服务器获得的数据,以回答将来对同一信息的查询.
  
  纯缓存服务器所需的三个基本配置文件:
  
  /etc/named.conf
  
  /var/named/named.ca
  
  /var/named/named.local
  
  创建或修改/etc/named.conf:
  
  // generated by named-bootconf.pl
  
  options {
  
  directory "/var/named";
推荐阅读
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文详细介绍了解决全栈跨域问题的方法及步骤,包括添加权限、设置Access-Control-Allow-Origin、白名单等。通过这些操作,可以实现在不同服务器上的数据访问,并解决后台报错问题。同时,还提供了解决second页面访问数据的方法。 ... [详细]
author-avatar
309283099_882fa8
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有