DNS服务器
DNS概述
DNS(Domain Name Service)域名解析服务是用于解析域名与IP地址对应关系的服务。
简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析)。这样人们只需要在浏览器中输入域名就能打开想要访问的网站了。目前,DNS域名解析技术的正向解析也是人们最常用的一种工作模式。
DNS组成
整个DNS域名系统由DNS域名空间、DNS服务器和解析器这三部分组成。
1、DNS域名空间
指定用于组织名称的域的层次结构。根域位于顶部,在根域的下面是几个顶级域,每个顶级域又可以进一步划分为不同的二级域,二级域再划分出子域,子域下面可以是主机也可以是再划分的子域,指导最后的主机。
2、DNS服务器
DNS服务器是保持个维护域名空间中色数据的程序。由于域名服务是分布式的。每一个DNS服务器含有一个域名空间自己的完整信息,七控制范围成为区(Zone)。杜宇本区内的请求由负责本区的DNS服务器解释,对于其它区的请求将有本区的DNS服务器与负责该区的相应服务器联系。
(1)主服务器
为客户端提供域名解析的主要区域,主DNS服务器宕机,会启用从DNS服务器提供服务。
(2)从服务器
主服务器DNS长期无应答,从服务器也会停止提供服务,主从区域治安的同步采用周期性检查+通知的机制,从服务器周期性地检查主服务器上地记录情况,一旦发现修改就会同步,另外主服务器上如果又数据被修改了,会立即通知从服务器更新记录。
(3)缓存服务器
缓存服务器是一种不负责与民法数据维护,也不负责域名解析地DNS服务类型。它将用户经常使用到地域名与IP地址解析记录保存在主机本地中,来提升下次解析的效率。
3、解释器
解释器是简单的程序和子程序,它从服务器中提取信息以响应对域名空间中主机的查询。
DNS查询
DNS查询分为递归查询和迭代查询。
1、递归查询:用于客户机向DNS服务器查询。
2、迭代查询:用于DNS服务器向其它DNS服务器查询。
Bind及BInd配置
BInd概述
BIND(Berkeley Internet Name Daemon)是一款全球互联网使用最广泛的能够提供安全可靠、快捷高效的域名解析服务程序。
并且Bind服务程序还支持chroot(change root)监牢安全机制,chroot机制会限制bind服务程序仅对自身配置文件进行操作,从而保证了整个服务器的安全。
域名解析服务Bind程序名称叫做named,服务程序有3个关键的配置文件如下:
主配置文件(/etc/named.conf):只有58行,而且在除注释信息和空行之后,实际有效的参数仅有30左右,这些参数用来定义bind服务程序的进行。
区域配置文件(/etc/named.rfc 1912.zones):用来保存域名与IP地址对应关系的所有位置,类似于书本目录。
数据配置文件(/var/named):用于保存域名与IP地址真实的对应关系的数据配置文件。
2、Bind中的安全相关的配置
(1)bind4个内置的acl
none:没有主机;
any:任意主机;
local:本机;
localhost:本机所在的IP所属的网络;
(2)访问控制指令
*表示允许查询的主机。
*表示允许向哪些主机做区域传送。默认向所有主机。
*表示允许哪些主机向当前DNS服务器发起递归查询请求。
*表示允许动态更新区域数据库文件中内容,主要用于DNS。
DNS相关而是工具及命令
常用的有host、nslookup、dig三种工具。
1、dig命令
用于检测DNS系统,其不会查询hosts文件,使用格式:
2、host命令
其用法类似于dig命令,使用格式为: