dns域名解析
一、dns概念
dns是什么?概括的说DNS是计算机域名(Domain Name System)的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,一个IP地址可以同时对应多个域名,但IP地址不一定有域名
dns:将一个已知的域名解析成ip地址
二、dns结构
DNS 是一个分布式数据库,命名系统采用层次的逻辑结构,如同一个倒置的树,这个逻辑的树型结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用各自的域名空间创建自己的DNS信息。
根域名 :.root 或者 . ,根域名通常是省略的
顶级域名,如 .com,.cn 等
通用顶级域名 com公司企业
在这里插入图片描述
次级域名,如 baidu.com 里的 baidu,这个是用户可以进行注册购买的
主机域名,比如 baike.baidu.com 里的baike,这个是用户可分配的
例如:www.baidu.com
com: 一级域名. 表示这是一个企业域名。
baidu: 二级域名,指公司名。
www: 表示主机域名为 www。
三、dns的查询方式
1、递归查询
递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果DNS服务器本地没有存储查询DNS信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。,
2、迭代查询
NS 服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS服务器提交请求,依次循环直到返回查询的结果为止。
总结:客户端到本地dns服务器查询就是递归查询了,dns服务器和服务器之间查询就是迭代了。
四、dns的解析工作过程
1、当用户在浏览器输入域名的时候,dns解析会有一下过程
(1)、首先浏览器会检查自动缓存是否有这个域名的IP地址,如果命中缓存,那么解析结束
(2)、如果浏览器没有缓存,那么浏览器会检查操作系统本身的解析缓存,比如自己本身的host文件,如果这里有那么就会定义host里的ip地址
(3)、如果本地host文件没有命中域名,那么就会去请求本地的域名服务器(LDNS)
(4)、如果本地的dns还没命中域名,那么LDNS就会像根域名服务器做解析
(5)、根域名服务器返回给LDNS一个所查询的主域名服务器地址(gTLD Server,国际顶尖域名服务器,如.com、.cn、.org等)地址;
(6)、此时LDNS再发送请求到上一步返回的gTLD的IP地址;
(7)、接受请求的gTLD查找并返回这个域名对应的Name Server的地址,这个Name Server就是网站注册的域名服务器;
(8)、Name Server根据映射关系表找到目标IP地址,并将其返回给LDNS;
(9)、LDNS缓存这个域名和对应的IP;
(10)、LDNS把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中,域名解析过程至此结束。
五、linux搭建dns服务器
准备操作系统:一台linux环境 和 一台windows 同一个网卡vm8
1、Linux操作
1)、配置yum源安装dhcp服务(挂载本地源)
vim /etc/yum.repos.d/local.repo
[cdrom]
name=benet
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
!](https://img-blog.csdnimg.cn/38ac4ffca004419b9210cea96eb0f03a.png)
mount /dev/cdrom /media/cdrom/ #挂载本地光盘镜像文件
(2)、yum安装bind服务
(3)、修改配置文件/etc/named.conf(dns的配置文件)
设置正向解析的域名为yzq.com,指定域名yzq.com的正向解析文件名为yzq.com.zone
cd /var/named/ #进入到dns的域名解析存储文件位置
cp -a named.localhost yzq.com.zone #复制一个参考文件
vim yzq.com.zone #编辑
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.yzq.com.
dns IN A 192.168.1.1
www IN A 192.168.1.2
tt IN CNAME www
① 语句NS:域名服务器解析记录dns.yzq.com.
② 语句A记录:域名到IP地址的映射dns.yzq.com是服务器IP的域名,会解析出DNS服务器的IP地址、
③ 语句A记录:域名到IP地址的映射www.yzq.com是IP地址192.168.1.2的域名
④ 语句CNAME:域名www.wry.com的别名记录tt.wry.com
(4)、检查配置文件问题有无报错
检查/etc/named.conf
命令:named-checkconf /etc/named.conf
检查yzq.com.zone 有无报错
命令:named-checkzone yzq.com yzq.com.zone
(5)、windows看网卡的dns服务器是否为linux的dns服务器,如果不是手动改网卡dns配置
输入nslookup查看域名解析