DNS高速缓存

DNS相关资料:

1.什么是DNS
 DNS(Domain Name System域名系统)
       是互联网上存储域名和ip映射关系的一个分布式数据库,它负责把域名转换成ip地址,或ip地址转换为域名。DNS运行于TCP/UDP的53端口上。
2.什么是高速缓存DNS
       DNS服务器可以高速缓存从其他DNS服务器收到的DNS记录,也可以在DNS客户服 务中使用高速缓存,将其作为DNS客户端保存在最近的查询过程中得到的信息高速缓存的方法
3.DNS高速缓存的作用
       当某个访问请求解析过一个域名以后,该解析记录就放置在缓存中,以后再有同样的解析请求,就直接从缓存中提供结果,加快了访问者的应答速度。

DNS服务器部署

简介:

        DNS(Domain Name Server)是基于tcp和udp协议的服务;实现IP与域名之间的映射;就像我们生活中的身份证号与名字之间的 映射一样。

       在互联网这个大环境中,我们平时上网使用的都是类似于www.baidu.com的域名,这是我们人类易读的互联网,但是在实际的数据传输中,我们用到的都是ip地址,计算机无法直接识别我们常用的域名,因此我们就需要一个在我们和计算机之间做翻译的服务,而这个服务就是DNS。DNS是基于tcp和udp协议的服务,用于我们日常的域名解析帮助我们在域名和ip地址中相互转换,DNS所用端口为53端口,在linux中dns服务的服务名为named,安装包为bind,一般情况下我们可以在linux系统中直接通过“yum -y install bind”即可安装我们需要的DNS服务。

        我们的域名作为数据存储在世界上13台根DNS服务器上,当我们需要查找域名时就会去这13台服务器去访问然后就会告诉你你询问的域名所对应的ip

   DNS解析过程:

客户端先查看浏览器缓存和本地host文件,本地DNS解析缓存,没有的话就交给本地域名解析服务器(由运营商提供),本地域名缓存解析服务器收到解析请求后,先看本地缓存有没有,如果没有直接找域名根服务器,根收到www.google.com这个请求时,会说不明白在哪里,但是根节点服务器会返回.com给本地域名解析服务器,然后本地域名解析服务器再找.com,找到后,再找google.com,最终找到www.google.com这个主机

DNS分布

DNS高速缓存_第1张图片

DNS查询过程

DNS高速缓存_第2张图片

解析:

(1)将域名,主机名解析对应的ip地址          正向解析
(2)将IP地址解析成对应的主机名,域名     反向解析    

DNS高速缓存_第3张图片

详细的请求的顺序为:

  1. 客户端Host文件标识
  2. 客户缓存
  3. 服务器区域设定
  4. 服务器缓存
  5. 其它服务器

环境:

[root@foundation1 ~]#            //主机:172.25.1.250

[root@server1 ~]#                   //(服务器端)server1:17225.1.1

[root@server2 ~]#                   //(客户端)    server2:17225.1.2

DNS高速缓存

服务器端:

[root@server1 named]# systemctl start named  
[root@server1 named]# systemctl enable named
[root@server1 named]# systemctl stop firewalld
[root@server1 named]# systemctl disable firewalld

[root@server1 named]# yum install -y bind              //下载所需软件

[root@server1 named]# vim /etc/named.conf

options {
        listen-on port 53 { any; };               //设置默认ip为所有                             
        listen-on-v6 port 53 { ::1; };                                               
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query { any; };                                     //设置所有访问均允许                   
        forwarders {172.25.1.250;};                         //dns高速缓存,指向其它DNS服务器                                            

DNS高速缓存_第4张图片

        dnssec-validation no;                     //不做互联网认证

[root@server1 named]# systemctl restart named

[root@server1 ~]# netstat -antlp | grep named

DNS高速缓存_第5张图片

[root@server1 named]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

GATEWAY=172.25.1.250               //设置网关为主机

DNS高速缓存_第6张图片

[root@server1 named]# systemctl restart network


[root@server1 named]# vim /etc/resolv.conf           //配置主配置文件

nameserver 192.168.43.1                  //设置所需的dns


 

在客户端查询域名对应ip:

[root@server2 ~]# vim /etc/resolv.conf                   //将所需测试的主机设置为dns

[root@server2 ~]# dig www.baidu.com

DNS高速缓存_第7张图片

耗时为1

[root@server2 ~]# dig www.baidu.com

DNS高速缓存_第8张图片

耗时为0

//这说明DNS的高速缓存已经配置成功,显示出了dns缓存的目的,访问速度加快了

 

DNS正向解析

服务器端:

[root@server1 ~]# vim /etc/named.conf

#       forwarders {172.25.1.250;};                 //注释掉其中的forwarders那行,取消向其他主机询问,自己充当DNS

[root@server1 ~]# vim  /etc/named.rfc1912.zones                   //也是named的配置文件,单独列出

zone"westos.com"IN{                      ##域名
    type master;
    file"westos.com.zone";     ##正向解析域名文件
    allow-update{none;};
   };

DNS高速缓存_第9张图片

[root@server1 ~]# cd /var/named
[root@server1 named]# cp -p named.localhost westos.com.zone              //利用该模板生成正向解析域名文件
[root@server1 named]# vim westos.com.zone                        ##编辑域名解析文件

$TTL 1D                       //生存期, 默认单位为秒,另可设定为[W|D|H|M] 
@       IN SOA   dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

        NS    dns.westos.com.
dns     A     172.25.1.100                //地址解析服务端
hello   A     172.25.1.200               //自定义域名解析         

 

  •         NS      @                     ; 直接输入域名,访问@  
  •         A       127.0.0.1          ; 直接输入域名,解析到的IPV4的IP  
  •         AAAA    ::1                 ; 直接输入域名,解析到的IPV6的IP  

DNS高速缓存_第10张图片     

注释:
@ 相当于子配置文件中“ ”中所写的值,SOA相当于授权
1D 表示数据内容自动保存一天

[root@server1 named]# systemctl restart named


在客户端测试:

[root@server2 ~]# vim /etc/resolv.conf

nameserver 172.25.1.1                          //确认添加nameserver 172.25.1.1

[root@server2 ~]# dig  hello.westos.com

DNS高速缓存_第11张图片

[root@server2 ~]# dig  dns.westos.com

DNS高速缓存_第12张图片

正向轮询域名解析

服务器端:

[root@server1 named]# vim westos.com.zone

$TTL 1D
@       IN SOA   dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

        NS    dns.westos.com.
dns     A     172.25.1.100
hello   A     172.25.1.200
www    CNAME  node1.westos.com.
node1   A     172.25.1.110
node1   A     172.25.1.220

DNS高速缓存_第13张图片

//CNAME 表示把规范名称转化为不规范名称

[root@server1 named]# systemctl restart named

在客户端测试

[root@server2 ~]# dig www.westos.com

DNS高速缓存_第14张图片

[root@server2 ~]# dig www.westos.com

DNS高速缓存_第15张图片
此时可以看到自动交替访问两个ip


DNS反向解析

服务器端:
vim /etc/named.rfc1912.zones            //将正向解析注释掉

DNS高速缓存_第16张图片

zone "1.25.172.in-addr.arpa" IN {                    //域名对应的ip反向写,表示的是172.25.1这个ip段
        type master;
        file "westos.com.ptr";                //域名反向解析文件
        allow-update { none; };
};

DNS高速缓存_第17张图片

[root@server1 named]# pwd

[root@server1 named]# cp -p named.localhost westos.com.ptr               //用该模板拷贝出反向解析域名文件

[root@server1 named]# vim westos.com.ptr             //编辑域名反向解析文件      

$TTL 1D
@      IN  SOA  dns.westos.com.  root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
          NS           dns.westos.com.
dns     A             172.25.1.150                         //地址解析服务端
222     PTR       hello.westos.com.                //反向解析的自定义内容
111     PTR       linux.westos.com.     

DNS高速缓存_第18张图片

[root@server1 named]# systemctl restart named

在客户端测试:
dig -x 172.25.254.111

DNS高速缓存_第19张图片
dig -x 172.25.254.222          //其中 -x 表示反向

DNS高速缓存_第20张图片

DNS集群-----主从DNS

环境:

服务器端:     主DNS(server1):    172.25.1.1                     从DNS(server3):    172.25.1.3

客户端:          server2:    172.25.1.2

三台主机均配置好yum源

服务器端:
主DNS:

[root@server1 ~]# vim /etc/named.rfc1912.zones

 zone "westos.com" IN {
      type master;
      file "westos.com.zone";
        allow-update { none; };
        allow-transfer{172.25.1.2;};
        also-notify{172.25.1.2;};                               //从DNS的ip
 };

DNS高速缓存_第21张图片

systemctl restart named

从DNS:

[root@server3 ~]# yum install -y bind

[root@server3 ~]# systemctl start named

[root@server3 ~]# vim /etc/named.conf

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };

DNS高速缓存_第22张图片

[root@server3 ~]# vim /etc/named.rfc1912.zones

zone "westos.com" IN {
        type slave;               //将其设置为slave(备)
        masters{172.25.1.1;};                //主dns的ip
        file "westos.com.zone";
        allow-update{ none; };
};

DNS高速缓存_第23张图片

[root@server3 ~]# systemctl restart named


在服务端测试:

[root@server2 ~]# vim /etc/resolv.conf              //修改nameserver为从DNS的ip

[root@server2 ~]# dig hello.westos.com

DNS高速缓存_第24张图片

主DNS修改后测试,则从DNS自动更新

[root@server1 named]# vim westos.com.zone

$TTL 1D
@       IN SOA   dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
       NS    dns.westos.com.
dns     A     172.25.1.100
hello  CNAME  www
www     A     172.25.1.115
www     A     172.25.1.116

DNS高速缓存_第25张图片

//修改后的域名解析文件

客户端进行测试

[root@server2 ~]# dig hello.westos.com

DNS高速缓存_第26张图片

DNS的双向解析

实现内外网的分离

 

vim /etc/named.conf
注释掉
/*
zone"."IN{          
    type  hint;
    file"westos.ca";     
    };
include "/etc/named.rfc1912.zones;"
include "/etc/named.root.key";
*/

view localhost {
    match-clients {172.25.254.106;};
    zone "." IN {
      type  hint;
      };   
include "/etc/named.rfc1912.zones;"
    };
view Anynet {
    match-clients {any;};
    zone "." IN {
      type  hint;
      file "named.ca";
      };   
include "/etc/named.rfc1912.inter";
    };                       ##实现内外网分离

zone到key";
实现内外网的分离
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter  ##外网配置文件
vim /etc/named.rfc1912.inter
zone"westos.com"IN{            
    type master;
    file"westos.com.inter";
    allow-update{none;};
cd /var/named
cp -p westos.com.zone    westos.com.inter
vim westos.com.inter             ##外网域名解析文件
客户端测试
vim /etc/resolv.conf          ##为两个网络段的客户端配置nameserver
dig www.westos.com

DNS的远程更新(稍后补充)

  • 基于正常认证方式的远程更新
  • 基于key认证的远程更新
  •  

DNS动态域名解析(稍后补充)

你可能感兴趣的:(DNS高速缓存)