DNS服务器之一:总揽与非权威DNS的搭建

1 DNS总揽

1.1 DNS是什么?

 域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
1.2 权威和非权威DNS

权威名称服务器:存储并提供某区域(整个DNS域或DNS域的一部分)的实际数据。
权威名称服务器的类型包括:(1)Master:包含原始区域数据,有时称作“主要服务器”
(2)Slave:备份服务器,通过区域传送从Master服务器获得的区域数据的副本。有时称作“次要”名称服务器
非权威/递归名称服务器:客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括仅缓存名称服务器:仅用于查找,对于非重要数据之外的任何内容都不具有权威性。
简单来说,就是如果本地DNS的配置文件中写明了域名与IP的对应关系的,并授权管理这个域时,那么就称这台DNS服务器是该域的权威DNS服务器。客户端得到的DNS查询结果是从本地DNS服务器缓存中获得的,那么称这个解析结果为非权威应答,DNS服务器是非权威DNS服务器;非权威应答的结果不一定是正确的,有可能权威DNS服务器上记录已修改,而缓存中还是未更新的记录。
1.3 DNS的查找

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

DNS区域采用资源记录的形式存储信息。每条资源记录均具有一个类型,表明其保留的数据类型:
A:名称至IPv4地址
AAAA:名称至IPv6地址
CNAME:名称至“规范名称”(包含A/AAAA记录的另一个名称)
PTR:IPv4/IPv6地址至名称
MX:用于名称的邮件交换器(向何处发送其电子邮件)
NS:域名的名称服务器
SOA:起始授权记录,一个区域文件只能有一个
1.5 dig输出的部分内容

dig命令主要用来从DNS域名服务器查询主机地址信息。在输出的内容中,标题指出关于查询和答案的信息,其中包括响应状态和设置的任何特殊标记(aa 表示权威答案,等等)
QUESTION:提出实际的DNS查询
ANSWER:响应(如果有)
AUTHORITY:负责域/区域的名称服务器
ADDITIONAL:提供的其他信息,通常是关于名称服务器
底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间。
1.6 dig查找的状态

在dig输入内容中,status显示了查询的状态:
NOERROR:查询成功
NXDOMAIN:DNS服务器提示不存在这样的名称
SERVFAIL:DNS服务器停机或DNSSEC响应认证失败
REFUSED:DNS服务器拒绝回答(也许是处于访问控制原因)
1.7 DNS服务的配置文件

主配置文件: /etc/named.conf
子配置文件: /etc/named.rfc1912.zones
数据目录: /var/named

2 高速缓存DNS服务器(非权威)

  若所有的主机都去访问DNS服务器,这样服务器的负载很大,并且访问的问题可能已经其他主机已经访问过同样的问题,所有,我们将其中一台主机作为高速缓存DNS服务器,其他主机访问高速缓存DNS服务器时,服务器搜索在其缓存中有请求的信息,则会将非权威答案发送至客户端。如果缓存中没有该请求的答案,名称服务器将搜索权威名称服务器以查找信息,从根区域开始,按照DNS层次结构向下搜索,直至对于讯息具有权威性的名称服务器,以此为客户端获得答案。
 我们以desktop虚拟机作为高速缓存DNS服务器,前提是真机能上网,能够提供网络服务,desktop虚拟机网关为真机的ip,这部分也就是之前我们博文中网络设置中的网关的知识。达到的效果就是desktop虚拟机能够上网。

2.1 服务器的配置

DNS系统是由各式各样的DNS软件所驱动的,BIND(Berkeley Internet Name Domain)是使用最广的DNS软件,由伯克利大学开发。在服务器(server虚拟机)配置如下:

hostnamectl set-hostname dns.westos.com                 为方便区分服务端和客户端,更改主机名
yum install bind.x86_64                                  下载dns软件
firewall-cmd --permanent --add-service=dns               使火墙允许dns服务
firewall-cmd --reload
netstat -antlupe | grep named                             查看53端口在哪开,发现53端口只能在主机当中开
vim   /etc/named.conf                                     修改主配置文件
修改listen-on port 53 { any; };                           开放53端口
修改 allow-query {any;};                                  并且允许所有主机访问
添加语句forwarders { 114.114.114.114;};                   当dns高速缓存服务器解析不到时找114.114.114.114
systemctl restart named                                   修改完配置文件需要重启服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.2 客户端的配置

我们将真机和server虚拟机当作客户端,用来测试服务端的配置。

两台测试机修改:vim /etc/resolv.conf
nameserver 172.25.254.172
分别 dig www.google.com
发现第一台主机dig以后,第二台主机dig的毫秒数变小

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
################################The End#############################

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值