• DNS部署与安全


    数据来源

    1、DNS

            Domain NAme Service

            域名服务

            作用:为客户机提供域名解析服务器

    2、域名组成

    2.1 域名组成概述

    如:“www.sina.com.cn”是一个域名,从严格意义上讲,“sina.com.cn”才被称为域名(全球唯一),而“www”是主机名。

    “主机名.域名”称为完全限定域名(FQDN。一个域名下可以有多个主机,域名全球唯一,那么“主机名.域名”肯定也是全球唯一。

    以“sina.com.cn”域名为例,一般管理员在命名其主机的时候会根据其主机的功能而命名,比如网站是www,博客的blog,论坛的是bbs,那么对应的FQD为 “www.sina.com.cn”,blog.sina.com.cn,bbs.sina.com.cn。这么多个FQDN,然而我们只需要一个域名即“sina.com.cn”即可。

    2.2 域名组成

    树形结构

             根域

            顶级域

                    国家顶级域 cn jp hk uk

                    商业顶级域

                            com  商业机构

                            gov  政府机构

                            mil   军事机构

                            edu   教育机构

                            org   民间组织架构

                            net   互联网

            一级域名

            二级域名

            .  .  .  .

            如:www.baidu.com.   

                    . 为根域

                    .com为顶级域

                    baidu为一级域名

                    www为主机名

            FQDN=主机名.DNS后缀

            FQDN(完整合格的域名)

    3、监听端口

            TCP53

            UDP53

    4、DNS解析种类

    4.1 按照查询方式分类

            1)递归查询:客户机与本地DNS服务器之间 

            2)迭代查询:本地DNS服务器与根等其他的DNS服务器的解析过程

    算机访问某个网站的流程:

    计算机会先通过网站的域名查找网站的IP地址,再通过IP地址访问网站。

    DNS查询过程

            1、客户机在浏览器中输入www.baidu.com 域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

            2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

            3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

            4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

            5、如果本地DNS服务器本地区域文件缓存解析都失效则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(baidu.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找baidu.com域服务器,重复上面的动作,进行查询,直至找到www.baidu.com主机。

            6、如果用的是转发模式,此本地DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用的是转发模式还是根服务器最后都是把结果返回给本地DNS服务器由本地DNS服务器再返回给客户机原文链接

    注意:第5、6步无论哪一步查到了需要的IP地址返回给本地DNS服务器,DNS服务器再返回给客户机的同时服务器也会记录下该IP地址,下次查找就可以直接读缓存,就不用这么麻烦。

            客户机本地的DNS服务器的关系就是递归解析(我问你,你就给我什么就叫递归)

            DNS服务器之间的关系是迭代解析

    经典题:

            那些设备之间是递归查询?

                    答:1. 客户机与本地的DNS服务器  2. DNS转发器

            什么是迭代?

                    答:DNS服务器与根之间的交互就是迭代

    4.2 按照查询内容分类

            1)正向解析已知域名,解析IP地址

            2)反向解析已知IP地址,解析域名

    5、DNS服务器搭建过程

            win2003虚拟机为例

            先输入:netstat -an  查询一下开放端口,等下做个对比,你会发现现在TCP53 / UDP53 两个端口并没有开放

     开始安装DHCP服务组件,虚拟机 -- 设置 -- 设备状态 -- 选择已连接

                     就会自动弹出这个窗口

            双击打开网络服务

                   

            选择域名系统确定 

             

             我光驱是在E盘,他找不到所以我们给他改成e盘,确定 

                                                    

            

            会弹出来两次,都要改成e 

             

    安装完之后再次输入:netstat -an   # 查看开放端口  你就会发现TCP和UDP的53端口就开放了 

     

    6、正向查找区域(已知域名,查找IP)

    6.1 新建区域

            例子:让同一个局域网下的所有客户机,都来我这服务器,解析IP地址,以百度的域名(baidu.com)为例。

           步骤: 

            1)打开刚才安装的DNS服务器

             

            2)正向查找区域 -- 新建区域 

             

             

             

             

             

            

            新建成功以后是以 baidu.com 结尾的我们都放到这个区域,对应同一局域网下的客户机来说,这个服务器的解析就是权威解析,其他都是非权威。

    注意:现在客户机还是访问不了 baidu.com 相关的网站,因为该区域下除了默认的主机记录,啥都没有

    6.2 新建主机(也称为A记录、正向解析记录)

    如果有人问DNS的A记录啥?就是正向解析记录 

    例:新建一个名为www的主机

            步骤:

           1)鼠标放在区域下右键 -- 新建主机

             

            2)输入需要创建的主机名与域名的IP地址(主机名 + 域名 = 完整合格的域名,上面有提到

             

            3)创建成功,以后有客户机在这个局域网下访问,www.baudu.com,他最后解析到的IP地址就是1.1.1.1,随便写的打不开百度。          

    6.3 测试一下

    在WindowsXP测试,命令行:

            nslookup www.baidu.com     # 手工解析域名的IP地址  

            ping  www.baidu.com           #  ping 测试网络连通性

    注意:我这里把Windows2003配置成了DHCP服务器,WindowsXP是连接到Windows2003服务器的客户机。

    具体实现步骤:DHCP部署与安全

    然后我把 Windows2003DHCP服务器DNS地址改成和Windows2003的IP地址或者把WindowsXP客户机的DNS首选地址改成Windows2003的IP地址,让WindowsXP客户机在访问www.baidu.com 时去到Windows2003的DNS服务器解析IP。

    步骤如下:

            虚拟机

             

            

             真实机

       

     IP地址不好记才有域名这种东西,用IP地址一样能访问网站,域名就是用来绑定IP的,方便记忆

    还可以测试一下其他网站,比如百度网盘的域名: pan.baidu.com

    去创建一下

    再次测试,先输入:ipconfig /flushdns   # 刷新本地DNS缓存不然XP系统获取不到最新的数  据,这个问题win7以上已经解决了

    7、反向查找区域(已知IP查找域名)

    例子:让DNSf服务器返回名称

            如果你是用nslookup # 解析域名,就会发现我们自己搭建的DNS服务器没有返回DNS服务器名称 

            

            本机静态IP地址查看,下面会用到

            实现步骤:

            1) 在正向查找区域再建一个主机 

             

                     

             

             2)来到反向查找区域 -- 新建区域

             

             

             

             

             

             

            3)新建指针(让IP地址和域名关联起来)

            

             

             

            4)测试是否返回服务名称成功了

             

    8、转发器

    转发器是解决那些这台服务器没有应答的 DNS 查询的服务器。转发下列 DNS 域中的名称查询。

    设置转发器 

     Windows2003配置如下 

     Windows2003-1 配置如下,有www.qq.com

    测试,在winXP访问了www.qq.com

     设置了转发器的访问过程如下:

    首先:WindowsXP这台客服机访问了,www.qq.com,然后请求就来到了他的首选DNS服务器Windows20003的DNS服务器。

    然后:Windows20003的DNS服务器查找自己的主机(A)记录,很明显如下图没找到,但是如上图我给Windows20003的DNS服务器设置了转发器,找不到时就会转发到Windows20003 -1的DNS服务器上。

    最后:如上图在Windows20003 -1 上存在 www.qq.com 这个域名的A记录,之后就把该记录转发给Windows20003的DNS服务器上,再由Windows20003的DNS服务器响应给WindowsXP客服机

    9、创建辅助区域

            相当于备份,放到另一台电脑上备份起来提高容错率

    例:使用Windows2003-1的DNS服务器复制Windows2003的baidu.com区域。

    步骤:

            1)给Windows2003-1的DNS服务器开启复制权限

             2)来到Windows2003-1,正向查找区域 -- 新建区域

            3)选择辅助区域

            4)输入要复制的区域名称 

            5)输入要复制的区域服务器IP地址 

     

            6) 检查有没有错误 -- 完成

            7)复制中,请耐心等待

             8)没耐心了,点刷新,复制成功了。。。

    10、清空DNS缓存

            

             

             

             

             

    11、把虚拟机都连上网络,然后把winXP当做客户机,win2003当做DNS服务器

    步骤:

    1)让虚拟机上网:

    网络连接  -- 自定义 -- VMnet0

    然后把IP和DN改为自动获取

    2)设置让winXP客户机把win2003当做本地的DNS服务器

    实现:把winXP的DNS获取改为手动获取,并设置为win2003DNS服务器的本地IP地址

    3)开始测试,测试开始前先清除本地的DNS解析缓存:ipconfig /flushdns  然后可以使用:ping 或        nslookup 进行测试

    4)为了减轻本地DNS服务器的负担,还可以设置转发器,目标就是你所在地区的DNS服务器,百度查找或直接看wifi用的是哪个。

    12、别名的使用 (就是给已有的域名创建别名)

            现在baidu.com 这个区域下有个www的主机记录 

             创建别名

            

             

                     去到winXP测试一下

            

             真机上        

            

    13、清除DNS缓存

            1. 客户机上清除缓存

                    ipconfig /flushdns

            2. 服务器上清除缓存

                    windows服务器:dns工具 -- 查看 -- 高级,调出缓存来,然后右键清除缓存

    14、域名解析记录类型

            A记录:正向解析记录

            CNAME记录:别名

            PTR记录:反向解析记录

            MX:邮件交换记录

            NS:域名服务器解析

    15、反向DNS

            nslookup手工解析时,会进行一个反向解析

    16、DNS服务器分类

    • 主要名称服务器
    • 辅助名称服务器
    • 根名称服务器
    • 高速缓存名称服务器(DNS服务器刚刚安装好,里面啥都没有,没有自己的负责区域,只是充当一个转接员的位置,这就是高速缓存名称服务器,比如客户机访问一个网站他只负责转发给其他服务器解析,解析完成响应回来给高速缓存名称服务器,然后该服务器把该网站的解析结果保存在本地,并返回给客户机,下次客户机再访问的时候该网站时,服务器就能直接读缓存,大大提高上网速度。)

    17、客户机域名请求解析顺序

            1)DNS缓存(客户机自己的缓存)

            2)本地hosts文件

            3)找本地DNS服务器(ip配置哪里指定的首选DNS就是本地DNS服务器)

    18、DNS服务器对域名请求的处理顺序

            1)DNS高速缓存(服务器缓存)

            2)DNS区域解析文件(服务器自己负责的区域)

            3)DNS转发器 

            4)根提示 

            5)最后还是解析不了,返回请求超时

  • 相关阅读:
    Android11修改自动允许连接到建议的WLAN网络
    【Azure 事件中心】使用Azure AD认证方式创建Event Hub Consume Client + 自定义Event Position
    雅思 Band 7+ 预备课程
    烟感监控小技巧,这才是最高级的方法!
    INSERT DESC UPDATE SELECT
    .net framework中webapi使用swagger进行接口文档展示
    【Pytorch笔记】2.张量操作
    UG\NX二次开发 信息窗口的一些操作 NXOpen/ListingWindow
    1python模块和库
    el-form简单封装一个列表页中的搜索栏
  • 原文地址:https://blog.csdn.net/weixin_43263566/article/details/127658856