DNS 即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制。其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。下面对DNS的工作流程及原理进行简要说明DNS的查询流程:需要解析服务的Client先查看本机的/etc/hosts;若无结果,则client查看本地的DNS缓存服务器;若无结果,则查找所属域的首选DNS服务器;若此时本地首选DNS服务器仍无法解析,则会想根域名服务器进行查询或选择转发解析请求。 DNS的查询规则:递归式查询,即client向支持递归查询的DNS Server发出解析请求,则自DNS服务器不论是自身直接解析还是无法解析想根发出请求,总会由其向client返回一个结果;迭代式查询,即接收client解析请求的DNS Server,若其能够解析则直接返回结果,若其不能解析将把解析请求交给其他DNS服务器,而不是自己亲自将解析过程完成。 所谓的“根”服务器:根服务器主要用来管理互联网的主目录,全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。DNS记录的类型:A:Address 域名向ip地址转换的记录;PTR:Printer ip地址向域名转换的记录;NS:代表域内的dns服务器;MX:代表域内的邮件服务器;CNAME:域名的别名;SOA:start of authority用于标示域内主DNS服务器。提供DNS服务的软件:BIND即Berkeley Internet Name Domain有加州大学伯克利分校研发是当今提供dns服务应用最广的软件。下面让我们进入正题,以下内容包括:DNS的缓存服务器、主/从服务器、子域授权、转发以及视图的配置步骤。 DNS缓存服务器Ps:为了更好的体会和理解dns的配置文件和域解析文件,作者在此只安装bind包,以手动编辑的方式生成这几个必须的文件。1.安装bind包yum install bind2.创建住配置文件/etc/named.confoptions { directory "/var/named"; #告知工作目录}; zone “.” IN {type hint; #声明根域file "named.ca"; #根信息存放文件}; zone "localhost" IN { #本地正解定义type master; #类型为masterfile "localhost.zone"; #正解文件名}; zone "0.0.127.in-addr.arpa" IN { #本地反解定义type master;file "named.local"; #反解文件名 }; chown :named /etc/named.conf#修改属组给named3.创建3个解析文件named.cadig -t NS . > /var/named/named.ca#向跟服务器发起查询并重定向到目标文件 localhost.zonevim localhost. zone$TTL 86400 #默认的ttl值@ IN SOA localhost. admin.localhost. ( #主DNS服务器localhost. 2011081601 #时间+序列号01 1H #刷新时间:每隔多久来master查询更新 10M #重试时间间隔 7D &n