Linux下高速缓存DNS(Domain Name System)的设置

一、背景知识

DNS总揽
1.权威名称服务器
(1)是什么?
存储并提供某区域(整个DNS域或DNS域的一部分)的实际数据。
(2)类型
Master:包含原始区域数据。有时称作“主要”名称服务器。
Slave:备份服务器,通过区域传送从Master服务器获得的区域数据的副本。有时称做“次要”名称服务器。
2.非权威/递归名称服务器
客户端通过其查找来自权威名称服务器的数据(比如收到客户的提问时,虽然它自己不知道答案,但它会去问114.114.114.114等权威DNS,从而将结果缓存到自己的里面,下一个客户再提问相同问题的时候,可以直接告诉它答案)。递归名称服务器的类型包括仅缓存名称服务器:仅用于查找,对于非重要数据之外的任何内容都不具权威性。
2.DNS的查找步骤
客户端上的Stub解析器将查询发送至/etc/resolv.conf中的名称服务器。如果这个服务器具有权威性,会直接将答案发给客户端,如果没有权威性,则会去访问权威服务器从而得到客户的问题答案,缓存下来并告诉客户答案。
3.DNS中常见的资源类型

主机记录(A记录)A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的ip地址上
PTRip对应至地址,和A记录相反
IPv4主机记录(A记录),IPv6主机记录(AAAA)地址对应至IP
MX邮件交换器记录

4.dns主要由3个文件:
(1)/etc/named.conf 主配置文件,我给它叫1号文件,里面是dns最主要的信息,包括dns的端口(53)对哪个ip开放,对哪台主机开放,是否进行安全检测等参数设置。其中对域名正反向的管理放置在/etc/named.rfc1912.zones文件里。
(2)/etc/named.rfc1912.zones 我叫它2号文件
(3)/var/named里面有named.localhost,named.loopback等文件,这个文件里的东西相当于一个表格,里面有域名和ip的对应关系。我叫它3号文件

二、部署DNS的环境搭建

1.desktop(dns服务器)上的配置

将desktop虚拟机作为DNS服务器,在reset虚拟机desktop之后
(1)改ip,改主机名


 1. hostnamectl set-hostname dns #修改主机名为dns
 2. vim /etc/sysconfig/network-scripts/ifcfg-eth0 # 配置网络ip为172.25.254.123,PREFIX为24.BOOTPROTO为none
 3. systemctl restart network

在这里插入图片描述
在这里插入图片描述
(2)配置yum源,使能下载dns服务软件bind

先将镜像挂载上,在进yum.repos.d里面的westos.repo修改源
4.vim /etc/yum.repods/westos.repo

在这里插入图片描述
在这里插入图片描述
已配置好:
在这里插入图片描述
(3)使虚拟机能上网:
首先看真机路由功能是否开启,masquerrade=tes,开启了
在这里插入图片描述
在配置文件将虚拟机的网关设为172.25.254.13(真机ip),并route -n 查看网关设置是否成功。
在这里插入图片描述
检测:ping 114.114.114.114,可以ping通

2.server上的配置(测试)

配置网络ip
在这里插入图片描述
重启网络,ip配置成功
在这里插入图片描述

实验开始:

三、搭建一个高速缓存dns服务器?(非权威)

步骤一:在desktop搭建dns服务器
在desktop上关闭防火墙
(1)在desktop上安装dns服务软件bind:
先search搜寻到
在这里插入图片描述再安装
在这里插入图片描述安装成功:
在这里插入图片描述查看软件的配置文件rpm -qc bind,可以看到它的配置文件是/etc/named.conf
在这里插入图片描述
(2)开启dns服务:systemctl start named

注意:不能正常开启,因为named服务的开启需要/etc/rndc.key文件的存在。而这个.key文件本来不存在,在开启服务的时候会同时生成,但是这个文件里面加密字符太短,需要敲击物理键盘延长加密字符。延长的过程可以通过cat /etc/rndc.key 看到,逐渐变长,到达长度后可正常开启。
在这里插入图片描述
(3)查看53端口是否对172.25.254.123开放
在这里插入图片描述
修改配置文件:
原来,
在这里插入图片描述
修改后,端口对任何主机任何用户都开放,并设置该非权威dns的下一站是114.114.114.114(权威dns)
在这里插入图片描述
不进行安全检测,no
在这里插入图片描述
修改后重启服务systemctl restart named
(4)将dns所在主机desktop的域名解析指向权威的dns114.14.114.114

vim /etc/resolv.cong
进去后添加
nameserver 114.114.114.114

在这里插入图片描述

步骤二:在server上进行测试
(1)将211主机的域名解析设置为非权威dns服务器的ip。
如何设置?

vim /etc/resolv.conf   #进去增添nameserver指向

在这里插入图片描述
(2)dig www.baidu.com,耗时 481msec
在这里插入图片描述
在这里插入图片描述
(3)dig www.baidu.com,耗时0msec
在这里插入图片描述
在这里插入图片描述================================
为什么第二次比第一次时间短?
因为第一次server问desktop的时候,desktop不知道,于是desktop问了114.114.114.114,问完并缓存了,所以第二次再有客户来问的时候,desktop可以直接给答案了。
减少了问114.114.114.114的过程,所以时间会少。

四、如何搭建一个权威的dns服务器?

有问题问自己,不要再问114.114.114.114了
步骤一:在desktop上
(1)将域名解析指向改为自己
vim /etc/resolv.conf
改为nameserver 172.25.254.123
在这里插入图片描述(2)在/etc/named.conf 里去掉114.114.114.114
在这里插入图片描述
为了避免主配置文件过长,一些信息就写在/etc/named.rfc1912.zones里
在这里插入图片描述
(3)在/etc/named.rfc1912.zones–主配置文件named.conf里的子文件

在这里插入图片描述
(4)切换到/var/named复制named.localhost 生成一个新的文件,westos.org.zone
在这里插入图片描述在新生成的文件westos.org.zone里编辑内容。【在这个域名里找什么主机就写什么】
在这里插入图片描述修改后
在这里插入图片描述
步骤二:在server上测试
dig ff.westos.org(已预先存入表格,可正确找到)
在这里插入图片描述输入一个域名里(westos.org)未知的域名,不能找到,但会告诉你谁对此搜索结果负责
在这里插入图片描述

五、反向解析

通过ip找域名地址,正向解析和反向解析是分开者的,二者没有任何的关系。
步骤一:在dns服务器(desktop上)
(1)编辑/etc/named.rfc1912.zones设置反向解析

vim /etc/named.rfc1912.zones

在这里插入图片描述
(2)进入/var/name,将named.loopback文件复制一下,生成新的172.25.254.ptr文件

cp -p named.loopback 172.25.254.ptr

(3)编辑172.25.254.ptr文件

vim 172.25.254.ptr

在这里插入图片描述
(4)重启服务named
步骤二:在server上测试
dig -x 172.25.254.1
在这里插入图片描述

六、双向解析

双向解析就是特定的用户使用特定的文件,内网解析为内网的,外网解析为外网的。
本实验将172.25.254看成内网段,1.1.1看成外网段
步骤一:在dns服务器上

1. cp -p /var/named/westos.org.zone /var/named/westos.org.inter #带权限复制一份
2. vim westos.org.inter #将里面的172.25.254全部换成1.1.1网段
3. cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter #带权限复制
4. vim /etc/named.rfc1912.inter  #将文件指向改为westos.org.inter(外网)
5. vim /etc/namned.conf #写清楚内网访问哪个文件外网访问哪个文件
6. systemctl restart named

(1)3号文件复制修改成外网(1.1.1)
在这里插入图片描述
在这里插入图片描述
(2)2号文件复制修改指向
在这里插入图片描述在这里插入图片描述(3)更改主配置文件

在这里插入图片描述配置文件里
在这里插入图片描述步骤二:在内网主机123和外网主机211测试
内网主机123:解析出172.25.254.33
在这里插入图片描述外网主机211:解析为1.1.1.33

在这里插入图片描述

七、建立辅助dns,缓解主dns服务器的压力

为了避免影响,将主dns服务器配置文件的双向解析注释掉,并恢复原来的内容
在这里插入图片描述
步骤一:将server作为辅助dns
(1)配置yum源,下载安装dns服务软件bind,并开启named服务(开启的同时需要敲击物理键盘,使得加密字符达到一定长度)
(2)


 1. hostnamectl set-hostname slave.westos.org #设置主机名
 2. vim /etc/named.conf #改端口,主机名为any,并不进行安全检测
 3. vim /etc/named.rfc1912.zones #进去增添
      zone "westos.org" IN{
		type slave;
		masters{172.25.254.123;};
		file"slaves/westos.org.zone";
		allow-update{none;}
		};
 4.systemctlrestart named
 5.vim /etc/resolv.conf #将nameserver指向自己
 6.关闭火墙

(1)改主机名
(2)修改主配置文件vim /etc/named.conf
在这里插入图片描述在这里插入图片描述(3)修改主配置文件下属所指向的2号文件vim /etc/named.rfc1912.zone
在这里插入图片描述(4)编写域名解析文件vim /etc/resolv.conf指向自己
在这里插入图片描述(5)重启服务
步骤二:在主dns上

1.vim /etc/named.rfc1912.zones
添加:
    also-notify {172.25.254.211; };
2.重启服务

步骤三:测试
(1)在主dns上dig ff.westos
在这里插入图片描述
(2)在从dns上dig ff.westos.org

在这里插入图片描述(3)主dns变动,从dns跟着变动。
但是变的时候,/var/named/westos.org.zone 里面的serial 前的数字要每次都增大
在这里插入图片描述
主dns:
在这里插入图片描述
从dns:
在这里插入图片描述

八、如何通过远程进行更新?

实验背景:本可以通过ip进行远程更新,但是不安全,别人换个ip就可以更新你的dns了。先做这个不安全的(实验1),再做密钥更新(实验2)。

实验1—通过ip更新

主dns上的操作


 1. cd /var/named/
 2. cp -p westos.org.zone /opt/  #备份一下(安全)
 3. vim /etc/named.rfc1912.zones
    更改
    allo-update{172.25.254.211 ;};
 4. systemctl restart named
 5.ll /var/named/  #对named没有写权限,而更新的时候是以named身份
 6.chmod g+w /var/named  #添加写权限

(3)允许211进行更新
在这里插入图片描述
(5)查看权限,可见对naned没有写权限,另一台主机进行更新主dns的信息时,是以named的身份运行的。
在这里插入图片描述
(6)赋予权限
在这里插入图片描述
另外一台:

usupdate 然后回车
> server 172.25.254.132  #为123服务
>update add linux.westos.org 86400 A 172.25.254.22 #添加此信息
>send #将此信息发送到123
>update delete linux.westos.org #删除信息
>send

在这里插入图片描述
主dns查看是否更新成功
在这里插入图片描述
并且在westos.org.zone可以看到新添的linux.westos.org信息,不过得重启网络才能看到。
原本看不到
在这里插入图片描述
重启网络后,可以看到新添的信息了
在这里插入图片描述

实验2—通过密钥更新

主dns:


 1. rm -rf /var/named/westos.org.zone*  
 2.cp -p /opt/westos.org.zone /var/named/ #删除实验1刚才做的,恢复            
 3.dnssec-keygen -a HMAC-MD5 -b 128 -n HOST dasuo #生成一把锁,名字叫dasuo,-a是加密方式,-b是密码长度,-n HOST 是名字类型有(ZONE,HOST,ENTITY等等)
     可用dnssec-keygen --help查看
     会有2个文件。一个是.....key,另一个是....private
 4.cat /
 5.cp /etc/rndc.key /etc/suo.key -p #复制一个模板,里面写锁的名字,钥匙
 6.vim /etc/named.conf #进去添加锁的指向
7.重启服务

(1)恢复环境
在这里插入图片描述
(2)生成锁和钥匙
在这里插入图片描述
(3)查看钥匙密码
在这里插入图片描述
(4)复制个记录锁信息的文件模板
在这里插入图片描述(5)修改模板中的信息

在这里插入图片描述
(6)主配置文件,添加锁的指向
在这里插入图片描述
(7)修改主配置文件下rfc.1912文件(2号文件)
在这里插入图片描述
(8)重启服务
(9)发送钥匙文件(2)个到211主机的mnt目录下
在这里插入图片描述
另一台:
切换到mnt目录下

nsupdate -k Ksuokey.+157+14744.private
> server 172.25.254.123
> update add hh.westos.org 86400 A 172.25.254.55
> send

进行添加:
在这里插入图片描述
在123上看;是否更新成功
在这里插入图片描述
在211上删除刚才添加的:
在这里插入图片描述
在123上检测,看不到了
在这里插入图片描述

九、动态域名解析ddns

在主dns上

      安装并配置dhcp
 1. yum install dhcp -y 
 2. vim /etc/dhcp/dhcpd.conf  #配置文件里什么都没,需要从/usr/share/doc/dhcp*/dhcpd.conf.example复制一份并修改
3.在配置文件添加dns服务 

           option domain-name "westos.org";
        option domain-name-servers 172.25.254.123;
          ddns-update-style interim;#开启dns服务
        
		subnet 172.25.254.0 netmask 255.255.255.0 {
		   range 172.25.254.20 172.25.254.79;
		    option routers 172.25.254.70;
		  }
		  
		  key suokey{
		         algorithm hmac-md5;
		          secret OxssbL0puTX+tDVd8YQwfQ==;#cat  自己生成的钥匙
		  
		  };
		  zone westos.org.{
		          primary 127.0.0.1;
		          key suokey;
		 }

4. systemctl restart dhcpd
5. systemctl restart named
6.  systemctl stop firewalld

(2)配置文件的修改
在这里插入图片描述
在这里插入图片描述
(3)配置文件添加dns服务
在这里插入图片描述
在这里插入图片描述
(4)重启dhcpd服务
在这里插入图片描述
(5)关闭火墙
(6)在/var/named/westos.zone 里添加tt(测试机的主机名)
在这里插入图片描述(7)重启named服务

server(测试):
将网络配置文件改为动态的:
在这里插入图片描述
重启网络,并查看ip
在这里插入图片描述改主机名为tt:hostnamctl set-hostname tt
dig tt.westos.org
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值