码迷,mamicode.com
首页 > 其他好文 > 详细

DNS缓存服务器配置详解

时间:2018-01-07 14:23:44      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:本地   option   cal   direct   本地缓存   和我   指定   ida   table   

DNS缓存服务器配置详解

1DNS缓存服务器作用

为了增加访问效率,计算机有域名缓存机制,当访问过某个网站并得到其IP后,会将其域名和IP缓存下来,下一次访问的时候,就不需要再请求域名服务器获取IP,直接使用缓存中的IP,提高了响应的速度。当然缓存是有有效时间的,当过了有效时间后,再次请求网站,还是需要先请求域名解析。

缓存DNS服务器并不在本地数据库保存任何资源记录,它仅仅缓存本地局域网内客户端的查询结果,从而起到加速查询请求和节省网络带宽的作用。

 

2DNS查询的流程

1)首先,客户端查询本地的DNS服务器。默认情况下,即/etc/resolv.conf文件中所列的第一个名称服务器。

 

2)接着本地名称服务器会查询本地数据库和缓存,如果本地数据库中有该资源记录(该名称服务器对该域进行权威解析),则返回查询结果。

 

3)如果没有,则查询缓存,看看缓存中是否有以前对该资源记录的查询结果,如有,则返回查询结果;如果仍然没有,则会向其他DNS服务器进行递归解析。

 

4)进入递归解析,本地DNS服务器向根域DNS服务器(Root Nameserver)提出查询请求,

根域DNS服务器会返回顶级域(TLDDNS服务器地址(例如.comDNS服务器地址);

本地DNS服务器再次向TLD Nameserver发出查询请求,TLD Nameserver会返回下一级域的DNS服务器地址;依此类推,直到查询到权威的名称服务器(Authoritative Nameserver;

 

5)本地DNS服务器从Authoritative Nameserver获得查询结果,将查询结果返回给客户端,并在本地DNS服务器中缓存该查询结果,如果客户端再次提出同样的查询请求,本地DNS服务器直接从缓存中取得对于结果返回给客户端。

 

3DNS缓存服务器配置

提示:本次配置是在centos7环境下进行的

1)配置前的准备工作

1、配置好本地光盘yum源或者配置网络yum

2、设置好防火墙开放TCPUDP53端口,或者直接关闭防火墙

centos7.x关闭防火墙方法:

systemctl stop firewalld.service

 

centos6.x防火墙关闭方法:

/etc/init.d/iptables stopservice iptables stop

 

3、关闭selinux

selinux临时关闭:setenforce 0

selinux永久关闭:sed i7s/enforcing/disabled/g/etc/selinux/config

2)安装bindbind-utils软件

[root@localhost ~]# yum install bind bind-utils

[root@localhost ~]# systemctl restart named.service    启动named服务

[root@localhost ~]# systemctl enable named.service    named服务设置为开机自启

 

 

3)修改主配置文件/etc/named.conf

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

options {

        listen-on port 53 { any; };   表明DNS服务监听的地址和53号端口

        listen-on-v6 port 53 { none; };   监听的ipv6地址和端口,为了方便设置none禁用

        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; };    允许哪些地址的客户端提出查询。

recursion yes;    

表明允许本DNS服务器进行递归解析,这里配置缓存服务器,需要将查询转发到其他DNS服务器,所以这里必须设置为yes

        dnssec-enable yes;

用来设置是否启用DNSSEC支持,DNS安全扩展(DNSSEC)提供了验证DNS数据由效性的系统。

        dnssec-validation no;    

指定在DNS查询过程中是否加密,为了加快效率这里设置为no

        forwarders { 192.168.115.120; };    这里设置的是主DNSIP地址

当本地缓存中没有对应的解析时,将客户机的查询转发到哪些DNS服务器,可以添加多个DNS服务器的地址

        forward only;

表示服务器就只把客户机的查询转发到其他DNS服务器上去

};... ...

 

4)重启服务

[root@localhost ~]# systemctl restart named.service

此时我们的缓存DNS服务器就已经配置完成了,接下来是测试阶段。

 

5)测试配置是否成功

找一台客户机,把客户机DNS设置为我们的缓存服务器的IP地址,然后确保主DNS服务器和我们的缓存服务器named服务是启动的,然后使用客户机测试我们需要解析的域名和IP地址,发现解析成功。

      然后关闭主DNSnamed服务,再通过客户机测试,发现依然可以解析成功,到这里就说明我们的缓存服务器配置完成了。


DNS缓存服务器配置详解

标签:本地   option   cal   direct   本地缓存   和我   指定   ida   table   

原文地址:http://blog.51cto.com/longlei/2058298

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!