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";
推荐阅读
-
本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ...
[详细]
蜡笔小新 2024-12-24 15:21:23
-
本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ...
[详细]
蜡笔小新 2024-12-26 15:15:06
-
-
本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ...
[详细]
蜡笔小新 2024-12-27 13:47:38
-
本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ...
[详细]
蜡笔小新 2024-12-27 10:18:13
-
本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ...
[详细]
蜡笔小新 2024-12-26 19:47:05
-
本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ...
[详细]
蜡笔小新 2024-12-26 19:14:29
-
本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ...
[详细]
蜡笔小新 2024-12-26 16:36:34
-
在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ...
[详细]
蜡笔小新 2024-12-26 16:16:06
-
本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ...
[详细]
蜡笔小新 2024-12-26 13:21:38
-
本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ...
[详细]
蜡笔小新 2024-12-26 13:12:48
-
随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ...
[详细]
蜡笔小新 2024-12-25 17:59:04
-
探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ...
[详细]
蜡笔小新 2024-12-25 13:38:29
-
探讨架构师在项目中应如何平衡对产品的关注和对团队成员的关注,以实现最佳的开发成果。 ...
[详细]
蜡笔小新 2024-12-24 19:41:40
-
本文详细介绍了分布式系统中的一致性哈希算法,探讨其原理、优势及应用场景,帮助读者全面掌握这一关键技术。 ...
[详细]
蜡笔小新 2024-12-24 14:08:10
-
本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ...
[详细]
蜡笔小新 2024-12-24 12:12:13
-
309283099_882fa8
这个家伙很懒,什么也没留下!