DNS高速缓存服务的出现是为了提高客户端访问的效率。 若网络中存在缓存机制,当客户端第一次访问目的主机时,会将目的主机的域名和ip缓存下来,当第二次访问该目的主机时,就不需要再次通过域名服务器来获得目的主机的域名和ip的对应关系,这极大的提高了访问目标主机时的响应时间。
为了避免缓存服务器中数据的有效性,通常缓存服务器对其数据设有过期期限,期限到后要重新更新数据。
二、 DNS服务器的分类
权威服务器又包括:Master(主要名称服务器);Slave(备份服务器),Slave通过区域传送从 Master 服务器获得区域数据的副本。
即DNS高速缓存服务器,仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性。
实验环境:一台linux系统的主机(作为dns高速缓存服务器的路由器,同时用作测试机),两台虚拟机(一台用作dns高速缓存服务器,一台用作测试机),一部手机(用来给dns高速缓存服务器提供网络)。
实验步骤:第一步,让dns高速缓存服务器能够访问ip为 114.114.114.114这个域名服务器。 第二步,下载dns服务的软件。 第三步,配置DNS高速缓存服务器。最后一步进行测试。
实验目的:缩短客户端请求的响应时间。
实验准备:我们让 server这台虚拟机作为 dns服务器,并在该虚拟机上配置好本地yum源; desktop作为测试机;真机作为路由器,且真机需要与两台虚拟机有桥接网络的关系。
##第一步:让dns服务器能够访问114.114.114.114:
首先将真机的NAT路由策略开启:
然后给dns高速缓存服务器配置ip,要和真机的ip在同一个网段,并且指定真机的ip为自己的网关。
最后打开手机热点,用本机连接上手机的热点:
现在测试看能否ping 通 114.114.114.114 :
上图说明我们的虚拟机现在已经可以通过网络去访问 114.114.114.114 这台域名服务器了。
### 第二步,下载dns服务对应的软件:
这步的前提是我们已经搭建好本地yum源了。
若我们不知道要下载什么软件,可以用命令 yum search dns 搜索:
我们在这里使用上图阴影部分所指示的软件。
下面将该软件下载下来:
接下来我们开启该服务,该软件对应的服务的名字为 named 。
但重启的时候遇到一点麻烦,服务卡住起不开:
这时我们可以在shell中随即敲击键盘的字母形成密钥。
这时再查看named服务的状态就开启了:
到这里dns对应的服务软件就下载好了。
### 第三步: 配置named服务:
首先,关闭dns高速缓存服务器的防火墙。
接着打开named服务的配置文件,named的配置文件在文件 /etc/named.conf 中:
进入该配置文件要配置四处:
第一处,更改 listen-on port 53 { 127.0.0.0; }; 为 listen-on port 53 { any; };
第二处,修改 allow-query { localhost; }; 为 allow-query { any; };
第三处,添加 forwarders { 114.114.114.114; };
第四处,修改 dnssec-validation yes; 为 dnssec-validation no;
最后重启该服务, systemctl restart named。
到这里服务就算配置成功了。
### 开始测试
我们配置desktop这台测试机访问的域名服务器 为 ip是113的 dns高速缓存器:
我们也配置真机这个测试机 访问的域名服务器 为 ip是113的那台dns高速缓存器
我们用dig 命令来进行测试:
先用desktop 这台测试机 dig www.baidu.com,下图的NOERROR表示服务的状态是正常的:
第一次用时情况如下:
因为第一次要去114.114.114.114这台域名服务器去获得解析数据,所以耗时较多。
这时百度的域名信息已经缓存到dns高速缓存服务器中了。
再使用真机去dig 百度:
再看用时,只有1ms,如下图:
实验结果证明 dns高速缓存实验确实能够最大程度的降低客户端请求响应的时间。