DNS概念
DNS是一种新的主机名称和IP地址转换机制,使用分层的分布式数据库来处理Internet上众多的主机和IP地址转换。当一个应用需要将域名翻译成为IP地址时,这个应用便成为域名系统的一个客户。这个客户将待翻译的域名放在一个DNS请求信息中,并将这个请求发送给域名空间中的DNS服务器。服务从请求中取出域名,将其翻译为对应的IP地址,然后将回答信息返回给应用。如果接到请求的DNS服务器不能把域名翻译为IP地址,则向其他DNS服务器查询。
域名系统由3个部分组成:
DNS域名空间
整个DNS域名空间呈树状结构分布,称为“域树”。树的每个等级都可以代表树的一个分支或叶,分支是多个名称被用于标识一组命名资源的等级;叶代表在该等级中仅使用一次来指明特定资源的单独名称
DN域名树的顶部是一个无名的根(.)域,用(.)表示。这个域用来定位,并不包含任何信息。在根DNS域的下面是顶级域,有三种顶级域:
- 组织域:这种域是根据DNS域中组织的主要职能或行为的编码来定义的。例如:“.com” | “.net” | ".edu"等
- 地理域:这些域根据国际标准化组织(ISO)3166规定的地区和区域双字符码来命名。例如:“.uk” | ".it"等
- 反解域:这是一种称为in-addr.arpa的特殊域,用来从IP地址到名称的解析(也称为逆向查询)
在DNS域名树中,每一个节点都用一个简单的字符串( 不带点 )标识。这样,在DNS域名空间的任何一台计算机都可以用从叶节点到根节点的标识,中间用“.”相连接的字符串来标识:叶节点名.三级域名.二级域名.顶级域名
域名使用的字符包括字母、数字和连字符,而且必须以字母或数字开头或结尾。级别低的写在左侧,级别高的写在右侧。高一级域包含低一级域,整个域名总长度不得超过255字符,在实际中,每个域名长度一般小于8字符,级数不多于5。
DNS服务器
DNS服务器用于保持和维护域名空间中的数据。由于域名服务是分布式的,每一个DNS服务器含有一个域名空间的完整信息,其控制范围称为区。对于本区内的请求由负责本区的DNS服务器解释,对于其它区的请求由本区的DNS服务器与负责该区的相应服务器联系,为了完成DNS客户机提出的查询请求,DNS服务器必须具有以下功能:
- 具有保存主机对应IP地址的数据库,即管理一个或多个区的数据
- 可以接受DNS客户机提出的主机名称对应IP地址的查询请求
- 查询所请求的数据,若不在本服务器中,能够自动向其他DNS服务器查询
- 向DNS客户机提供其主机名称对应的IP地址的查询结果
解析器
简单的程序或子程序,它从服务器中提取信息以响应对域名空间中主机的查询,用于DNS客户机。
查询的工作原理
用DNS将计算机名解析成对应的IP地址或将IP地址解析成对应的计算机名称的过程是通过正向查询或反向查询过程来完成的。DNS客户机需要查询所使用的名称时,它会查询DNS服务器来解析该名称。
1、本地解析
客户机平时得到的DNS查询记录都存在本地DNS缓存中,在客户机的操作系统上都运行着一个DNS客户机程序。当程序提出DNS请求时,该查询首先使用本地缓存信息进行解析,如果解析成功则直接与应答该查询。
2、直接解析
如果DNS客户机不能从本地DNS缓存中回答客户机的DNS查询,则向客户机的所设定的局部DNS服务器发送一个查询请求,要求本地DNS服务器进行解析。
3、递归查询
当本地DNS服务器不能回答客户机的DNS的查询时,它就需要向其他DNS服务器进行查询。可以使递归查询,如果要查询center.meaauf.com的地址,首先DNS服务器通过分析完全合格的域名,向顶层域com查询,而com的DNS服务器与meaauf.com服务器联系,进一步获取地址。
4、迭代查询
当局部的DNS服务器不能回答客户机的DNS查询时,也可以使用迭代查询的方式进行解析。如果要查询center.meaauf.com的地址,首先DSN服务器在本地查询不到客户机请求的信息时,就会以DNS客户机的身份向其他配置的DNS服务器继续查询,以便解析该域名。
虚拟主机技术
虚拟主机
目前使用的虚拟主机大多是通过使用同一个IP地址对应多个主机域名或主机名。一台服务器只分配一个IP地址,在实际网络中,需要安装WWW服务器可能存在多个,还需要安全FTP服务器和邮件服务器等多种服务器,这些具有不同主机名而使用相同IP地址的计算机主机被称为虚拟主机 (virtual host)
虚拟主机的技术类型
- 基于IP地址的虚拟主机技术:这种形式要求每一个虚拟主机都具有一个IP地址,实现比较困难。早起的WWW服务器使用的就是基于这种技术的虚拟主机技术。
- 基于主机名的虚拟主机技术:这种方法提供了一种在一台主机上运行多个虚拟主机的技术,目前多数系统使用的是此技术。
虚拟主机的实现
不同系统配置多个虚拟主机的方式有所不同。目前常用的技术是基于主机名的虚拟主机技术,这是一种通过DNS服务器实现的、为不同主机名配置同一个IP地址的技术。
资源记录
主机(A)
主机记录是将DNS域名映射到一个单一的IP地址,在网络上提供共享资源的计算机如服务器、邮件服务器等,则需要为其创建主机记录,当网络中的其他计算机通过域名访问网络上的服务器时,可使用主机资源记录提供IP地址与DNS域名解析。
别名(CNAME)
新建别名可以为同一个主机创建不同的DNS域名。例如:在一台计算机上同时运行ftp服务器和web服务器,用户可以通过ftp.server.meaauf.com访问ftp服务器,通过www.server.meaauf.com访问web服务器。
邮件交换器(MX)
用于将DNS域名映射为交换或转发邮件的计算机名称。邮件交换器资源记录由电子邮件服务器使用,用来根据在目标地址中使用的DNS域名为电子邮件客户机定位邮件服务器。
指针(PTR)
用来指向域命名空间的另一个部分。如在反向查找区域中,指针记录包含IP地址到DNS域名的映射。
服务位置(SRV)
服务位置用来标识哪一个服务器容纳了特定的服务。例如:客户机需要找到AD域控制器来验证相关请求,客户机可以向DNS服务器发送一个查询来获取域控制器及它们相关联的IP地址列表。
具体实施
KTOM集团有3台web服务器,1台FTP服务器,具体配置如下:
- Web服务器的IP地址分别为:192.168.1.1、192.168.1.2、192.168.1.3;域名分别为www1.meaauf.com、www2.meaauf.com、www3.meaauf.com
- FTP服务器的IP地址分别为:192.168.1.4;域名为ftp.meaauf.com
测试结果
在测试机将DNS指向DNS服务器的IP
使用nslookup测试dns
快捷创建指针
在正向查找区域中新建主机时,可以勾选“ 创建相关的指针(PTR)记录”,这样在新建主机后,会自动在反向查找区域新建相关指针(前提是需要提前建立反向查找区域)
设置DNS服务器的动态更新
不使用动态更新,要修改DNS服务器的解析数据,就要修改服务器上的数据文件,然后重启服务或者重新加载数据。在这个过程中会影响某些数据的使用。使用动态更新,当DSN主机的IP地址发送变化时,会在DNS服务器中自动更新。