DNS高速缓存服务器在企业中的常规部署

一:DNS以及高速缓存DNS概念和作用

<1>DNS
DNS:域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

根域名.一共有十三个,在美国

<2>高速缓存DNS

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

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

二:DNS查询的流程以及资源记录

(1)首先,客户端查询本地的DNS服务器。默认情况下,即/etc/resolv.conf文件中所列的第一个名称服务器。
(2)接着本地名称服务器会查询本地数据库和缓存,如果本地数据库中有该资源记录(该服务器对该域进行过本地解析),则返回查询结果。
(3)如果没有,则查询缓存,看看缓存中是否有以前对该资源记录的查询结果,如有,则返回查询结果;如果仍然没有,则会向其他DNS服务器进行递归解析
(4)进入递归解析,本地DNS服务器向根域DNS服务器(Root Nameserver,权威DNS)提出查询请求,
     根域DNS服务器会返回顶级域(TLD)DNS服务器地址(例如.com的DNS服务器地址);
     本地DNS服务器再次向TLD Nameserver发出查询请求,TLD Nameserver会返回下一级域的DNS服务器地址;依此类推,直到查询到权威的名称服务器(Authoritative Nameserver);
(5)本地DNS服务器从Authoritative Nameserver获得查询结果,将查询结果返回给客户端,并在本地DNS服务器中缓存该查询结果,如果客户端再次提出同样的查询请求,本地DNS服务器直接从缓存中取得对于结果返回给客户端。

DNS资源记录
DNS区域采用资源记录的形式存储信息,每条资源记录均具有一个类型,表明其保留的数据类型

A 名称到IPv4的地址
AAAA 名称到IPv6的地址
CNAME 名称到“规范名称”(包含A/AAAA 记录的另一个名称)
PTR IPv4/IPv6地址到名称
MX 用于名称的邮件交换器(向何处发送其电子邮件)
NS 域名的名称服务器
SOA “授权起始”,DNS区域的信息(管理信息)

三.配置DNS高速缓存服务器的原因和操作

<1>:配置DNS高速缓存服务器的原因

当我们在访问网页时,需要通过DNS服务器去解析网站地址,解析时间很短,但是当DNS访问量非常大时候(一个企业的人都去访问这个服务器),会导致访问网页响应时间变长,影响服务质量。

如图所示

为了实验环境纯净,建议做这个实验前先将要搭建高速缓存DNS的虚拟机reset,我们将搭建DNS的这台虚拟机命名为dns.westos.com
在这里插入图片描述
搭建一个yum源,后面会用到
DNS高速缓存服务器在企业中的常规部署_第1张图片

此时的虚拟机是无法ping通114.114.114.114(114地址是电信搭建的国内免费公共DNS服务器)
在这里插入图片描述
我们需要去配置网络,使114.114.114.114能够ping通
DNS高速缓存服务器在企业中的常规部署_第2张图片

重启网络服务

在这里插入图片描述
能够ping通114.114.114.114和百度(www.baidu.com)

DNS高速缓存服务器在企业中的常规部署_第3张图片
去dig www.baidu.com

DNS高速缓存服务器在企业中的常规部署_第4张图片

第二次dig花费的时间
DNS高速缓存服务器在企业中的常规部署_第5张图片

注意:此块需要了解的知识如下:
DNS排错
它显示来自DNS查看的详细信息,其中包括为什么查询失败:

NOOERROR 查询成功
NXDOMAIN DNS服务器提示不存在这样的名称
SERVFAIL DNS服务器停机或DNSSEC响应验证失败
REFUSED DNS服务器拒绝回答(也许是出于访问控制原因)

dig(域名查询工具)输出的部分内容

QUESTION 提出实际的DNS查询
ANSWER 响应(如果有)
AUTHORITY 负责域/区域的名称服务器
ADDITIONAL 提供的其他信息,通常是关于名称服务
底部的注释 指出发送查询的递归名称服务器以及获得响应所花费的时间
标题 指出关于查询和答案的信息,其中包括响应状态和设置的任何特殊标记

<2>:配置DNS高速缓存服务器的操作

由上面的两次dig我们都可以知道,去访问外网DNS的时间都在100兆秒左右,这还只是一台主机,若是多台主机同时去访问(一个企业的人都去访问),肯定会卡的你“痛不欲生”,为了解决这个问题,我们通常会搭建一个本地的(企业的)DNS服务器,这个服务器将客户机要查询到的结果缓存下来,等到第二次另一台主机要查询这个结果,本地的服务器直接将缓存的结果发送给它,这样就大大节省了时间。

为了实现这个目的,我们进行以下操作:

第一步:安装DNS服务

yum search dns     搜寻DNS软件包

在这里插入图片描述
选择bind.x86_64

在这里插入图片描述

yum install bind.x86_64 -y      安装软件包

在这里插入图片描述
安装成功
DNS高速缓存服务器在企业中的常规部署_第6张图片
此时并没有/etc/rndc.key这个文件
在这里插入图片描述

systemctl start named     开启服务

此时会 自动生成/etc/rndc.key(如果开启不了服务,就是加密字符不够,将虚拟机调整到文本模式(init 3),在真机用ssh连接这个虚拟机,在登陆界面随便敲写字符,此时会在/dev/random里面生成加密字符,恢复图形界面(init 5),再去开启服务)
在这里插入图片描述

第二步:设置防火墙

firewall-cmd  --list-all                          查看是否允许dns服务
firewall-cmd  --permanent --add-service=dns       允许dns服务
firewall-cmd  --reload                            重新加载

DNS高速缓存服务器在企业中的常规部署_第7张图片

此时可以看到允许DNS服务

DNS高速缓存服务器在企业中的常规部署_第8张图片

第三步:查看端口以及编辑配置文件

netstat -antlupe | grep named 查看端口,DNS的端口号为53

DNS高速缓存服务器在企业中的常规部署_第9张图片

vim /etc/named.conf         编辑配置文件

在这里插入图片描述
打开配置文件,是以下内容
DNS高速缓存服务器在企业中的常规部署_第10张图片
在这里插入图片描述
我们需要将其改为如下图所示

DNS高速缓存服务器在企业中的常规部署_第11张图片
在这里插入图片描述
注意:此块你需要了解的知识:

listen-on控制named侦听的IPv4地址
listen-on-v6控制named侦听的IPv6地址
allow-query控制哪些客户端可以向DNS服务器询问信息
forwarders包含DNS查询将转发到的名称服务器的列表(而不是直接联系外部名称的服务器,在设有防火墙的情况中很有用)

第四步重启服务,检查端口号

sysemctl restart  named 
netstat -antlupe | grep named     

DNS高速缓存服务器在企业中的常规部署_第12张图片

测试

<1>在服务器测试:

将/etc/resolv.conf里面的nameserver改为172.25.254.115

DNS高速缓存服务器在企业中的常规部署_第13张图片
第一次去dig www.taobao.com

DNS高速缓存服务器在企业中的常规部署_第14张图片

在这里插入图片描述
第二次去dig www.taobao.com,发现时间大大缩小
DNS高速缓存服务器在企业中的常规部署_第15张图片
在这里插入图片描述
<2>在另一台主机(客户机)上测试:

先将nameserver设置为172.25.254.115

DNS高速缓存服务器在企业中的常规部署_第16张图片

第一次去dig www.baidu.com
DNS高速缓存服务器在企业中的常规部署_第17张图片
在这里插入图片描述
第二次去dig www.baidu.com,发现时间大大缩小

DNS高速缓存服务器在企业中的常规部署_第18张图片

DNS高速缓存服务器在企业中的常规部署_第19张图片

你可能感兴趣的:(linux运维)