下面对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 bind
2创建住配置文件/etc/namedconf
options {
directory "/var/named"; #告知工作目录
};
zone “” IN {
type hint; #声明根域
file "namedca"; #根信息存放文件
};
zone "localhost" IN { #本地正解定义
type master; #类型为master
file "localhostzone"; #正解文件名
};
zone "00127in-addrarpa" IN { #本地反解定义
type master;
file "namedlocal"; #反解文件名
};
chown :named /etc/namedconf
#修改属组给named
3创建3个解析文件
namedca
dig -t NS > /var/named/namedca
#向跟服务器发起查询并重定向到目标文件
localhostzone
vim localhost zone
$TTL 86400
#默认的ttl值
@ IN SOA localhost adminlocalhost (
#主DNS服务器localhost
2011081601
#时间+序列号01
1H
#刷新时间:每隔多久来master查询更新
10M
#重试时间间隔
7D
&n
一、简述dns
DNS(domain name system)域名系统或者(domain named system)区域名称服务,分为正向与反向域名解析,适用C/S,端口路53/udp,53/tcp,属于应用层协议;
作用:人得记忆有限,如果没有dns得记下多少IP地址;从网络来说由于tcp/ip协议族是基于ip地址,所以需要一个翻译器即DNS;可以1对多也可以多对1,那么正向解析即域名解析为ip地址,反向解析即ip地址解析为域名。有人说DNS就是一个本大得电话本,说的挺贴切。
正反向解析事两个不同得名称空间,是两颗不同得解析树;
正向:ip---》主机名
反向:主机名---》ip
当今得业界标准BIND(berkeley internet name domain)dns软件
二、DNS域名
1)DNS是一个倒挂树结构示意图如下
2)按照功能命名得五个类别介绍
根域:DNS域名中使用时,规定由尾部据点()来指定名称位于根域或更高级别得域层次结构,()
顶级域:TDL(TOP LEVEL DOMAIN)用来只是某个国家地区或组织使用得类型,例如(com)
二级域:个人或组织在internet上使用得注册名称,例如163com
子域:已经注册二级域名派生得域名,就是网站名,例如>
主机名:通常情况下,DNS域名得最左侧得标签表示网络上得特定计算机,如>
名称服务器:域内负责解析本域内的名称的主机
根服务器:13组服务器
3)dns和internet域
互联网域名系统有名称注册机构负载维护分配有组织和国家/地区得顶级域在internet上进行管理。国际标准3166。
常见得DNS域名
com,商业公司
edu,教育机构
net,网络公司
gov,非军事政府机构
mil,军事政府机构
cn,代表中国
三、DNS服务器类型
主DNS服务器
从DNS服务器 (可以是多个提供容错)
缓存DNS服务器(转发器)
主DNS服务器:管理和维护所负责解析的域内解析库的服务器
从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本
1)复制 *** 作的方式
序列号serial:解析库版本号,主服务器解析库变化时,其序列递增
刷新时间间隔refresh:从服务器从主服务器请求同步解析的时间间隔
重试时间间隔retry:从服务器请求同步失败时,再次尝试时间间隔
过期时长expire:从服务器始终联系不到服务器时,多久后放弃从服务器角度,停止提供服务
否定答案的缓存时长;minimum
”通知“机制:主服务器解析库发送变化时,会主动通知从服务
2)区域传送
完全传输axfr:传送整个解析库
增量传输lxfr:传递解析库变化的那部分内容
3)区域(zone)和域(domain)
Domain:FQDN
正向:FQDN->IP
反向:IP->FQDN
各需要一个解析库来分别负责本地域名的的正向和反向解析库
正向区域
反向区域
FQDN:fullqualified domain name 完全限定域名
如:>
四、DNS查询解析
我们在浏览器访问>
1、在浏览器中输入>
2、如果hosts里没有这个域名的映射,则会查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析记过给客户端,完成域名解析,此解析具有权威性。
4、如果要查询域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责com域的这台服务器。这台负责com域的服务器收到请求后,如果自己无法解析,它就会找一个管理com域的下一级DNS服务器地址(baiducom)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找baiducom域服务器,重复上面的动作,进行查询,直至找到>
6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把请求转至上上级,以此循环。不管是本地DNS服务器用是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
DNS服务器是指“域名解析服务器”,而域名就是我们通常所说的“网址”。在互联网中识别和寻找不同的计算机,实际上是需要知道该计算机的IP地址才能进行访问。比如220181384,这个IP就是百度的电信线路IP中的一个,电信用户在地址栏中输入这个IP地址就可以直接访问百度了,而每个网站都有一个或多个IP地址,如果客户在浏览网页时要输入这些IP地址来进行访问的话,无疑是有很大记忆难度的,而通常我们都是通过域名(网址)来对网站进行访问的。一、DNS服务器的工作原理大致如下:
1、用户在浏览器里输入域名,例如>
当DNS客户机需要查询程序中使用的名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。
1> 指定的DNS域名,表示为完整合格的域名(FQDN);
2> 指定的查询类型,它可以根据类型指定资源记录,或作为查询 *** 作的专门类型;
3> DNS域名的指定类别。
对于DNS服务器,它始终应指定为Internet类别。例如,指定的名称可以是计算机的完全合格的域名,如hosthellomyblogcom,并且指定的查询类型用于通过该名称搜索地址资源记录。系统将把DNS查询当做客户机向服务器提出的两部分问题,如“对于名为hosthellomyblogcom的计算机,你有没有地址资源记录?”当客户机从服务器接收应答时,它读取并解释应答的地址资源记录,以了解它通过名称提问的计算机的IP地址。
DNS查询以各种不同的方式进行解析。客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询。DNS服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其它DNS服务器,以完全解析该名称,并随后将应答返回至客户机,这个过程称为递归。
另外,客户机自已也可以尝试联系其它的DNS服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询,该过程称作迭代。
总之,DNS的查询过程按两部分进行:首先,名称查询从客户机开始并传送至解析程序(DNS客户服务)进行解析;其次,不能就地解析查询时,可根据需要查询的DNS服务器来解析名称,如下图:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)