Linux系统中DNS服务器的配置

Linux系统中DNS服务器的配置

DNS的功能

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

DNS的解析过程

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

简单来说, DNS 服务器将域名解析出来,找到域名对应的ip地址的服务,可以高速缓存从其他 DNS 服务器收到的 DNS 记录。 也可以在 DNS 客户服务中使用高速缓存,将其作为 DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。 可以提高解析速度。

DNS系统中常见的资源记录类型
类型说明
主机记录(A记录)A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上
别名记录(CNAME记录)CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录
IPv4主机记录(A记录)用于将特定的主机名映射到一个主机的IPv4地址
Pv6主机记录(AAAA记录)与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址
服务位置记录(SRV记录)用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等
NAPTR记录它提供了正则表达式方式去映射一个域名,NAPTR记录非常著名的一个应用是用于ENUM查询
PTRIPv4/IPv6 地址至名称
MX用于名称的邮件交换器 ( 向何处发送其电子邮件 )
NS域名的名称服务器
SOA” 授权起始 “ , DNS 区域的信息 ( 管理信息 )
DNS 排错(它显示来自 DNS 查找的详细信息 , 其中包括显示为什么查询失败)
提示说明
NOERROR查询成功
NXDOMAINDNS 服务器提示不存在这样的名称
SERVFAILDNS 服务器停机或 DNSSEC 响应验证失败
REFUSEDDNS 服务器拒绝回答 ( 也许是出于访问控制原因 )
非权威高速缓存DNS服务器的配置

为什么要搭建高速缓存dns服务器?
当一个企业内网里面的每一台主机都要访问114.114.114.114这个权威dns进行域名解析,但是内网通往114.114.114.114只有一根传输线,此时每台的访问速率都非常慢
内网访问外网速率较慢,但内网之间进行访问速率快
现在我们想把企业内部里面的一台服务器搭建成高速缓存dns,其他主机不再需要问114.114.114.114,直接访问高速缓存dns服务器即可
只需要高速缓存dns去查询114.114.114.114,然后把信息记录下来,其他的主机就可以通过查询高速缓存DNS服务器来解析域名,从而可以访问网站
这个高速缓存dns属于非权威dns

实验准备:将我们的server虚拟机reset,使用server虚拟机和真机来做实验
给server虚拟机配置网络。server虚拟机的ip为172.25.254.114,真机的ip为172.25.254.14

开启真机的路由功能
在这里插入图片描述
开启真机防火墙的伪装功能

在这里插入图片描述
在内网中搭建一台高速缓存dns服务器,属于非权威dns,目的是为了提高内网的访问效率

实验方法:在server中(ip为172.25.254.114)上面搭建高速缓存dns,在/etc/named.conf中写`forwarders{114.114.114.114}
#意思是让这台高速缓存dns服务器先在自己的记录中查找dns,若没有记录,则去114.114.114.114查找dns

实验步骤:修改高速缓存DNS的配置文件/etc/named.conf的参数

在这里插入图片描述
将DNS安全检测设置为no
在这里插入图片描述
将server主机的DNS设置为172.25.254.114(自己)
在这里插入图片描述
在这里插入图片描述

测试:
提出问题 dig www.baidu.com时间会不会更短?
测试机为主机,将主机的DNS设置为172.25.254.114
在这里插入图片描述
server端:dig www.baidu.com

在这里插入图片描述
在这里插入图片描述
可以看到,能够成功找到百度的ip, 耗时361ms

真机端:dig www.baidu.com

在这里插入图片描述可以看到,第一次耗时44ms
在这里插入图片描述
第二次耗时4ms,
在这里插入图片描述
第三次耗时3ms,时间缩短了很多,表明在内网查找ip可以大大缩短查找的时间

如果服务起不来,或者得到的结果不正确,那么就先清空日志,然后重启服务,再查看日志中的报错,绝大部分的错误都能从日志中找到

> /var/log/messages
systemctl restart named
 cat /var/log/messages 在日志里面找解决办法
 
 
  • 1
  • 2
怎样搭建一个权威dns服务器

实验目的:使172.25.254.114非权威dns不再向114.114.114.114权威dns询问,而是向自己询问,这个也属于文件共享,搭建一个类似114功能的dns服务器

在server中打开/etc/named.rfc1912.zones文件,然后复制19-24行,修改zone后的名字,修改file的内容
在这里插入图片描述
复制的内容:
在这里插入图片描述
修改后的内容:
在这里插入图片描述
因为要找file的内容,但是我们目前还没有这个文件,这里的文件位于/var/named的目录中,转到这个目录,去复制文件

在这里插入图片描述

在这里插入图片描述

这里一定要注意,-p是为了改westos.com.zone这个文件的权限,复制的时候一定要加-p,不然会出错!!!

复制完成后,进入这个文件编辑内容
在这里插入图片描述
这个文件一旦写错,错的地方就会变成红色,要注意改正错误的地方,否则named.service服务无法重启

重启服务

在这里插入图片描述
在真机中修改nameserver 172.25.254.114,另一行nameserver注释掉
在这里插入图片描述
在这里插入图片描述测试:在真机中dig www.westos.com

在这里插入图片描述
在这里插入图片描述可以看到,www.westos.com的ip为172.25.254.114

怎样搭建一个内网中重命名的dns服务器

vim westos.com.zone #编辑这个文件,加入CNAME的相关参数
在这里插入图片描述
重启服务
在这里插入图片描述
在真机中进行测试:dig bbs.westos.com
在这里插入图片描述
可以看到,bbs.westos.com在内网中的名称为linux.westos.com

关于邮件的实验

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

简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 是在Internet传输email的事实标准
SMTP是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输
可以很简单地通过telnet程序来测试一个SMTP服务器,SMTP使用TCP端口25
要为一个给定的域名决定一个SMTP服务器,需要使用MX (Mail eXchange) DNS
 
 
  • 1
  • 2
  • 3
MX记录允许设置一个优先级,当多个邮件服务器可用时,会根据该值决定投递邮件的服务器
简单邮件传输协议(SMTP)会根据MX记录的值来决定邮件的路由过程

 
 
  • 1
  • 2

在dns服务器上面netstat -antlupe | grep master 查看25端口是否开启
在这里插入图片描述
vim westos.com.zone #编辑这个文件,加入邮件的相关参数
在这里插入图片描述
在这里插入图片描述其中,MX是邮件交换器 1表示级别,表示一个记录而不是地址,所以后边有.
重启服务
在这里插入图片描述
测试:在客户端(主机)给服务器发送邮件,Ctrl+d退出

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上述信息表示设置是没有问题的,问题跟25端口有关
由于我们并没有搭建邮件服务器,所有我们的邮件是无法发送成功的

以上所有的与dns服务器相关的全部是正向解析,也就通过域名找ip

DNS的反向解析(通过ip找域名)

PTR:IPv4/IPv6地址----->名称

正向解析和反向解析是分开的,二者没有任何关系
在这里插入图片描述
在这里插入图片描述
将上图作为模板复制一段,修改成下图所示由于是反向解析,zone后边的前三位网络位的ip也要反写
在这里插入图片描述
cd /var/named,复制一个named.loopback文件
在这里插入图片描述
vim westos.com.ptr#编辑这个文件
在这里插入图片描述重启服务
在测试端测试:
在这里插入图片描述
可以看到,将172.25.254.116反向解析为bbs.westos.com
在这里插入图片描述
可以看到,将172.25.254.118反向解析为www.westos.com

DNS的双向解析(内网解析ip为内网的 外网解析为外网的)

双向解析:使特定的用户使用特定的解析文件,内外分开

在实验中,将此台主机看作内网主机192.168.1网段,将除过此台主机以外的主机看作外网主机172.25.254网段

复制一个外网的dns配置文件
在这里插入图片描述
vim westos.com.localnet#编辑这个文件,将172.25.254全部替换成192.168.0
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到,替换成功
在这里插入图片描述
vim /etc/named.rfc1912.localnet在这里插入图片描述

vim /etc/named.conf,将52-59行注释掉,重新编写外网和内网的dns配置文件
在这里插入图片描述
在这里插入图片描述重启服务,
在这里插入图片描述
在测试端改测试端主机ip(真机)nameserver 172.25.254.114
在这里插入图片描述
在这里插入图片描述可以看到,在server里查到的ip为192.168.0.114(内网解析)

在这里插入图片描述
在真机里查到的ip为172.25.254.114(外网解析)

如何建立辅助dns

建立辅助dns, 对外网访问dns服务器来说,能够缓解访问dns服务器的压力如何使多台dns 为主dns建立辅助dns?
实验准备:将双向DNS先注释掉,将原来注释的内容放开,恢复到双向DNS解析前的状态
再打开一个虚拟机desktop,在辅助dns里面安装dns

先配置yum源,再安装DNS, yum install bind -y
在这里插入图片描述
在这里插入图片描述

将desktop主机的ip设为172.25.254.214
在desktop主机上改主机名:hostnamectl set-hostname dns-slave.westos.com
vim /etc/named.conf 改参数(一共改两行)
listen-on port 53{any; };
allow-query{any; };
netstat -antlupe | grep named 看53端口是否开启
vim /etc/named.rfc1912.zones
写入:
type slave;(辅助型)
masters {172.25.254.114;};(为114主机服务)
file "slaves/westos.com.zone";(在slaves/这个目录下同步westos.com.zone)
systemctl restart named
cd /var/named/salves
ls
systemctl restart named
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这里插入图片描述
vim /etc/named.conf #改参数
在这里插入图片描述
在这里插入图片描述
vim /etc/named.rfc1912.zones
在这里插入图片描述
在这里插入图片描述

修改辅助DNS上的nameserver
在这里插入图片描述
在这里插入图片描述
给火墙加上DNS服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
发现数据已经同步过来了,此时辅助DNS上可以得到和主DNS服务器上相同的ip,但是只能更改一次,第二次主DNS的域名解析改变了,辅助DNS就不能及时同步,这是因为当再次更新时,主DNS里的westos.com.zone里的文件没有发生变化,删掉这个文件,再次重启服务,则能看到辅助dns也能更新
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生成了新的westos.com.zone文件,更改主DNS里的解析ip
在这里插入图片描述
在这里插入图片描述
可以看到,辅助DNS也更新了
但是这种删除的方法并不适合企业,介绍一种新的方法,同步DNS解析

在114主机中vim /etc/named.rfc1912.zones #修改参数, 写入allow-notify{172.25.254.214;};企业7以前的版本需要再加上
allow-transfer{172.25.254.214;};通知215主机更新
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
修改serial的值,通常为时间加次数(最大不超过10位)

在这里插入图片描述
并且将www.westos.com的解析ip改为172.25.254.188
在这里插入图片描述
重启服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时可以看到,辅助dns也更新了主dns解析的ip(可能会有一点点延迟,多重启几次)

DNS的远程更新

之前每次该完配置文件都要重启服务才会生效

现在即改即生效
查看/var/named/这个目录的权限

在这里插入图片描述

备份cp -p westos.com.zone /mnt/
在这里插入图片描述
将selinux改至permissive模式
给named组加上写权限
在这里插入图片描述
vim /etc/named.rfc1912.zones

写入: allow-update {172.25.254.114; };

systemctl restart named #重启服务
在这里插入图片描述
在这里插入图片描述

进行更新:

nsupdate 回车
server 172.25.254.114
update add hello.westos.com 86400 A 172.25.254.123
send 回车
 
 
  • 1
  • 2
  • 3

打开远程主机火墙,加上DNS
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
可以看到远程主机更新在主DNS上已经同步过来了,查看/var/named/,可以看到多了一个westos.com.zone.jnl的日志文件
vim westos.com.zone可以看到,多了一个hello.westos.com的解析对应关系
在这里插入图片描述
在这里插入图片描述
在远程主机上删掉这个网址,则主DNS上也dig不到ip
在这里插入图片描述
删掉westos.com.zone和westos.com.zone.jnl文件
在这里插入图片描述
将备份的文件恢复回来

在这里插入图片描述
再次查看这个文件
在这里插入图片描述
在这里插入图片描述

可以看到,已经看不到hello.westos.com的对应关系了,说明已经把远程更新的文件彻底删除干净了

DNS的密钥更新

之前我们通过ip的方式更新dns,这样的做法很不安全,别人也通过ip可以更新我的dns
如果给dns做一个钥匙,有钥匙才能更新,这样做更安全
实验准备:在实验之前,转到/var/named/目录下,ls查看

在这里插入图片描述
删掉之前更新产生的westos.com.zone和westos.com.zone.jnl文件,
在这里插入图片描述
将之前备份的westos.com.zone文件拷贝回来
在这里插入图片描述
生成自己的加密文件 cp -p /etc/rndc.key /etc/westos.key
在这里插入图片描述
在/mnt目录下输入 dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos生成钥匙
在这里插入图片描述
ls查看生成的对称加密文件
在这里插入图片描述
编辑自己的加密文件:加入钥匙名字和加密字符`cat Kwestos.+157+45843.key #查看加密字符
在这里插入图片描述

在这里插入图片描述
vim /etc/westos.key #在dns服务器自己的加密文件中写信息
在这里插入图片描述
在option语句块外添加 include /etc/westos.key
在这里插入图片描述

编辑dns文件,使其允许钥匙加密更新 vim /etc/named.rfc1912.zones
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将密钥发送给测试机
在这里插入图片描述

在测试端进行更新

nsupdate -k /mnt/Kwestos.+157+63271.private
server 172.25.254.114
update add test.westos.com 86400 A 172.25.254.136
send
quit
 
 
  • 1
  • 2
  • 3
  • 4

切换到/opt/,ls查看密钥文件是否成功发送过来

在这里插入图片描述
可以看到,无法更新成功,这是因为没有告诉测试机使用密钥进行更新
在这里插入图片描述
在这里插入图片描述
可以看到,能够成功进行密钥更新

在这里插入图片描述
在主DNS上dig可以看到更新的ip(172.25.254.136)

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

在动态分配ip时,dns域名解析的ip就变了,这样就查不到域名对应的ip了,要把域名与ip的对应关系做好,可以利用dhcp服务,dhcp将哪个ip给被访问域名,dhcp再告诉dns,这样客户端会利用主机名称去访问一个域名内的主机

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

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

实验准备:server和desktop两台虚拟机,确保两台虚拟机的selinux的状态为disabled
在114 server主机上面恢复原来的环境

vim westos.com.zone(删除之前所有的,只留dns)
在这里插入图片描述
利用yum源安装dhcp服务
在这里插入图片描述systemctl restart named #重启DNS服务

在114server主机上面安装dhcp服务
在这里插入图片描述
在这里插入图片描述
在火墙中加入dhcp服务
在这里插入图片描述
按照以前的方法配置dhcp

在这里插入图片描述在这里插入图片描述
修改域名为westos.com
修改域名服务器为172.25.254.114
在这里插入图片描述

在这里插入图片描述
将desktop虚拟机的网络配置文件写为dhcp自动获取ip
在这里插入图片描述

如果dhcp无法自动分配ip,则查看server虚拟机的网络配置
在这里插入图片描述
server虚拟机的配置文件如下所示
在这里插入图片描述
重启网络和打开dhcp
在这里插入图片描述
重启dhcp服务,保证dhcp是开启的状态
在这里插入图片描述
进入dhcp的配置文件,写上ddns的更新方式为interim
在这里插入图片描述
在这里插入图片描述修改配置文件里的子网ip,子网掩码,网关和自动获取ip的范围

在这里插入图片描述
在这里插入图片描述
写入以下内容,设置主机ip为172.25.254.114,通过加密密钥的方式进行dns解析
在这里插入图片描述

在这里插入图片描述
在desktop测试端,重启网络
在这里插入图片描述
可以看到自动获取的test.westos.com的ip为172.25.254.210
在dhcp的配置文件里更改自动获取ipd的范围为172.25.254.150到172.25.254.200
在这里插入图片描述
再重启dhcp服务,重启网络
在这里插入图片描述
在这里插入图片描述
查到的test.westos.com的DNS解析ip为172.25.254.150

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值