DNS域名解析详细说明_本地域名服务器域名解析次数-程序员宅基地

技术标签: css  html5  html  

目录

一、DNS系统

(一)、DNS概述

(二)、DNS的定义

(三),DNS系统的作用

二,DNS系统类型

缓存域名服务器

主域名服务器

从域名服务器

本地名称解析配置文件:hosts

 三,DNS查询类型及原理

3.1查询方式

3.2查询原理过程

(四),正向解析

4.1SOA记录

4.2NS记录

4.3MX记录

4.4A记录

4.5PTR记录

4.6CHAME别名记录

五,安装配置过程

六,反向解析

​七,主从复制 

 八,分离解析

8开启centos的缓存

九,总结


一、DNS系统

(一)、DNS概述

在日常生活中人们习惯使用域名访问服务器,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个Ip地址不一定只对应一个域名,且一个域名只可以对应一个Ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。

(二)、DNS的定义

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

(三),DNS系统的作用

正向解析:根据域名查找对应的IP地址

反向解析:根据IP地址查找对应的域名

DNS系统的分布式数据结构

1、根域 位于域名空间最顶层,一般用一个 “.” 表示

2、顶级域 一般代表一种类型的组织机构或国家地区, 如:.net (网络供应商)、.com(工商企业)、.org(团体组织)、 .edu(教育机构)、.gov(政府部门)、.cn(中国国家域名)

3、二级域 用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com .cn .net .cn .edu .cn

4、子域 二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名

5、主机 主机位于域名空间最下层,就是一台具体的计算机 如:www、mail 都是具体的计算机名字,可用www.sina.com.cn. 、mail.sina.com.cn. 来表示,这种表示方式称为FQDN(完全合格域名),也是这台主机在域名中的全名。

二,DNS系统类型

缓存域名服务器

   也称为DNS高速缓存服务器

  通过向其他域名服务器查询获得域名->IP地址记录

  将域名查询结果缓存到本地,提高重复查询时的速度

主域名服务器

特定DNS区域的权威服务器,具有唯一性

负责维护该区域内所有域名>IP地址的映射记录

需要自行建立所负责区域的地址数据文件

从域名服务器

也称为辅助域名服务器,时对主域名服务器的热备份

其维护的域名->IP地址记录来源于主域名服务器

需要从主域名服务器自动同步来源于主域名服务器

本地名称解析配置文件:hosts

在不同系统中,存放本地名称解析配置文件的地址不同,例如Linux和windows

Linux:/etc/hosts

windows:c/windows/system32/drivers/etc/hosts

  可以通过rpm -q --scripts bind 查看安装的脚本

再通过grep name /etc/services进行过滤端口

 三,DNS查询类型及原理

3.1查询方式

递归查询:一般指客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,

若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)

迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对

方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起

进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需

要发起多次查询。(需要自己动手)

3.2查询原理过程

正向解析查询过程:1.先查看本机的缓存记录

2.查询hosts文件

3.查询DNS域名服务器,交给DNS域名服务器处理(以上为递归查询)

4.这个DNS服务器可能时本地域名服务器,也有个缓存,如果直接有结果就返回,没有就进行下一步

5.求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器

6.求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器

7.求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器

8.本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端

(四),正向解析

区域解析库:由众多资源记录RR组成

记录类型:A,AAAA,PTR,SOA,NS,CHAME,MX

A(internet Address):作用,域名解析成IP地址

AAAA(FQDN): --> IPV6

PTR(PoinTeR):反向解析,ip地址解析成域名

SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解

析库的第一条记录SOA,是起始授权机构记录,说明了在众多 NS 记录里哪一台才是主要的服务器。在任何DNS记录文件中,都是以SOA ( Startof Authority )记录开始。SOA资源记录表明此DNS名称服务器是该DNS域中数据信息的最佳来源。

MX(Mail eXchanger)邮件交换器

CNAME : Canonical Name,别名记录

4.1SOA记录

name:当前区域名字,例如“lgy.com.”

vlaue:由多个部分组成

注意:

  1. 当前区域的主DNS服务器的正向解析,也可以使用当前区域的名字

  2. 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换

  3. 主从服务区域传输相关定义及否定的答案的TTL

$TTL 1D
@       IN SOA  master.kgc.com. admin.kgc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

4.2NS记录

name: 当前区域的名字

value: 当前区域的某DNS服务器的名字,“ns.lgy.org”

相邻的两个资源记录的name相同,可以省略后面的

一个区域可以有多个NS记录

master IN NS lgy.com.

master IN NS lgy.com.

4.3MX记录

name: 当前区域的名字

value: 当前区域的某邮件服务器(smtp服务器)的主机名

一个区域内,MS记录可有多个,但是每个记录的value之前应该有个数字(0-99),表示此服务器的优先级,数字越小优先级越高

对于MS记录来说,任何服务器的名字后面都应该在后续有个A记录

mail IN MX 10 xm1.lgy.org
mail IN MX 10 xm2.lgy.org
mx1 A   192.168.77.10
mx1 A   192.168.77.102

4.4A记录

name:某主机的域名服务器

value:主机名对应主机的IP地址

为了避免错误,需要通过泛域名解析进行解析到特定地址

www.lgy.com. IN   A 4.4.4.4
* IN A 5.5.5.5
#代表泛域名
@   IN   A 6.6.6.6
#代表不需要名字

4.5PTR记录

name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in.addr.arpa.,所以完整写法为:4.3.2.1.in-addr.arpa.
value: FQDN

4.6CHAME别名记录

name:别名的FQDN

value:真正名字的FQDN

固定格式
name    [TTL]      IN         rr_type      value
        缓存时间    Internet   区域解析库      值
$TTL 1D                                            #有效解析记录的生存周期
@   in SOA benet.com. admin.benet.com. (   #“@"符号表示当前的DNS区域名
                     0   ; serial              #更新序列号,可以是10位以内的整数
                    1D   ; refresh             #刷新时间,重新下载地址数据的间隔
                    1H   ; retry               #重试延时,下载失败后的重试间隔
                    1W   ; expire              #失效时间,超过该时间仍无法下载则放弃#
					3H)  ; minimum             #无效解析记录的生存周期,
        NS      benet.com.                     #记录当前区域的DNS服务器的名称
        A     192.168.80.10                   #记录主机IP地址
IN   MX 10    mail.benet.com.            #MX为邮件交换记录,数字越大优先级越低
www  IN A     192.168.80.10              #记录正向解析www.benet.com对应的IP
mail IN A     192.168.80.11              #MX为邮件交换记录,数字越大优先级低 
ftp  IN CNAME  www                       #CNAME使用别名,ftp 是www的别名
*    IN A   192.168.80.100               #泛域名解析,“*"代表任意主机名

五,安装配置过程

配置之前需要进行主软卷和配置包管理软件的安装。

需要将防火墙和系统安装保护进行关闭,并且需要开启一下服务。

 ens33中设置的需要将DNS地址改为本机地址127.0.0.1这边一定要更改!!!   

网卡进行配置后,需要重启网卡才能生效:

systemctl restart network  重启网卡服务

更改网卡配置如下:
配置完成后,可以在cat /etc/resolv.conf 下查看是否能够生效:

 完成后可以ping一下www.baidu.com,查看是否能够通信

 此时就是安装了一个bind其它的操作没有,ping通百度的原因是每个根域自带十三台根域服务器。

切换到客户机上,需要将防火墙和系统安装保护进行关闭

 对网卡进行更改:

 进入编辑器后编辑DNS:

 编辑完成后,重启一下服务会发现不可解析:用ping会发现未知的名称,用host会出现超时

切换到服务器:

 可以rpm查看一下配置文件包,会看见conf结尾的为配置文件:

找到配置文件后,需要进行编辑配置文件:

配置监听53端口为any,允许查询改为any:

 完成配置,进行DNS服务的重启:

设置完成后可以到客户机上进行host测试:

 会发现可以解析域名。

内部DNS搭建:

进行区域的编辑,以便于管理:

进入后进行复制模板粘贴到模板最前方,进行编辑:

 完成后wq保存退出。

切换到cd /var/named,进行拷贝保存

进入./lgy.com.zone进行编辑:

 配置解释如下:

$TTL 1D                                            #有效解析记录的生存周期
@   in SOA benet.com. admin.benet.com. (   #“@"符号表示当前的DNS区域名
                     0   ; serial              #更新序列号,可以是10位以内的整数
                    1D   ; refresh             #刷新时间,重新下载地址数据的间隔
                    1H   ; retry               #重试延时,下载失败后的重试间隔
                    1W   ; expire              #失效时间,超过该时间仍无法下载则放弃#
					3H)  ; minimum             #无效解析记录的生存周期,
        NS      benet.com.                     #记录当前区域的DNS服务器的名称
        A     192.168.80.10                   #记录主机IP地址
IN   MX 10    mail.benet.com.            #MX为邮件交换记录,数字越大优先级越低
www  IN A     192.168.80.10              #记录正向解析www.benet.com对应的IP
mail IN A     192.168.80.11              #MX为邮件交换记录,数字越大优先级低 
ftp  IN CNAME  www                       #CNAME使用别名,ftp 是www的别名
*    IN A   192.168.80.100               #泛域名解析,“*"代表任意主机名

再重启一下服务:

完成后到客户端进行解析: 

六,反向解析

先修改服务器配置区域配置文件

zone "91.168.192.in-addr.arpa" IN {
        type master;
        file "lg.com.zone";
        allow-update { none; };

进行编辑反向解析文件:

 进入vim编辑:

编辑完成后,可以切换到客户机进行host查询DNS

七,主从复制 

环境搭建:配置主服务器地址为:192.168.22.100

                配置从服务器地址为:192.168.22.102

先配置从服务器,需要将防火墙和安全子系统关闭,

 再进行下述操作,及逆行安装bind软件(无论主从服务器都需要安装!!!!)

由于我之前已经安装就跳过此步骤:

 进行配置文件的编写,端口监听改为任何人:

进入编辑器后,需要进行更改配置:

更改完后,进入编辑器

 需要申明主服务器地址

 启动一下配置文件:

此时可以cd到var下查看一下配置文件:

 

 进行主服务器的配置:

进行端口监听放行所有人:

 进入vim编辑器进行编辑:

 设置为主服务器:

编辑完成后编辑文件,先要进行复制模板:

 

  完成后保存退出。启动系统:

 完成后可以进行验证:

 八,分离解析

添加一块网卡将其改为仅主机模式,两块快网卡都需要改为仅主机模式。

接下来进行配置:

将ens33的网卡复制到成ens37,并且修改配置

重启一下服务

 

 选择两台windows计算机将其设置地址:

例如windows7设置,设置完成后测试一下网络连通性。

 

另外一台设置如下:

 

 完成windows配置 

 回到linux中继续编辑

将其监听改为any

 需要将下面的配置文件进行删除,如果不删除会出现不必要的问题哦!!

 编辑配置文件,

 

配置信息:

view "lan" {
        match-clients { 192.168.100.0/24; };
		#匹配网段
        zone "kgc.com" IN {
          type master;
          file "kgc.com.lan";
        };

        zone "." IN {
          type hint;
          file "named.ca";
        };

};

view "wan" {
        match-clients { 12.0.0.0/24; };
        zone "kgc.com" IN {
          type master;
          file "kgc.com.wan";
        };

        zone "." IN {
          type hint;
          file "named.ca";
        };

};

 

编辑完成后保存退出,进行复制模板文件并进行编辑

 复制后进行编辑网络地址

 相同操作进行另一台windows的编辑:

vim lgy.com.wan进行编辑

进入windows进行解析:

 

 

 

8开启centos的缓存

 

CentOS 默认没有启用DNS客户端缓存,安装nscd(Name Service Cache Daemon,名称服务缓存守护进

程)包可以支持DNS缓存功能减少DNS服务器压力,提高DNS查询速度

 

[root@centos7 ~]#yum -y install nscd
[root@centos7 ~]#systemctl enable --now nscd
#查看缓存统计信息
[root@centos7 ~]#nscd -g
#清除DNS客户端缓存
[root@centos7 ~]#nscd -i hosts

九,总结

学习了正向解析,反向解析,主从解析和分离解析,需要掌握。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_60353617/article/details/120526591

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法