1. DNS: Domain Name System,域名系统。 万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网。他主要负责把域名和IP的相互转换,DNS运行与TCP|UDP的53端口上。
 2. 高速缓存DNS:DNS服务器可以高速缓存从其他DNS服务器收到的DNS记录,也可以在DNS客户服务中使用高速缓存,将其作为DNS客户端保存在最近的查询过程中得到的信息高速缓存的方法
 3. 高速缓冲DNS的作用:当一个主机第一次访问一个网页的时候,该主机的DNS服务器以从远处的服务器拿到数据,并进行高速缓存;这样在主机或者其他主机进行下一次访问的时候,可以直接从该主机的高速缓存中直接获取,这样的方式叫做高速缓存
 4. dns资源记录:DNS区域采用资源记录的形式存储信息,每条资源记录均具有一个类型,表明其保留的数据类型
 A:名称到IPv的地址
 AAAA:名称到IPv6的地址
 CNAME:名称到“规范名称”(包含A/AAAA 记录的另一个名称)
 PTR:IPv4/IPv6地址到名称
 MX:用于名称的邮件交换器(向何处发送其电子邮件)
 NS:域名的名称服务器
 SOA:“授权起始”,DNS区域的信息(管理信息)
 5. dns排错:
 它显示来自DNS查看的详细信息,其中包括为什么查询失败:
 NOOERROR:查询成功
 NXDOMAIN:DNS服务器提示不存在这样的名称
 SERVFAIL:DNS服务器停机或DNSSEC响应验证失败
 REFUSED:DNS服务器拒绝回答(也许是出于访问控制原因)
<高速缓存DNS的搭建>
在服务端:配置网络,添加网关,使得作为服务器的主机连接外网。关闭防火墙

   yum install bind.x86_64 -y   安装服务systemctl start named       启动服务systemctl enable named     设置服务开机自动启动ls -ld /etc/rndc.key	      开启named服务后可以看到此文件生成
这个开启时,需要自动生成加密文件/etc/rndc.key,注意启动过程太慢后者卡住不不动也许是因为系统加密字符不够导致的。可以通过在server端上敲击键盘或移动鼠标来增加无序字符来解决该问题。

修改配置文件 /etc/named.conf


 改好之后重启一下服务
 systemctl restart named
在客户端设置:
 修改DNS解析服务器IP /etc/resolv.conf
 
 完了之后呢测试一下:
 在客户端试一下dig www.qq.com
 
 
 第二次 dig www.qq.com
 当再次访问时,DNS将查询信息已经缓存,此时迅速进行域名解析(即达到高速缓存)
<正向解析>
正向解析:当DNS客户端请求解析某个域名时,DNS服务器通过正向查找,并返回给DNS客户端对应的IP地址。就是将域名转换成ip地址
 1.DNS中的配置文件:
 #主配置文件:/etc/named.conf
 #子配置文件:/etc/name.rfc1912.zones
 #数据目录:/var/named
 接下来看操作:
 服务端:
              vim /etc/named.conf            进入主配置文件中把forwarders这行的内容删除或注释掉,并使服务重启

 
进入数据目录并进行查看,然后将正向解析配置模板在此目录下复制以便于创建解析库文件
         cd /var/namedcp -p named.localhost westos.com.zone
.复制时一定要注意加-p,因为要将其权限和属性一起复制
 
进入到子配置文件中修改配置文件
     vim /etc/named.rfc1912.zones
在配置文件中增加以下内容:
         zone "westos.com" IN {type master;file "westos.com.zone";allow-update { none; };};

 
 进入解析库文件,修改其中的内容,其解析库文件中的语法相当严格,不能有半点错误。
       vim /var/named/westos.com.zone       进入解析库文件$TTL 1D@       IN SOA  dns.westos.com.  haha.westos.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      dns.westos.com.
dns     A       192.168.50.128
www     CNAME   bbs.a.westos.com.
bbs.a   A       192.168.50.11
客户端:
 进入/etc/resolv.conf中,并为其添加解析域以及ip
 将其的dns服务器地址改成高速缓存dns主机ip
测试:
 使用dig命令可以查看到www.westos.com解析的ip以及dns服务器名称和dns服务器ip
 
<DNS域名转换>
 相当于一个域名对应两个ip
 客户端:vim /var/named/westos.com.zone
 往里面加入
 bbs.a A 192.168.50.11
 bbs.a A 192.168.50.22
 

在客户端测试:
 第一次dig www.westos.com
 
在dig一次看哈
 
 同一个域名再进行访问的时候,解析出来的地址轮换出现,减缓服务器的访问压力。
<反向解析>
 用于IP地址到域名的映射,当DNS客户端请求解析某个IP地址时,DNS服务器通过反向查找,并返回给DNS客户端对应的域名。也就是将IP转换成域名。
在服务端:
 vim /etc/named.rfc1912.zones
 在配置文件中加入以下内容
 
进入/var/named目录,将反向解析的模板复制到172.25.254.ptr文件
     cd /var/namedcp -p named.loopback 192.168.50.ptr
 编辑文件192.168.50.ptr 并添加内容如下
编辑文件192.168.50.ptr 并添加内容如下
 
 都改好之后重启服务一下
在客户端测试:

 -x 表示反向解析
<DNS双向解析>
 解释:双向解析即在不同的主机中,当访问同一个域名时,会出现不同的ip。
将正向解析库进行复制,并编辑文件中的内容
    cp -p westos.com.zone westos.com.intervim westos.com.inter

将子配置文件进行复制,并编辑文件中的内容
      cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.intersvim /etc/named.rfc1912.inters

 在服务端中进入主配置文件修改以下内容并生效
      vim /etc/named.confsystemctl restart named

 查看服务端和客户端的域名是否都是服务端的ip
    vim /etc/resolv.conf
服务端解析

 客户端解析

 实验做完后,一定要将主配置文件中的域的解析进行还原,否则会影响接下来的实验
<辅助dns>
 是指:两台主机组成的功能的集合(变一个都变),之所以创建集群,是因为如果访问dns的人过多,可能会崩溃,所以需要添加另外一个服务器辅助dns,缓解访问压力,完全同步主dns。
 首先在客户端安装named服务并进行重启
     yum install bind.x86_64 -y             安装systemctl start named.service          开启systemctl enable named.service         开机自启systemctl stop firewalld.service       关火墙

 进入/etc/resolv.conf文件中,将域名写成本机的ip
  vim /etc/resolv.conf

进入子配置文件修改以下内容
        vim /etc/named.rfc1912.zones

 进入主配置文件并使其生效
       vim /etc/named.confsystemctl restart named

 进入服务端的子配置文件
    vim /etc/named.rfc1912.zonessystemctl restart named

 进入正相解析库中并修改其域名所对应的ip并重启服务
   vim /var/named/westos.com.zonesystemctl restart named

 在服务端解析 www.westos.com
 
在客户端解析 www.westos.com

 如果之前辅DNS已经同步过主DNS,则需要使用命令rm -rf slaves/*进行删除并进行重启,因为辅DNS只是服务在重启的时候才会同步,只同步唯一的一次,所以当主DNS中的数据发生变化时,辅DNS中的内容不会变
改变服务端DNS的数据,重启服务
       vim westos.com.zonesystemctl restart named

 在服务端解析

 在客户端解析。发现其DNS数据没有发生改变,和之前一样,再次重启服务后,依旧没有发生改变,说明辅DNS只同步一次
 
 在服务端进入/var/named/westos.com.zone文件中,修改DNS的数据并修改其seria的值,之后重启服务
      vim westos.com.zonesystemctl restart named

 在服务端解析

 在客服端解析

 DNS数据也发生了改变,说明同步成功