Linux系统----高速缓存DNS

域名解析DNS

DNS总览
权威名称服务器
存储并提供某区域(整个DNS域或DNS域的一部分)的实际数据。
权威名称服务器的类型包括:
Master:包含原始区域数据,有时称作主要名称服务器;
Slave:备份服务器,通过区域传送从Master服务器获得区域数据的副本,有时称作次要名称服务器。
非权威/递归名称服务器
客户端通过其查找来自权威名称服务器的数据。
递归名称服务器的类型包括仅缓存名称服务器:仅用于查找,对于非重要数据之外的任何内容都不具有权威性。
什么是域名解析
域名解析是为了方便记忆,DNS服务器将容易记住的域名解析成ip,当人们访问web站点时,不需要记住ip地址,只需要输入域名就可以直接访问到。
域名解析过程
在internet上的计算机是通过ip地址来定位的,给出一个ip地址,就可以找到与之对应的主机,但是ip数串是难记的,就发明了域名来代替ip地址,但是通过域名并不能访问到主机,中间添加一个依据域名来查找ip地址的过程,这个过程就是域名解析。
高速缓存DNS
DNS服务器可以高速缓存从其他DNS服务器收到DNS记录,也可以在DNS客户服务器中使用高速缓存,将其作为DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。
高速缓存DNS的作用
当一个主机第一次访问一个网页时,该主机的DNS服务器从远处的服务器拿到数据(address、record),并进行高速缓存,这样在主机或其他主机进行下一次访问的时候,可以直接从主机的高速缓存中直接获取,这样的方式叫做高速缓存。

配置高速缓存DNS

首先实验环境:

  • 真机连接wifi,ping114.114.114.114可以ping通;
  • 在虚拟机网路配置文件设置网关:
    在这里插入图片描述
  • 此时真机相当于路由器,开启其路由功能:
    在这里插入图片描述
  • 此时虚拟机也可以ping通114.114.114.114
    在这里插入图片描述
  • 设置测试端主机:
    在测试端主机作解析:
vim /etc/resolv.conf

在这里插入图片描述
在服务端安装dns(充当dns服务器)

yum install bind -y

开启dns服务器

systemctl start named
systemctl enable named

关闭火墙

firewall-cmd --permanent --add-service=dns
firewall-cmd --reload 
firewall-cmd --list-all

在这里插入图片描述
查看dns服务配置文件

rpm -qc bind

在这里插入图片描述

主配置文件/etc/named.conf
子配置文件/etc/named.rfc1912.zones
数据目录/var/named
dns服务端口53

3.设置dns主配置文件

vim /etc/named.conf

在这里插入图片描述
编辑完后一定要重启服务:

systemctl restart named

测试:

dig www.baidu.com

在这里插入图片描述

DNS查找
客户端的Stub解析器将查询发送至/etc/resolv.conf中的名称服务器。如果名称服务器对于请求的信息具有权威性,会将权威答案发送至客户端。否则,如果名称服务器在其缓存中有请求的信息,则会将非权威答案发送至客户端。
如果缓存没有该信息,名称服务器将搜索权威名称服务器以查找信息,从根区域开始,按照DNS层次结构向下搜索,直至对于信息具有权威性的名称服务器,以此为客户端获得答案。在此情况中名称服务器将信息传递至客户端并在自己的缓存中保留一个副本,以备以后查找。

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

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

DNS排错
它显示DNS查找的详情信息,其中包括为什么查询失败。

NOERROR查询成功
NXDOMAINDNS服务器提示不存在这样的设备
SERVFAIDNS服务器停机或DNSSEC响应验证失败
REFUSEDDNS服务器拒绝回答

DNS 权威正向解析

自己的主机维护一个域名,当客户端访问这个域名时,自己的主机开启dns缓存功能,可以解析出域名的ip地址。
作用
用于域名到ip地址的映射,当DNS客户端请求解析某个域名时,DNS服务端通过正向查找,并返回给DNS客户端对应的ip地址。
正向解析部署

注销dns请求转发到114.114.114.114这个服务区:

vim /etc/named.conf		##dns告诉缓存

在这里插入图片描述
维护域名为mia.org

vim /etc/named.rfc1912.zones	##dns子配置文件,设置要维护的域名

在这里插入图片描述
在dns的数据目录里有域名解析文件,named.localhost存放的是172.0.0.1这个dns服务器,把它的模版拷贝给自己建立的zone域名解析文件:

cd /var/named/
cp -p named.localhost mia.org.zone	##-p表示将文件的权限也复制过来

创建域名解析库文件

vim /var/named/mia.org.zone
systemctl restart named

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

dig www.mia.org

在这里插入图片描述规范地址转换

vim /var/named/mia.org.zone
sytemctl restart named

在这里插入图片描述
在客户端进行测试:
访问时会看到访问域的ip顺序发生变化

dig www.mia.org

在这里插入图片描述
在这里插入图片描述
邮件解析
指向一个邮件服务器,用于电子邮件系统收邮件时,根据收信人的地址后缀来定位邮件服务器。
编辑子配置文件:

vim /var/named/mia.org.zone
systemctl restart named

在这里插入图片描述
给mia.org这个域里发送一个邮件:

mail root@mia.org

在这里插入图片描述
查看邮件列队:

mailq

在这里插入图片描述

> /var/log/maillog	##清空邮件日志
mail	##查看邮件是否发送

在这里插入图片描述

DNS反向解析

编辑子配置文件:

vim /etc/named.rfc1912.zones

在这里插入图片描述
进入dns的数据目录,把named.loopback的这个文件模版复制到自己建立的文件中。

cd /var/named/
cp -p named.loopback 172.25.254.ptr##-p是将文件的权限也复制过来,-p一定要加上

编辑172.25.254.ptr文件:

vim 172.25.254.ptr

在这里插入图片描述
重启dns服务:

systemctl restart named

测试:

dig -x 172.25.254.111	##-x表示反向解析

在这里插入图片描述

DNS双向解析

双向解析就是当与目标ip处于同一网段时属于内网ip;当与目标ip不处于同一网段时属于外网ip。
实验环境:
需要两个ip,一个充当dns服务器;

vim /etc/sysconfig/network-scripts/ifcfg-eth0
sytemctl restart network

在这里插入图片描述
查看是否配置好ip:
在这里插入图片描述
查看53多口是否对于这两个ip开启:
在这里插入图片描述
另一个充当内网ip;

vim /etc/sysconfig/network-scripts/ifcfg-eh0	##设置ip
vim /etc/resolv.conf	##添加dns
hostnamectl set-hostname nana.mia.org	##设置主机名称。使主机与dns主机处于同一域中

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编辑主配置文件:

vim /etc/named.conf

在这里插入图片描述
创建内网配置文件:

cd /var/named/
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.local.zones
vim /etc/named.rfc1912.local.zones

在这里插入图片描述

 cd /var/named/
 cp -p mia.org.zone mia.org.local.zone
 vim mia.org.local.zone 

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

DNS集群

在一台主机更改数据时,其他主机就会同步数据,这就是DNS的集群。
当很多用户访问dns时可能网络会崩掉,就会需要一台辅助dns主机,帮助主dns分担压力。
辅助dns需要同步主dns中的所有数据。
打开另一台主机做为辅助dns:
配置好yum仓库
安装bind软件;

yum install bind -y

开启火墙
在这里插入图片描述
修改主配置文件:

vim /etc/named.conf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在子配置文件中指定辅助dns信息:

vim /etc/named.rfc1912.zones
systemctl restart named##重启服务之后才能看到数据同步到slaves/这个目录里

在这里插入图片描述
更改dns:

vim /etc/resolv.conf

在这里插入图片描述
主DNS:
更改子配置文件:

vim /etc/named.rfc1912.zones

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

dig www.mia.org

测试结果显示主DNS、辅助DNS显示的ip一样
主dns显示结果;
在这里插入图片描述
辅dns显示结果:
在这里插入图片描述
当更改文件参数时,结果显示辅dns主机随主dns主机的更改而更改:
主dns:

vim /var/named/westos.org.zone

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

DNS更新

基于ip的更新

vim /etc/named.rfc1912.zones
systemctl restart named

在这里插入图片描述

cp /var/named/mia.org.zone /mnt/ -p	##备份一份,方便还原
ls -ld /var/named
chmod g+w /var/named (770)	##添加权限

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

在测试端测试:
添加dns

nsupdate
> server 172.25.254.164
> update add hello.mia.org 86400 A 172.25.254.111##这个记录在客户端默认是86400s(一天)
> send
> quit

在这里插入图片描述
当测试端上传新域名时,dns服务端机会出现一个/var/named/mia.org.zone.jnl文件,里面专门记录着dns新数据,当dns服务没有重启时,dns服务端可以dig到新域名地址,但是在/var/named/mia.org.zone文件中没有显示出来,当dns服务器重启后,此文件中才会显示新域名信息。
在这里插入图片描述
在这里插入图片描述
删除dns

nsupdate
> server 172.25.254.164
> update delete hello.mia.org
> send
> quit

当dns服务重新启动时,记录dns数据信息也将删除,但是dns主从同步参数的数值将会改变:
在这里插入图片描述
在这里插入图片描述

基于密钥的更新
删除上述实验产生的文件:

cd /var/named/
rm -fr westos.org.zone*
cp /mnt/westos.org.zone . -p	##"."拷贝到当前目录
systemctl restart nmaed
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST rain

上行代码一些参数的解释:

-a加密方式
-b加密长度
-n加密用途
HOST做解析
rain生成key的名字

在这里插入图片描述

cat Krain.+157+38485.private	##拷贝钥匙密码
cp -p /etc/rndc.key /etc/rain.key	##拷贝密钥文件信息,生成自己的key文件
vim /etc/rain.key	##编辑密钥文件信息
systemctl restart named
scp Kwestos.+157+60868.* root@172.25.254.200:/mnt/	##把密钥传递给用户

在这里插入图片描述

vim /etc/named.conf		##指定key,不能破坏dns的运行参数

在这里插入图片描述

vim /etc/named.rfc1912.zones	##指定更新文件的用户
systemctl restart named

在这里插入图片描述
测试:
当用户更新dns时,dns服务端就会出现/var/named/mia.org.zone.jnl文件,此文件记录者dns更新的信息。

cd /mnt/
nsupdate -k Kwestos.+157+60868.private

在这里插入图片描述
如果用户添加或删除dns信息时,只有当dns服务重启时,/var/named/mia.org.zone文件才会更新。

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

动态域名解析

当客户端是dhcp的工作方式,dns解析也会随着客户端的ip信息的改变而改变,这种方式称为动态域名解析。在web领域里被称作“花生壳”。
dns服务端:
安装dhcpd,配置文件是没有的,需要拷贝一份,并且编辑配置文件:

yum install dhcpd -y
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
systemctl restart dhcpd
firewall-cmd --permanent --add-service=dhcp

在这里插入图片描述
在这里插入图片描述
客户端:
修改主机名称,使其域名和dns服务端的域名处在同一个域名里:

hostnamectl set-hostname nana.mia.com

更改主机为动态网络:

vim /etc/sysconfig/network-scripts/ifcfg-eth0
systemctl restart network

在这里插入图片描述
查看获取到的ip地址是否在ip池的范围内:

ifconfig eth0

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

dig nana.mia.com

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值