Domain NAme Service
域名服务
作用:为客户机提供域名解析服务器
如:“www.sina.com.cn”是一个域名,从严格意义上讲,“sina.com.cn”才被称为域名(全球唯一),而“www”是主机名。
“主机名.域名”称为完全限定域名(FQDN)。一个域名下可以有多个主机,域名全球唯一,那么“主机名.域名”肯定也是全球唯一。
以“sina.com.cn”域名为例,一般管理员在命名其主机的时候会根据其主机的功能而命名,比如网站是www,博客的blog,论坛的是bbs,那么对应的FQD为 “www.sina.com.cn”,blog.sina.com.cn,bbs.sina.com.cn。这么多个FQDN,然而我们只需要一个域名即“sina.com.cn”即可。
树形结构
根域
顶级域
国家顶级域 cn jp hk uk
商业顶级域
com 商业机构
gov 政府机构
mil 军事机构
edu 教育机构
org 民间组织架构
net 互联网
一级域名
二级域名
. . . .
如:www.baidu.com.
. 为根域
.com为顶级域
baidu为一级域名
www为主机名
FQDN=主机名.DNS后缀
FQDN(完整合格的域名)
TCP53
UDP53
1)递归查询:客户机与本地DNS服务器之间
2)迭代查询:本地DNS服务器与根等其他的DNS服务器的解析过程
算机访问某个网站的流程:
计算机会先通过网站的域名查找网站的IP地址,再通过IP地址访问网站。
1、客户机在浏览器中输入www.baidu.com 域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
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服务器地址(baidu.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找baidu.com域服务器,重复上面的动作,进行查询,直至找到www.baidu.com主机。
6、如果用的是转发模式,此本地DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用的是转发模式,还是根服务器,最后都是把结果返回给本地DNS服务器,由本地DNS服务器再返回给客户机。原文链接
注意:第5、6步无论哪一步查到了需要的IP地址返回给本地DNS服务器,DNS服务器再返回给客户机的同时服务器也会记录下该IP地址,下次查找就可以直接读缓存,就不用这么麻烦。
客户机与本地的DNS服务器的关系就是递归解析(我问你,你就给我什么就叫递归)
DNS服务器之间的关系是迭代解析
经典题:
那些设备之间是递归查询?
答:1. 客户机与本地的DNS服务器 2. DNS转发器
什么是迭代?
答:DNS服务器与根之间的交互就是迭代
1)正向解析:已知域名,解析IP地址
2)反向解析:已知IP地址,解析域名
win2003虚拟机为例
先输入:netstat -an 查询一下开放端口,等下做个对比,你会发现现在TCP53 / UDP53 两个端口并没有开放
开始安装DHCP服务组件,虚拟机 -- 设置 -- 设备状态 -- 选择已连接
就会自动弹出这个窗口
双击打开网络服务
选择域名系统确定
我光驱是在E盘,他找不到所以我们给他改成e盘,确定
会弹出来两次,都要改成e
安装完之后再次输入:netstat -an # 查看开放端口 你就会发现TCP和UDP的53端口就开放了
例子:让同一个局域网下的所有客户机,都来我这服务器,解析IP地址,以百度的域名(baidu.com)为例。
步骤:
1)打开刚才安装的DNS服务器
2)正向查找区域 -- 新建区域
新建成功,以后是以 baidu.com 结尾的我们都放到这个区域,对应同一局域网下的客户机来说,这个服务器的解析就是权威解析,其他都是非权威。
注意:现在客户机还是访问不了 baidu.com 相关的网站,因为该区域下除了默认的主机记录,啥都没有
如果有人问DNS的A记录啥?就是正向解析记录
例:新建一个名为www的主机
步骤:
1)鼠标放在区域下右键 -- 新建主机
2)输入需要创建的主机名与域名的IP地址(主机名 + 域名 = 完整合格的域名,上面有提到)
3)创建成功,以后有客户机在这个局域网下访问,www.baudu.com,他最后解析到的IP地址就是1.1.1.1,随便写的打不开百度。
在WindowsXP测试,命令行:
nslookup www.baidu.com # 手工解析域名的IP地址
ping www.baidu.com # ping 测试网络连通性
注意:我这里把Windows2003配置成了DHCP服务器,WindowsXP是连接到Windows2003服务器的客户机。
具体实现步骤:DHCP部署与安全
然后我把 Windows2003 的DHCP服务器的DNS地址改成和Windows2003的IP地址,或者把WindowsXP客户机的DNS首选地址改成Windows2003的IP地址,让WindowsXP客户机在访问www.baidu.com 时去到Windows2003的DNS服务器解析IP。
步骤如下:
虚拟机
真实机
IP地址不好记才有域名这种东西,用IP地址一样能访问网站,域名就是用来绑定IP的,方便记忆
还可以测试一下其他网站,比如百度网盘的域名: pan.baidu.com
去创建一下
再次测试,先输入:ipconfig /flushdns # 刷新本地DNS缓存,不然XP系统获取不到最新的数 据,这个问题win7以上已经解决了
例子:让DNSf服务器返回名称
如果你是用nslookup # 解析域名,就会发现我们自己搭建的DNS服务器没有返回DNS服务器名称
本机静态IP地址查看,下面会用到
实现步骤:
1) 在正向查找区域再建一个主机
2)来到反向查找区域 -- 新建区域
3)新建指针(让IP地址和域名关联起来)
4)测试是否返回服务名称成功了
转发器是解决那些这台服务器没有应答的 DNS 查询的服务器。转发下列 DNS 域中的名称查询。
设置转发器
Windows2003配置如下
Windows2003-1 配置如下,有www.qq.com
测试,在winXP访问了www.qq.com
设置了转发器的访问过程如下:
首先:WindowsXP这台客服机访问了,www.qq.com,然后请求就来到了他的首选DNS服务器Windows20003的DNS服务器。
然后:在Windows20003的DNS服务器查找自己的主机(A)记录,很明显如下图没找到,但是如上图我给Windows20003的DNS服务器设置了转发器,找不到时就会转发到Windows20003 -1的DNS服务器上。
最后:如上图在Windows20003 -1 上存在 www.qq.com 这个域名的A记录,之后就把该记录转发给Windows20003的DNS服务器上,再由Windows20003的DNS服务器响应给WindowsXP客服机
相当于备份,放到另一台电脑上备份起来提高容错率
例:使用Windows2003-1的DNS服务器复制Windows2003的baidu.com区域。
步骤:
1)给Windows2003-1的DNS服务器开启复制权限
2)来到Windows2003-1,正向查找区域 -- 新建区域
3)选择辅助区域
4)输入要复制的区域名称
5)输入要复制的区域服务器IP地址
6) 检查有没有错误 -- 完成
7)复制中,请耐心等待
8)没耐心了,点刷新,复制成功了。。。
步骤:
1)让虚拟机上网:
网络连接 -- 自定义 -- VMnet0
然后把IP和DN改为自动获取
2)设置让winXP客户机把win2003当做本地的DNS服务器
实现:把winXP的DNS获取改为手动获取,并设置为win2003DNS服务器的本地IP地址
3)开始测试,测试开始前先清除本地的DNS解析缓存:ipconfig /flushdns 然后可以使用:ping 或 nslookup 进行测试
4)为了减轻本地DNS服务器的负担,还可以设置转发器,目标就是你所在地区的DNS服务器,百度查找或直接看wifi用的是哪个。
现在baidu.com 这个区域下有个www的主机记录
创建别名
去到winXP测试一下
真机上
ipconfig /flushdns
windows服务器:dns工具 -- 查看 -- 高级,调出缓存来,然后右键清除缓存
A记录:正向解析记录
CNAME记录:别名
PTR记录:反向解析记录
MX:邮件交换记录
NS:域名服务器解析
nslookup手工解析时,会进行一个反向解析
1)DNS缓存(客户机自己的缓存)
2)本地hosts文件
3)找本地DNS服务器(ip配置哪里指定的首选DNS就是本地DNS服务器)
1)DNS高速缓存(服务器缓存)
2)DNS区域解析文件(服务器自己负责的区域)
3)DNS转发器
4)根提示
5)最后还是解析不了,返回请求超时