| 关键词: nbsp 服务器 域名 查询 迭代 DNS 文件 递归 服务 地址 |
精解Linux RHEL 6.x DNS 服务器 =============================================一、DNS的原理二、缓存服务器三、DNS的测试工具四、DNS主从服务器五、DNS的转发六、DNS的子域授权七、DNS的acl规则和view视图八、DNS的日志系统的使用=================================================一、DNS的原理DNS (Domain Name Server) 域名解析服务,他可以完成域名与IP地址的互换,可以通过IP地址解析到域名,也可以通过域名解析到IP地址,IP地址是平面结构,且不容易记住,DNS是层次化的结构,便于记忆。DNS的层次化 1)根域:根域位于层次结构的最顶部并用小句点“.”表示全球有十三个根服务器,一个主根服务器,十二个辅助根服务器。2)顶级域:顶级域是按照组织类别或地理位置来划分的.gov政府组织.com商业组织.net网络中心.org非营利性组织.edu教育部门.cn .uk .us国家国别的代码,cn表示中国,uk表示英国,us表示美国3)二级域:由国际域名组织为互联网中的个人或部门指定和登记的二级域(如51cto.com,sohu.com)DNS的查询方式 迭代查询:本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服 务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地 域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询 递归查询:主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的份,向其他根域名服务器继续发出查询请求报文会给客户端一个准确的返回结果,无论是成功与否。步骤1:当客户端在IE输入www.baidu.com,客户端去请求本地域服务器解析,此过程为发 起递归查询。步骤2:本地服务器接到查询请求后,查看区域文件,发现不是自己管制的区域,则发 送给根域进行解析。此过程为迭代查询。步骤3:根域服务接收到 请求后,查看区域文件,回复请求的主机,去找.com域服务器。此 过程是迭代查询。步骤4:本地域服务器,接收到根域服务器的回复后,去找.com域服务器,请求解析。此过 程序是迭代查询。步骤5:.com服务器接收到请求之后,查看自己的区域文件,回复主机去找 baidu.com域服务,此过程是迭代查询。步骤6:本地域服务器,接收到.com域服务器的回复后,去找baidu.com域服务器, 请求解析,此过程是迭代查询。步骤7:baidu.com域服务器接收到请求后,查看自己的区域文件,发现是自己所管制 的区域,然后查看区域解析文件,把对应的IP地址发送给请求的服务器,此过 程是迭代查询。步骤8:本地服务器接收到baidu.com域服务器的回复,把FQDN对应IP地址传送给客 户端,此过程为递归查询。 DNS的解析类型 FQDN:(Fully Qualified Domain Name)完全合格域名,由主机名+域名组成 (如www.51cto.com) 正向解决:FQDN----->IP,把完全合格域名,解析为IP地址 方向解析:IP-------->FQDN,把IP解析为完全合格域名。Linux服务器实现DNS服务器的软件有bind、powerdns,此博客主要讲bind。 bind的相关软件包 bind:提供域名服务的主程序和相关文件 bind-libs:提供域名服务器所依赖的库文件 bind-utils:提供了对DNS服务的测试工具程序 rpm -qc 包名 查看包安装生成的文件清单 rpm -qi 包名 查看包的摘要信息二、缓存服务器1)安装软件包 yum -y install bind 2)bind配置文件 安装完后,会用到四个配置文件,四个配置文件的关系 3)DNS bind named的关系 DNS是一个服务,是提供域名解析的服务; bind是实现这个服务的软件包; named是dns这个服务的守护进程 4)配置缓存服务器的思路把客户端发送的请求,转发给能解析到的服务器在主配置文件里面修改 (/etc/named.conf)开启服务, service named start(/etc/rc.d/init.d/named start)第一次需要开启服务,之后只需要加载配置文件即可service named reload (rndc reload)named-checkconf三、DNS的测试工具[root@jie2 data]# rpm -ql bind-utils/usr/bin/dig #dig测试命令工具/usr/bin/host #host测试命令工具/usr/bin/nslookup #nslookup测试命令工具/usr/bin/nsupdate/usr/share/man/man1/dig.1.gz/usr/share/man/man1/host.1.gz/usr/share/man/man1/nslookup.1.gz/usr/share/man/man1/nsupdate.1.gz命令的使用用法: dig [option] 资源记录类型名称 [@server-ip] option:[ -t type] 指定类型 [-x addr] 指定IP |