【全栈软件测试】二、Windows服务器(1)搭建DNS服务器

〇、前言:

前面写了软件测试的学习路线、软件测试的体系、软件测试和测试环境、软件测试的环境搭建(虚拟机的使用,VMware的使用技巧等),本篇主要写:DNS的原理和搭建DNS服务器,其中包含:DNS的原理、DNS的域命名空间、DSN的查询和解析方式、配置DNS服务器、验证DNS服务器的正确性、管理DNS客户端缓存等内容。




一、DNS的意义和作用

1、DNS 简介:DNS 的含义和作用

DNS 是域名系统(Domain Name System)的缩写,它是 Internet 上标准的名称解析方式。
TCP/IP 通信是基于 IP 地址的,但那些单调的数字是难以记忆的,通常我们会访问主机
名,再通过某种机制将主机名解析为 IP 地址。

(1)网站访问:
在这里插入图片描述

【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第1张图片

(2)IP访问:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第2张图片

2、何时使用 DNS

凡是需要使用域名的场景都可以使用 DNS。



3、DNS的原理

DNS的工作原理,此处截取于百度百科:DNS协议—工作原理:

DNS是一种可以将域名和IP地址相互映射的层次结构的分布式数据库系统,主要包括如下3个组成部分:
(1)域名空间(domain name space)和资源记录(resource record);
(2)域名服务器(name server);
(3)解析器(resolver)。 

【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第3张图片

DNS系统采用递归查询请求的方式来响应用户的查询,其一般过程如下:

(1)客户端首先向首选域名服务器查询。 [4] 
(2)首选域名服务器检查本地资源记录,如果存在则作权威回答,如果不存在,则检查本地缓存,如果有记录则直接返回结果。若本地资源记录和缓存记录都不存在,则向根域名服务器查询。 [4] 
(3)根域名服务器返回相应顶级域的权威域名服务器的地址,首选域名服务器继续向该顶级权威域名服务器查询。 [4] 
(4)顶级权威域名服务器返回次级域的权威域名服务器地址,首选域名服务器如此迭代查询,直到得到对查询域名的权威回答,保存在本地缓存中并返回给客户端,完成此次查询。目前绝大多数的网络都会开放DNS服务,DNS数据包不会被防火墙等网络安全防护设备拦截,因此,可以基于DNS协议建立隐蔽通道,从而顺利穿过防火墙,在客户端和服务器之间隐蔽地传输数据。

以下是来源于笔记:
问题:当一个客户端想要访问一家公司的服务器的时候,怎么办呢?仅仅知道IP地址,但是IP地址太难记了,有没有办法可以方便记忆呢?域名,通过域名对想要访问的公司服务器进行访问。

客户端和服务器是什么样的?如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第4张图片
问题:客户端想访问胡先森公司的服务器怎么办呢?太难了,IP太难记。如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第5张图片
当遇到这个难题的时候,DNS服务器就诞生了。
图:DNS服务器的诞生:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第6张图片
解决办法:当遇到这个难题的时候,DNS服务器就诞生了。它记录这很多公司服务器的域名和IP。当客户端想要访问某某公司的时候,仅仅需要告诉DNS服务器,DNS服务器就解析出对应的域名和IP发送给客户端,客户端就通过域名快速访问了。具体操作,如下图所示:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第7张图片



4、域命名空间

4.1、域命名空间的含义

域名空间用于指定组织名称的域的层次结构,不同域间以英文句点隔开,如
www.baidu.com 中的 com、baidu、baidu.com 都是域。
如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第8张图片

(1)根域(Root Domain)
 只有一个,一般不写,也看不到。
 DNS 命名空间是由位于美国的 INTERNIC(国际互联网络信息中心)负责管理并进行授权管理的。
 根域服务器中只保存顶级域的 DNS 服务器名称与 lP 地址的对应关系。
 每一层的 DNS 服务器只负责管理其下一层域的 DNS 服务器名称与 IP 地址的对应关系。
(2)完全合格域名(FQDN)
 如 www.pku.edu.cn、www.baidu.com

4.2、域名空间的分类

域名空间可以按照组织类型分类,也可以按照地理区域分类。

(1)机构域
 com:表示商业机构。
 net:表示网络服务机构。
 org:表示非营利性组织。
 gov:表示政府机构。
 edu:表示教育机构。
 mil:表示军事机构。
 name:表示个人网站。
 info:表示提供信息服务的机构。
(2)地理域
  共 243 个,如.cn、uk、us、tw、hk 等。


5、DNS的查询方式

5.1、递归查询

 DNS 客户端送出查询请求后,若 DNS 服务器内没有所需的记录,它就会代替客户端向其他的 DNS 服务器进行查询。
 一般由客户端所提出的查询请求属于递归查询方式。

5.2、 迭代查询/重复查询

 DNS 客户端送出查询请求后,若第一台 DNS 服务器内没有所需的记录,它会提供第二台 DNS 服务器的 IP 地址,让 DNS 客户端继续向第二台 DNS 服务器进行查询。
 一般由 DNS 服务器向外发出的查询属于迭代查询方式。


6、DNS的解析方式

6.1、正向解析

 将域名变成 IP(根据域名查找对应的IP地址)。

6.2、 反向解析

 将 ip 变成域名(根据IP地址查找对应的域名)。不安全,实际工作中禁止使用。 



二、安装DNS

1、准备服务器并配置

 Windows Server 2008,一般建议用Windows server 2008做服务器,不建议使用Windows 7来做服务器。
 配置 IP(IP、掩码、网关、主 DNS 不填或者填写自己IP)

注意:我这里使用 Windows server 2008做服务器,Windows 7来做客户端。

1.1 设置准备工作:

打开进入Windows server 2008。

首先要保证虚拟机设备状态已连接、网络连接方式为桥接模式,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第9张图片

1.2、配置IP

(1)IP配置

配置IP的步骤:点击虚拟机右下角网络信号图标“网络和共享中心”----点击“查看状态”—弹窗点击“查看状态”,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第10张图片
如果IP地址页面显示地址和子网掩码了,就不用配置,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第11张图片

(2)网关配置

网关配置的步骤:网络和共享中心----查看状态—属性—选中“IPV4”—属性—“使用下面的IP地址:”
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第12张图片


2、安装 DNS

 开始菜单—程序—管理工具—服务器管理器—角色—添加角色,如下图:

2.1、第一步:打开服务器管理器:

【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第13张图片

2.2、 第二步:安装DNS服务器

详细操作步骤:角色:添加角色—下一步—选择“DNS服务器”,下一步----下一步----安装.

步骤一:角色:添加角色,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第14张图片

步骤二:开始之前,下一步:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第15张图片

步骤三:服务器角色,勾选“DNS服务器”,点击下一步,如下图:

【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第16张图片
步骤四:DNS服务器,点击下一步,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第17张图片

步骤五:确认,点击安装,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第18张图片

步骤六:安装结果确认,出现“安装成功”字样提示,点击关闭,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第19张图片

2.3、第三步:查看DNS是否安装成功:

步骤:开始菜单—程序—管理工具—查看是否有“DNS”选项,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第20张图片

打开DNS后,可以看到此时进入了DNS管理器页面,有如下图的数据:全局日志、正向查找区域、反向查找区域、条件转发器等,则DNS服务器安装成功了。
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第21张图片


3、配置 DNS 服务器

3.1、 打开 DNS 界面:

步骤一:进入DSN管理器页面:

 步骤:开始菜单—程序—管理工具—DNS,如下图:

【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第22张图片

3.2、添加正向查找区域(正向域)

 公司域名(相当于公司的网名)
 右击“正向查找区域”—新建区域,自己起名

步骤一:正向查找区域—新建区域,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第23张图片
步骤二:新建区域向导,下一步,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第24张图片

步骤三:区域类型,默认主要区域,下一步:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第25张图片

步骤四:区域名称,输入一个域名,相当于给公司取名,前面不要输入www,以免和现实中已有的公司冲突,创建失败。
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第26张图片
步骤五:区域文件,默认不用管,下一步:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第27张图片
步骤六:动态更新,默认“不允许动态更新”,下一步:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第28张图片

步骤七:完成界面,点击完成:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第29张图片
步骤八:查看是否创建成功,查看正向查找区域下是否有刚刚创建的域:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第30张图片

PS:在一个正向查找域内,可以添加多个域<相当于添加多个公司,此处仅例举一个,操作方式完全相同>。


3.3、 添加主机

 相当于公司中计算机的网名
 点击前面的正向域名—右侧空白处右击—新建主机(A 或 AAAA)—起名如www、news、blog 等

【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第31张图片
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第32张图片
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第33张图片

【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第34张图片

PS:在一个创建的域内<公司名字>,可以添加多个主机<相当于该公司有多台服务器,此处仅例举一种>。



4 、验证 DNS 服务器正确性

验证的方法有:DNS服务器上验证、客户端上验证。客户端上验证分为nslookup域名验证和ping域名验证。

4.1 DNS 服务器上验证

 nslookup 域名

【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第35张图片
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第36张图片
PS:以上就是在Windows server 2008上搭建服务器,下面将用Windows 7来作为客户端,验证搭建好的服务器。


4.2 客户端上验证

首先,打开Windows 7虚拟机。<注意:服务器必须保证开机,不能关机>。

(1)准备工作

打开Windows 7 x64虚拟机,并且设置网络适配器下,设备状态选择已连接、启动时连接;网络连接方式选择:桥接模式。如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第37张图片

(2)客户端的设置

设置 IP 地址
与 DNS 同网段
 DNS 必填,且必须为 DNS 服务器的 IP 地址

设置IP的步骤:打开进入Windows 7 x64虚拟机—打开网络和共享中心----点击“本地连接”----点击“属性”----选择“Internet协议版本4(TCP/IPv4)”
—点击“属性”—设置IP和网关以及DNS服务器。

步骤一:打开网络和共享中心,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第38张图片
步骤二:在网络和共享中心,点击“本地连接”,在弹出的“本地连接状态”窗口中点击属性,弹出“本地连接属性”窗口,在该窗口选择"IPv4"点击属性。
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第39张图片
步骤三:在IP设置页面,选择使用下面的IP地址,不要自动获取IP。
注意:此处IP地址和默认网关必须在同一网段;首选DNS服务器地址必须为服务器的IP地址 <也就是Windows server 2008的IP地址> 。

【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第40张图片

(2)验证方法一:客户端nslookup 域名进行验证:

步骤一: 打开运行窗口<打开运行窗口的快捷键:Windows图标+R>,输入cmd,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第41张图片

步骤二: 在命令窗口输入“nslookup”,显示结果为超时,暂时不用管,继续输入服务器域名,查看查找结果,是否显示出对应的域名和IP地址。如下图:
注意:如果查找结果没有显示出对应的IP和域名,需要去关闭服务器的防火墙。

第一种:“nslookup”+“回车”+“域名,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第42张图片
第二种:“nslookup”+“空格”+“域名,如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第43张图片
注意:如果查找结果没有显示出对应的IP和域名,需要去关闭服务器的防火墙。


(3)验证方法二:客户端ping 域名进行验证
  结果的[ ]中显示的数字即为 DNS 解析出来的 IP 地址。

输入ping+域名进行验证。如下图:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第44张图片
问题:注意:当“ping+域名”出来的数据不正确时,得到的是请求超时之类的,说明方法有误。如下图:

【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第45张图片
解决办法:
(1)关闭服务器的防火墙。
(2)在ping域名前,需要使用“exit”命令退出nslookup模式。当退出后,再ping一次。
直到ping出来的结果回复数据包,字节,IP等信息。


4.3、本节操作命令:

操作命令 命令
退出 exit
网络诊断 ping
域名查询 nslookup
清行(清屏) cls
查看 DNS 客户端缓存 ipconfig /displaydns
清空 DNS 客户端缓存 ipconfig /flushdns


4.3、管理 DNS 客户端缓存

nslookup和ping的特点:nslookup实时查询,ping是优先查询缓存。
因为使用ping命令会将DNS服务器发来的解析结果缓存下来,所以需要对缓存进行管理。

命令如下:
 (1)查看 DNS 客户端缓存:ipconfig /displaydns
 (2)清空 DNS 客户端缓存: ipconfig /flushdns

缓存:当我们服务器断开、掉电等等时,ping命令依旧能解析到对应的IP,实际是之前查询留下的缓存。如下图< 已经关闭服务器Windows server 2008 >:
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第46张图片

(1)查看DNS客户端缓存:

在命令窗口输入:ipconfig /displaydns。如下图:
得到缓存的域名、IP等数据。
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第47张图片

(2)清空DNS客户端缓存:

在命令窗口输入:ipconfig /flushdns。如下图:
第一步:输入清空DNS缓存的命令:ipconfig /flushdns。
第二步:查看清空缓存的提示。
第三步:输入查看DNS缓存的命令:ipconfig /displaydns。
第四步:查看是否还存在缓存。
【全栈软件测试】二、Windows服务器(1)搭建DNS服务器_第48张图片

结语:

本章节内容较多,详细的讲解,没有太多复杂的东西,详细到每一步。熟能生巧,故,多练习,理解既可。
下一章节:搭建Web服务器


------人生在勤,不索何获!------



你可能感兴趣的:(全栈软件测试---精讲系列,软件测试,服务器,深度学习)