DNS缓存服务器配置详解

DNS缓存服务器配置详解

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服务,再通过客户机测试,发现依然可以解析成功,到这里就说明我们的缓存服务器配置完成了。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部