在Linux下,配置高速缓存DNS服务器

1.DNS的概念
DNS的定义

域名系统:Domain Name System,是互联网的一项服务
作为将域名和IP地址相互映射的一个分布式数据库
DNS使用的是TCP和UDP 53端口

DNS的功能

浏览器并不知道www.baidu.com是什么,只有通过DNS找到域名对应的ip才可以正常的访问
对于每一级域名长度的限制是63个字符,域名长度不能超过253个字符

DNS的分类

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

DNS系统中,常见的资源记录类型

主机记录A记录A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上
别名记录CNAMECNAME记录用于将某个别名指向某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录
IPv4主机记录:A记录用于将特定的主机名映射到一个主机的IPv4地址
服务位置记录SRV记录用于提供特定服务的服务器位置,如主机hostname,端口portnumber 等
NAPTR记录提供了正则表达是去映射一个域名,NAPTR记录非常著名的一个应用是用于ENUM查询
PTRIPv4 IPv6地址名称
MX用于名称的邮件交换器,向何处发送其电子邮件
NS域名的名称服务器
SOA“授权起始”DNS区域的信息

DNS排错

NOERROR查询成功
NXDOMAINDNS服务器不存在这样的名称
SERVFAILDNS服务器停机或者DNSSEC应响验证失败
REFUSEDDNS服务器拒绝回答

搭建实验环境:
步骤一:
reset 虚拟机 server 和 desktop,目的给实验一个纯净的环境

步骤二:
给desktop和server配置网络,desktop设置为172.25.254.115,server为172.25.254.215
在这里插入图片描述
且都可以与真机通信,能够ping通172.25.254.60
在这里插入图片描述
步骤三:
使虚拟机desktop可以上网,并且可以ping通114.114.114.114
在真机里,将防火墙的伪装地址功能和内部路由功能开启
在这里插入图片描述
设置desktop的网关为172.25.254.60,DNS为114.114.114.114
在这里插入图片描述
此时desktop虚拟机已经可以上网。

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

实验背景

为什么要搭建高速缓存DNS服务器
每个企业内网里面每一台主机都要访问114.114.114.114这个权威DNS进行域名解析
但是内网通往114.114.114.114只有一根传输线,此时每台主机的访问速率都非常慢
内网访问外网速率慢,但是内网之间进行访问速率快
现在想把企业内部里面的一台主机搭建成高速缓存DNS,这样其他主机不需要在去114.114.114.114,直接访问高速缓存DNS即可
只需要高速缓存DNS去访问114.114.114.114然后把得到的信息共享给其他主机即可
这一台高速缓存DNS属于非权威DNS

实验原理

在172.25.254.115上搭建高速缓存DNS,在/etc/resolv.conf中写nameserver 114.114.114.114
在真机里进行测试,在nameserver里写172.25.254.115,然后desktop已经访问到的网,再用真机去访问,速度非常快。

实验步骤
配置本地yum源,安装DNS服务
在这里插入图片描述
在这里插入图片描述安装成功,开启服务named(DNS服务名字)
在这里插入图片描述
此时发现不能启动,再打开一个shell,随便敲击键盘,然后发现服务起来了,第一次开启named服务的时候需要手动生成加密字符 :字符串 需要保存到加密设备里/dev/random,/etc/rndc.key 这个文件在开启named服务会自动生成。鼠标无轨迹的运动以及对键盘的敲击。

在/etc/resolv.conf里写入nameserver 114.114.114.114
在这里插入图片描述
在火墙里添加DNS服务

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

在这里插入图片描述
查看dns服务的53端口是否对于172.25.254.115开启

netstat -antlupe | grep named
可以看到并没有对172.25.254.115开启

在这里插入图片描述
编辑DNS的配置文件,vim /etc/named.conf
更改使53端口对所有ip都开放
在这里插入图片描述
更改,允许任何用户使用此非权威DNS
在这里插入图片描述
更改该非权威的权威DNS是114.114.114.114额外添加
在这里插入图片描述
更改不访问顶级DNS,速度会快
在这里插入图片描述
重启named服务
将真机主机的DNS域名解析改成非权威DNS115的IP,vim /etc/resolv.conf 写入 nameserver 172.25.254.115
然后用desktop dig www.westos.com
在这里插入图片描述

时间514msec ,然后再用真机dig www.westos.com发现时间是0mses
在这里插入图片描述
用server虚拟机配DNS是172.25.254.115,dig www.westos.com发现时间也是0mses
在这里插入图片描述

本地高速缓存DNS配置成功

4.怎么搭建一个权威DNS服务器
使115非权威DNS不再向114权威DNS询问,向自己询问。

步骤一:
vim /etc/resolv.conf 将nameserver改成自己
在这里插入图片描述
步骤二:
将/etc/named.conf中的forwarders {114.114.114.114;};注释掉
在这里插入图片描述
重启named

步骤三:
vim /etc/named.rfc1912.zones
将上面的模板复制一份 写入自己创建的主机信息
在这里插入图片描述
在这里插入图片描述
步骤四:
cd /var/named下 必须

cp -p named.localhost westos.com.zone cp -p 是为了将这个文件权限一起复制
ll 可以看到这个文件的权限

在这里插入图片描述
步骤五:
vim westos.com.zone
写入主机名,IP地址(在这个域名里赵什么主机就写什么)
在这里插入图片描述
在这里插入图片描述注意:这个文件里面的com后面必须要加.
如果服务启不起来,在/var/log/messages中查看日志,找到解决办法

测试:
在server里面dig www.westos.com 找到westos.com这个域里面的主机
在这里插入图片描述
又结果可得,是server 172.25.254.115回答了这个问题,然后www.westos.com的IP 为172.25.254.111

若dig bbs.westos.com
在这里插入图片描述172.25.254.115 告诉server虚拟机,不存在这样的域名
在这里插入图片描述
权威DNS搭建成功

5.关于邮件的实验

我们平常发送邮件都是先登陆腾讯的服务器,再将邮件发出去
qq.com这台服务器将lee.163.com这个邮件发送
需要通过DNS解析找到MX记录163.com
而这通过smtp协议的25端口进行邮件发送

在这里插入图片描述SMTP

简单邮件传输协议(simple mail server transfer protocol ,SMTP)是在internet传输mail的事实标准协议
SMTP是一个相对简单的基于文本的协议,在其之上指定了一条消息的一个或多个接受者(在大多数情况下,被确认是存在的)然后文本消息会被传输
可以简单的通过telnet程序来测定定一个SMTP服务器,SMTP使用25端口
要为一个给丁的域名决定一个SMTP服务器需要使用MX(mail exchange)DNS
邮件交换记录(MX record)是域名系统DNS中的一种资源记录类型,用于指定负责处理发往收件人域名的邮件服务器
MX记录允许设置一个优先级,当多个邮件服务器可用时,会根据这个值来决定投递邮件的服务器
简单邮件传输协议(SMTP)会根据MX记录的值来决定邮件的路由过程

==在DNS服务器上面 netstat -antluep | grep master 查看25端口是否开启
在这里插入图片描述
在DNS服务器的westos.com.zone中加入以下内容并且重启服务
在这里插入图片描述
MX邮件交换器1表示级别,表示一个记录而不是地址,所以有.

在客户端给服务端发送邮件
mail root@mail.com
Ctrl+D 结束编辑 ,mailq查看
在这里插入图片描述
表示设置成功,但是跟25端口有关,如果想要发送成功,需要搭建服务
此时在客户端dig -t mx westos.com
在这里插入图片描述
以上和DNS服务器相关的全部是正向解析,也就是通过域名找IP

6.反向解析,通过IP来找域名
步骤一: vim /etc/named.rfc1912.zones 编辑此文件设置反向解析
在这里插入图片描述
在这里插入图片描述
vim westos.com.ptr
在这里插入图片描述
重启服务
在215上面测试 dig -x 172.25.254.111,发现给出的域名是hello.westos.com.
在这里插入图片描述
再次dig -x 172.25.254.211,发现给出的域名是westos.westos.com.
在这里插入图片描述
反向解析配置成功

7.双向解析
什么是双向解析

使特定的用户使用特定的解析文件,内外分开
将主DNS看作内网主机172.25.254网段,将除过此台主机看作192.168.0网段

实验步骤

cd /var/named
ls
cp -p westos.com.zone westos.com.internet.zone
vim westos.com.internet.zone
将所有172.25.254网段换成192.168.0网段
:%s/172.25.254/192.168.0/g
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.internet.zones
vim /etc/named.rfc1912.internet.zones
将原来的改为westos.com.internet.zones
vim /etc/named.conf
重启服务

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
vim /etc/named.conf
将原来的配置都注释掉,分别写内网和外网的配置
在这里插入图片描述
在这里插入图片描述
内网主机访问权威DNS115
在这里插入图片描述
外网主机访问权威DNS 115
经过排错重启系统
在这里插入图片描述

测试
用自己dig自己,dig www.westos.com,显示的是172.25.254.111
在这里插入图片描述
用server dig www.westos.com,显示的是192.168.0.111
在这里插入图片描述
在本机dig bbs.westos.com 是172.25.254.网段提供解析
在这里插入图片描述
在server主机dig bbs.westos.com 是192.168.0.网段提供解析
在这里插入图片描述
DNS双向解析建立成功

8.建立辅助DNS

对于外网访问dns服务器来说,缓解访问DNS服务器的压力

步骤一:
先在115上注释掉之前的双向解析,并且重启服务
在这里插入图片描述
恢复原来的内容
在这里插入图片描述
重启named

步骤二:
在215里面配置yum源,然后安装bind,name服务
在这里插入图片描述
在这里插入图片描述
启动服务

步骤三:
vim /etc/named.conf 编辑配置文件
在这里插入图片描述
在这里插入图片描述重启服务

步骤四: 检查53端口是否开启
在这里插入图片描述
步骤五:
vim /etc/named.rfc1912.zones
在这里插入图片描述
然后cd /var/named/slaves ls查看 ,发现已经同步过来了 ,file westos.com.zone 可以看出它是一个数据
在这里插入图片描述
步骤六:
在115主机上面设置
vim /etc/named.rfc1912.zones 写入 allow-transfer {172.25.254.215;}; 企业7之前的版本需要
also-notify {172.25.254.215;}; 也通知215主机
在这里插入图片描述

测试:在两端dig bbs.westos.com ,如果115上westos.com.zones里面的ip变了,在215这端,需要删除slaves中的数据,然后再重新启动服务,才可以更新IP和域名
此时215上的DNS要改成自己,而不是再用115
在这里插入图片描述
然后在115端,改之前www.westos.com IP为115,重启服务,并且dig发现,改变了
在这里插入图片描述在215端,dig www.westos.com 发现也改变了
在这里插入图片描述
再次修改115端的www.westos.com 的IP 地址,为172.25.254.161 重启服务后dig,发现已经更改
在这里插入图片描述
用215再次dig,发现没有更改
在这里插入图片描述
然后我们将215里slaves里面的文件删除,重启启动服务,同步数据,再次dig www.westos.com 发现IP 地址更改了。
在这里插入图片描述
我们发现,这样同步的方法是非常麻烦的,如果企业中有很多台主机,利用手动删除,重启的方式来获取新的域名和IP对应是不现实的,那如何才能解决这样的问题?

测试:在两端dig bbs.westos.com ,如果111上westos.com.zones里面的ip变了,必须改serial的数字,(只能往大的数字改,最大10位)才会使得辅助dns同步过来,改完重启named服务。

在115端,将ip改为181,并且将serial的数从0改变到1
在这里插入图片描述
然后在215端,直接重启服务,然后dig www.westos.com
发现数据已经同步过来了。
在这里插入图片描述
辅助DNS配置成功

 两台虚拟机都需要在防火墙中加入dns服务
 selinux需要关闭
 nameserver都是本机IP

9.如何进行远程更新
我们允许172.25.254.60 真机来添加更新DNS
首先给 /var/named/ 这个目录的用户组一个写的权限
在这里插入图片描述
vim /etc/named.rfc1912.zones 写入:allow update {172.25.254.60}
并且重启named服务
在这里插入图片描述
更新之前用cp -p westos.com.zone /mnt/ 备份一份

用172.25.254.60进行更新
在这里插入图片描述
测试:在115和215上分别dig test.westos.com 查看有没有同步在这里插入图片描述
在这里插入图片描述
发现都已经同步。

恢复
在这里插入图片描述
再次在115和215中dig test.westos.com发现并不能找到对应关系
在这里插入图片描述
在这里插入图片描述
然后将115中的 /var/named/ westos.com.zone 和 westos.com.zone.jnl 删除即可,将之前备份的westos.com.zone cp -p 复制回来即可恢复。

10.如何通过密钥进行更新DNS

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

==先systemctl start named ;systemctl stop firewalld

步骤一:
删除之前上一个更新实验的ip,保证纯净环境。
在这里插入图片描述
步骤二: 生成自己加密文件
在这里插入图片描述
步骤三: 在/mnt下面dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos 生成钥匙,在打开一个shell做无规则的敲击键盘,生成钥匙。
在这里插入图片描述
步骤四: 编辑自己的加密文件:加入钥匙名字和加密字符
在这里插入图片描述
在这里插入图片描述
步骤五: 编辑DNS文件,让它识别钥匙 vim /etc/named.conf
在这里插入图片描述
步骤六:
编辑DNS文件,使其允许钥匙加密更新 vim /etc/named.rfc1912.zones
在这里插入图片描述
步骤七: 进行更新
将钥匙通过scp发给真机172.25.254.15
在这里插入图片描述
然后更新
在这里插入图片描述
测试
在server端dig test.westos.com
在这里插入图片描述
成功更新

11.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是变动的,随机的。

实验步骤

恢复之前的实验环境
在这里插入图片描述
只留DNS
在这里插入图片描述
重启服务

在115上面搭建dhcp服务 yum install dhcp -y
在这里插入图片描述
搭建dhcp服务器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在215上,编辑网络配置文件
在这里插入图片描述
可见已经获取到dhcp动态ip:172.25.254.180
在这里插入图片描述
在115端,继续配置dhcp服务
在这里插入图片描述

在这里插入图片描述
重启服务
在测试机,215上面,改名 hostnamectl set-hostname test.westos.com
在这里插入图片描述

然后dig test.westos.com 发现是 172.25.254.180 对应test.westos.com
在这里插入图片描述
在这里插入图片描述
提供答案的server为172.25.254.115

改变dhcp的池的范围,然后再次在客户端重启网络,重新分配ip地址,再次dig test.westos.com ,发现ip改变为新的dhcp获取的ip。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值