Linux下的高速缓存DNS

1.DNS基本知识

  • dns的定义

域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务
作为将域名和IP地址相互映射的一个分布式数据库,帮助人们方便的访问互联网
DNS使用的是TCP和UDP端口53

  • dns的功能

例如:我直接在浏览器里面输入域名www.baidu.com,浏览器并不知道这是谁,只有通过dns找到域名对应的ip我才可以正常的访问百度
它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网
DNS使用TCP和UDP端口53,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符

  • dns的分类

(1)权威名称服务器(权威dns:直接有客户需要的答案,客户给一个域名直接就能访问)
存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据
权威名称服务器的类型包括:
Master : 包含原始区域数据,有时称作 “主要 ”名称服务器
Slave : 备份服务器 ,通过区域传送从 Master 服务器获得的区域数据的副本,有时称作 “次要 ”名称服务器
(2)非权威 / 递归名称服务器(非权威dns里面直接没有客户需要的答案,但它会通过问114.114.114.114等权威DNS找到答案给用户(相当于代购))
客户端通过其查找来自权威名称服务器的数据
递归名称服务器的类型包括:
仅缓存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性

  • DNS 查找的步骤

客户端上的 Stub 解析器将查询发送至 /etc/resolv.conf 中的域名服务器
(1)如果域名服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端
(2)如果域名服务器在其缓存中有请求的信息 ,则会将非权威答案发送至客户端
(3)如果缓存中没有该信息 , 域名服务器将搜索权威名称服务器以查找信息

从根区域开始 , 按照 DNS 层次结构向下搜素 , 直至对于信息具有权威性的名称服务器 , 以此为客户端获得答案
在此情况中名称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找
  • DNS系统中,常见的资源记录类型

(1)主机记录(A记录) A记录是用于域名解析的重要记录,它将特定的主机名映射到对应主机的IP地址上
(2)别名记录(CNAME记录) CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录
(3)IPv4主机记录(A记录) 用于将特定的主机名映射到一个主机的IPv4地址
(4)IPv6主机记录(AAAA记录) 与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址
(5)服务位置记录(SRV记录) 用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等
(6)NAPTR记录 它提供了正则表达式方式去映射一个域名,NAPTR记录非常著名的一个应用是用于ENUM查询
PTR IPv4/IPv6 地址至名称
(7)MX 用于名称的邮件交换器 ( 向何处发送其电子邮件 )
(8)NS 域名的名称服务器
(9)SOA ” 授权起始 “ , DNS 区域的信息 ( 管理信息 )

  • DNS 排错(它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败)
NOERROR 	查询成功
NXDOMAIN 	DNS 服务器提示不存在这样的名称
SERVFAIL 	DNS 服务器停机或 DNSSEC 响应验证失败
REFUSED 	DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )

2.实验环境

步骤一:reset并且开启我的desktop虚拟机和server虚拟机
步骤二:给desktop虚拟机和server虚拟机配置网络
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

步骤三:使虚拟机desktop可以上网,并且可以ping通114.114.114.114
测试:真机可以ping www.baodu.com
desktop ping www.baodu.com
在这里插入图片描述
编写域名解析:
再次测试:
步骤四:查看访问时需要的时间

dig www.baidu.com

问题:每次去访问时,都需要去访问114.114.114.114

3.怎样搭建一个高速缓存dns服务器(安装部署DNS)?

在内网里面搭建一台高速缓存dns服务器,属于非权威dns,目的是为了提高内网的访问效率

(1)实验背景

为什么要搭建高速缓存dns服务器?
当一个企业内网里面的每一台主机都要访问114.114.114.114这个权威dns进行域名解析(原理要知道)
但是内网通往114.114.114.114只有一根传输线,此时每台的访问速率都非常慢
内网访问外网速率较慢,但内网之间进行访问速率快
现在我们想把企业内部里面的一台服务器搭建成高速缓存dns,其他主机不再需要问114.114.114.114,直接问高速缓存dns服务器即可
只需要高速缓存dns去问114.114.114.114,然后把自己要到的东西共享给其他主机
这一我所搭建的这个高速缓存dns属于非权威dns

(2)搭建高速缓存的dns服务器(如何建立代购)

  • 配置本地yum 源
    在这里插入图片描述

    在这里插入图片描述

  • 安装dns软件服务

    在这里插入图片描述

  • 查看bind的配置目录与服务名字
    在这里插入图片描述
    在这里插入图片描述

  • 开启dns服务systemcel start named

在这里插入图片描述

高速缓存dns的搭建需要/etc/rndc.key这个文件的存在(如果加密字符太短就不存在) systemcel start named(起不来)开启以后这个文件才会存在,存储加密字符 此时敲击物理键盘,使他的加密字符变长,此时这个文件才会有,系统才会起来 cat
/etc/random 敲击物理键盘 cat /etc/rndc.key就有了

  • 在dns配置文件里面写入权威dns的ip:vim /etc/resolv.conf nameserver 114.114.114.114
    在这里插入图片描述

  • 在server的本地解析文件中写入的desktop(代购)的ip
    测试:server里测试(报错——由于火墙没有允许)
    在这里插入图片描述

  • 在火墙里面添加dns服务
    测试:server里测试(报错——由于只允许回环ip访问)
    在这里插入图片描述
    -在这里插入图片描述
    在这里插入图片描述

  • 查看dns服务的53端口

  • 开放所有本地用户的53接口

在这里插入图片描述

vim /etc/name.conf
重启dns服务
测试:server里测试(报错——由于没有这项服务)

在这里插入图片描述
在这里插入图片描述

  • 所有用户都可以使用非权威的dns服务
    在这里插入图片描述
    测试:server里测试(报错——已经查询,但是查询不到
    在这里插入图片描述
  • 当找不到时,去询问权威dns服务器
    在这里插入图片描述
    在这里插入图片描述

4.dns的正向解析

使103非权威dns不再向114权威dns询问,向自己询问,这个也属于文件共享想搭建一个类似114功能的dns服务器
步骤一:vim /etc/resolv.conf nameserver 172.25.254.103(改成自己)
在这里插入图片描述
步骤二:vim /etc/named.conf去掉114 如果直接在这个文件里面写入域名的管理的话会时文件内容冗长,排错难
在这里插入图片描述
步骤三:vim /etc/named.rfc1912.zones(这个文件和上述文件的作用一样)
在这里插入图片描述
步骤四:cd /var/named必须切换到这个目录下

cp -p named.localhost westos.com.zone(-p是为了改westos.com.zone这个文件的权限)
ll可以看到这个文件的权限

在这里插入图片描述
步骤五:vim westos.com.zone
写入:主机名字 ip地址(我要在这个域名里面找什么主机就写什么)
在这里插入图片描述
测试在203里面:
dig www.westos.com 找westos.com这个域里面的主机
在这里插入图片描述
在这里插入图片描述

5.内部解析文件(简单轮寻):

(1)编写westos.com.zone
在这里插入图片描述
(2)重启服务
(3)测试:
在这里插入图片描述
在这里插入图片描述

6.邮件服务:

我们平常发送邮件都是先登陆腾讯的服务器,再将邮件发出去
qq.com这台服务器将lee@163.com这个邮件发送
需要通过dns解析找到mx记录163.com(找到163.com的邮局)
二者通过smtp(简单邮件邮件传输协议)协议的25端口进行邮件传送

邮件交换记录 (MX record)是域名系统(DNS)中的一种资源记录类型,用于指定负责处理发往收件人域名的邮件服务器。
实验:
(1)先发送一封邮件:
在这里插入图片描述
(2)编写westos.com.zone
在这里插入图片描述
(3)查看域的邮件解析记录

在这里插入图片描述

dig -t mx westos,com

测试(接收端拒绝):
在这里插入图片描述
造成的原因:端口没有开

7.反向解析:反向解析是通过ip地址找域名

步骤一:vim /etc/named.rfc1912.zones
在这里插入图片描述
步骤二:cd /var/named

步骤三:编写westos.com.ptr 并重启systemctl restart named
在这里插入图片描述
测试:
在这里插入图片描述

8.双向解析:内网解析ip为内网的 外网解析为外网的

(1)什么是双向解析?

使特定的用户使用特定的解析文件,内外分开
先在我们为了做实验方便
将此台主机看作内网主机172.25.254网段,将除过此台主机以外的主机看作外网主机1.1.1网段

实验步骤:

cd /var/named
 ls cp -p westos.com.zone westos.com.inter.zone
  vim westos.com.inter.zone 将所有的172.25.254网段换成1.1.1网段 %s172.25.254/1.1.1/g 
  cp -p /etc/named.rfc1912.zones   /etc/named.rfc1912.inter.zones vim /etc/named.rfc1912.inter.zones 将原来的改为westos.com.inter.zones 
vim /etc/named.conf 
systemctl restart named

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述

9.建立辅助dns?

(1) 先将双向解析注释掉 针对外网访问dns服务器来说,缓解访问dns服务器的压力
辅助dns:
在这里插入图片描述
(2)在辅助dns中下载dns
在这里插入图片描述
(3)更改配置文件
在这里插入图片描述
(4)修改指向文件
在这里插入图片描述
(5)编写本地解析文件
在这里插入图片描述
(3)开启防火墙允许dns服务
在这里插入图片描述
主dns:=

vim /etc/named.rfc1912.zones
写入:
also-notify {172.25.254.203;};也使用203主机
在这里插入图片描述

在这里插入图片描述
dns集群:(让辅助dns自动随着主dns的更改而更改)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.怎样进行远程更新?

(1)编写指向文件,允许去更新
在这里插入图片描述
(2)更改目录权限,对named可写
在这里插入图片描述
(3)重启网络
测试端:

测试:在103和203主机上面分别dig test.westos.com看新建的没有手动重启是否自动同步过来
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启网络后:
在这里插入图片描述
恢复:
测试端:
在这里插入图片描述
在这里插入图片描述
dns服务器端:
在这里插入图片描述
在这里插入图片描述

11.怎样通过密钥进行更新?

之前我们通过ip的方式更新dns这样的做法很不安全,别人通过ip可以更新我的dns 先在给dns做一个钥匙,有钥匙才能更新这样做更安全

步骤一:删除之前的ip更新(上一个实验验证完我直接就删了,否则如果忘记恢复环境会影响下一个实验效果)

步骤二:生成自己的加密文件cp -p /etc/rndc.key /etc/westos.key
步骤三:在/mnt下面dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos 生成钥匙
在这里插入图片描述
步骤四:编辑自己的加密文件:加入钥匙名字和加密字符
在这里插入图片描述
步骤五:编辑dns文件,使其识别钥匙 vim /etc/named.conf
在这里插入图片描述
步骤六:编辑dns文件,使其允许钥匙加密更新 vim /etc/named.rfc1912.zones (说可以更新)
在这里插入图片描述
步骤七:重启网络
步骤八:进行更新(持有钥匙的进行更新)
在这里插入图片描述
在这里插入图片描述

12.dhcp+dns组成动态域名解析ddns

一般动态分配ip,那么dns域名解析的ip就变了,客户会访问不到
我们要把域名与ip的对应关系做好
dhcp将哪个ip给被访问域名,dhcp告诉dns
这样客户端才会正常访问一个域名内的主机
DDNS(Dynamic Domain Name Server)是动态域名服务的缩写
DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上
用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序
服务器程序负责提供DNS服务并实现动态域名解析
也就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样其他上网用户就可以通过域名来进行交流
而最终客户所要记忆的全部,就是记住动态域名商给予的域名即可,而不用去管他们是如何实现的
动态域名服务的对象是指IP是动态的,是变动的
普通的DNS都是基于静态IP的,有可能是一对多或多对多,IP都是固定的一个或多个,但DDNS的IP是变动的、随机的
随着市场需求的变化,DDNS需求功能也越来越多,越来越要求方便,市场现在已经有了不少第三方DDNS方支持的设备

步骤一:在103主机上面恢复原来的环境
步骤二:测试主机为动态分配ip,并设置主机名
在这里插入图片描述
步骤三:vim westos.com.zone(删除之前所有的,只留dns)
在这里插入图片描述
步骤四:下载dhcp并配置(让dhcpd告诉dns)
在这里插入图片描述
步骤五:关闭其他主机的动态分配ip的功能
在这里插入图片描述
在这里插入图片描述
通知dns:
步骤一:开启dhcp通知功能
在这里插入图片描述
步骤二:用dhcp来更新dns
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了67 篇原创文章 · 获赞 0 · 访问量 520

猜你喜欢

转载自blog.csdn.net/qq_42024433/article/details/103282879