DNS服务-笔记

2023-11-17

DNS: 域名解析服务。
      PC访问DNS用的是  UDP  53端口;主辅同步数据用的是  TCP  53端口。    
     工作原理:当解析一台主机域名时,首先会访问电信、网通等提供的DNS服务器地址上的DNS服务器,去访问  .(根域),也就是根域(大概有13台),然后根域会返回( 返回给这个请求它的DNS服务器 )说知道com, cn  ,  org等域(也就是根与的子域),然后这时PC会拿这个域名(如: www.baidu.com )去访问根域提供的DNS服务器(也就是根的子域的服务器),这时就会提供baidu.com域的DNS服务器地址,然后PC访问这时的DNS服务器地址,从而找到baidu主机名对应的IP地址-- 最终的结果是由 PC 设置的 DNS服务器返回给PC的。(其中每一层返回的是DNS服务器,最终稿由PC中的DNS服务器返回给PC结果)
     此时PC就知道了 www.baidu.com  的IP地址
   
DNS的工作目录:
、   /var/named
配置文件中 type的类型
     1、hint;一般是作为根  不需要动
     2、master;表示为主DNS
     3、slave;表示:辅DNS。
 
    递归查询:PC查询NDS服务器的过程, 当PC向DNS索要一个主机名的IP地址时,不管这个DNS服务器知不道,都会向外一层一层的查询,直至查询出结果。     
     迭代查询:DNS从根域开始查找到找到主机名称作迭代查询

DNS服务器用到的软件是 : bind
     安装DNS需要的工具包:
chroot:也就是把一个目录当成根,用户看到的是根,但是服务器看到的是某一个目录。

1、拷贝对应的配置文件。
需要注意的: bind读取配置文件的时,是chroot过的,也就是把 /var/named/chroot/ 这个目录当成了根
而我们的配置文件都是在   /etc/ 下的,所以需要将  /etc/named*  文件都拷贝到  /var/named/chroot/etc/ 目录下。
     用到的配置文件: /var/named/ 在这个目录中的。
     DNS的工作目录:/var/named/ 但是但是:做了chroot,这个根就不是系统的根了,而是:/var/named/chroot/ ,这时工作目录其实就变成了:/var/named/chroot/var/named/
     其实:bind运行的时候因为做了chroot,会感觉是在根下运行的,其实是在 /var/named/chroot/ 这个目录下运行的。所以需要将 /etc/ 下的配置文件拷贝到  /var/named/chroot/ 目录下
第一次拷贝  etc  需要的配置文件

1-1、将系统/var/named 中的DNS用到的配置文件及目录拷贝到  chroot  对应的目录当中
     这里拷贝了  data/   dynamic/  slaves/   name.*  供4个
DNSd 工作目录是:/var/named/  但是 因为做了chroot、所以这里的根不是系统的根,而是: /var/named/chroot/var/named/
2、DNS的主配置文件。位置是:/var/named/chroot/etc/ 
2-1、options选项参数
2-1-1、listen-on  port  53  {any;};
#any表示任意网卡的,也就是如果有多张网卡都会监听各个网卡的53端口。
2-1-2、listen-on-v6  port  53  { ::1;};
#关于IPv6的信息,不用管
2-1-3、directory  "/var/named";
#如果创建文件没有指定目录,这个文件就存在这个目录中。这里设置的是chroot后的默认路径,也就是,这里的根并不是系统的根,真正的目录是:
/var/named/chroot/var/named/
2-1-4、dump-fiel   statistics-file   memstatistics-file  做的统计信息
#不用管
2-1-5、allow-query  { localhost; };##修改为any
#允许哪些主机可以访问,localhost是本机,any是任何主机,如果是网段:192.168.30.0/24
2-1-6、recursion  yes;
#是否开启递归查询。当收到访问时,会向外 其他的DNS查找域名对应的IP地址,从而告诉PC这个域
名对应的IP地址。如果 no ,则只会查询当前DNS服务器管理域中的主机。如果对设置的主机或网段
的主机为no,则当这些主机访问的时外网的域名主机时直接放回找不到,不会向外做迭代查询。
设置当no的时候,设置哪些主机可以做递归查询:
allow-recursion  { 192.168.30.250;};
#注意格式 后面都是分号。
2-1-7、dnssec-enable  yes;    dnssec-validation  yes;    dnssec-lookaside  auto;
#这是 dnssec 的密钥,不用多管,默认即可。

2-2、日志处理。

2-3、定义管理的 zone(区) 这个域只是做的正向解析
这IN是:intent的意思。
type的类型
     1、hint;一般是作为根  不需要动
     2、master;表示为主DNS
     3、slave;表示:辅DNS。
type:master;
##作用表明这台DNS为主DNS服务器,每个域中有2台,一台主,一台辅,平时都是访问主,一旦主有问题辅就会立即生效自傲,并且平时主辅之间的数据都是同步的。 这样就不会让整个网络崩溃
##zone  " kun.cc "  对 " kun.cc " 这个域来说是主DNS,同时也可以是另一台DNS的辅。
##这个DNS会维护这个域中的所有主机名与IP地址的对应关系。这个对应关系就是一个文件(记录所有主机与IP地址的对应关系)。file 的名字可以任意写。但是要注意:写这个对应关系文件时内的格式。

编写域中主机与IP地址的对应关系:这个配置文件是放下chroot后的named目录下的
第一行很特殊:必须按照特定的方式来写。
      以@开头[是个变量。也就是定义的   kun.cc 这个域名]  
     SOA[验证的起始]  server.kun.cc .[这个是当前的主机名,要注意后面的  点。如果没有这个点就变成了: server.kun.cc .kun.cc
      root@kun.cc .[邮箱地址,如果DNS出现了问题就会向这个邮箱发送邮件,邮箱地址后也必须要有一个 点]  
     ( 
        202111 #这是序列号,作用:主辅2台DNS之间,辅服务器用于判断是否更新配置,如果辅判断序列号比存储的序列号大,则更新到本机配置。否则就不会接收
        1D #刷新的时间1D就是一天,辅服务器就会询问主发送请求,询问是否有更新。
        1H #重试时间;如果未收到主服务器的恢复,则会1小时重试一次。
        1W #1周后重试取消。
        3H  # 缓存时间 
     )
第二行:有多少台主机,就需要写多少台主机对应的IP地址。这些都是手工写的。
      @          NS           server.kun.cc   ###一行
      server.kun.cc     A     192.168.197.131
      www.kun.cc      A     192.168.197.88
      ftp.kun.cc          A     192.168.197.110
第一列:域名
第二列:class
     IN:用的最多的。其他的2个用到的不多
第三列:type类型
     A:address
     PTR:做反向解析。指针记录
     CNME:别名
     MX:后面跟的是主机名,指明这个域中哪一台是电子邮件服务器。
     NS:nameserver:指明这个域中哪一台是DNS服务器。
第四列:值
编写主机IP地址对应关系文件的格式:(完整版)--- 主机名对应IP地址都是手动编写的
要特别注意的是:
1、因为@在文件中已经有特殊含义,是个变量,代表了当前的域  kun.cc (在named.conf文件中定义的)。而后面的邮件地址中的@就不能使用了,所以使用 .点 来表示,当系统读到的时候会自动将这个点转换成@。
2、并且,如果主机名后面  没有加点的话,系统会自动补上  .kun.cc.
     比如:www.rhce.cc   可以写成:www
3、如果下一行的的列与上一行的列一样,可以省略不写,但是如果不一样则必须写。
     比如:如果这样写就表示 ftp:有2个IP地址了,一个是192.168.30.1  一个是:192.168.30.2。如下:
编写主机IP地址对应关系文件的格式:(简写后)
$TTL: 表示存活期。黑色部分记录的存活期。

3、修改主机与IP地址对应关系文件的所属组  和  权限,否则启动服务时可能会报错。
      3-1、保存创建的文件属性。
      3-2、修改创建文件的所属组和权限;
如果不修改,启动服务的时候启动不起来。必须要注意主机与IP地址对应关系文件中的格式;
     3-3、如果启动服务时提示需要key;如果是--红帽  不需要---生成key的命令,
自己会生成这么个key,默认没有安装DNS后才有
     3-4、启动服务

4、添加防火强规则:
     DNS用的是   53端口 , 即有 TCP  , 也有  UDP :
当主辅DNS服务器进行数据同步的时候,使用的端口是TCP的53端口。
当客户端向DNS服务器查询主机名的时候,使用的端口是  UDP的 53端口。
      4-1、添加本地主机

     4-2、添加成功后查看域中的所有主机
          如果这是查询错误,是因为:4-1步骤中的本地主机没有添加。
     测试成功;需要注意的是,chroot/etc/named.conf 配置文件一定要配置正确,否则是解析不出来的

设置DNS反向解析,将IP地址转换成主机名
修改chroot后的 配置文件位置:/etc/named/chroot/etc/named.conf
type的类型
1、hint;一般是作为根  不需要动
     2、master;表示为主DNS
     3、slave;表示:辅DNS。
file "kun.cc.arpa" 这个文件所在目录是:chroot后的目录全目录是:注意文件权限必须是named
     /etc/named/chroot/var/named/
named目录下的:named.localhost 是个模版文件。创建主机名IP地址对应文件的时候可以拷贝这个文件,正向解析 和 反向解析都可以用这个模版文件。
反向解析

5、正向批量生成主机与IP地址的对应关系:特别要注意正向解析中的变量必须要与反向解析中的变量一致,否则反向解析不出对应的IP地址
      5-1、正向查看批量生成的主机IP对应关系
      5-2、反向解析批量生成
     5-2、反向查看解析批量生成的关系
      5-3、特别要注意的:

6、查询批量主机对应的IP地址---抓包

配置主辅DNS服务器---TSIG(事务签名)
这是在辅服务器操作的。---注意 zone 的格式。
除了添加zone(区)外还需要修改俩个地方
     1、 listen-on  port  53  {any;}; --- 在辅服务器操作
     2、 allow-query  { any; }; --- 在辅服务器操作
     3、在主服务器操作的 ,在options中添加  --- 一定要注意格式的正确
allow-transfer      { 192.168.197.100; };   ---指明将数据发送给谁。也就是指明辅服务器
重启辅服务器即可将数据同步到辅服务器。但是会存在问题:如果有其他电脑占用了10IP,就会将数据同步到其他电脑上,这时候就需要下面的解决方法。

TSIG(事务签名)
存在的问题:只设置了IP地址并不安全,生成辅服务器需要密钥才可以真正接收数据、
     生成密钥:
在服务端配置文件中配置密钥信息--需要修改为:
      allow-transfer      {  key  xx; };
其中  xx  为密钥名称可随意起。
这些都是在主服务器配置的。指明客户端必须有密钥才可以正常通信同步数据。

在辅服务器设置密钥:

试图: 当内网访问DNS的时候解析到的IP是内网的私有IP地址,而外网解析访问到的则是外网看到的。也就是同一个主机在一个DNS服务器上解析出2个IP地址 --- 并未实际操作里面的坑没有踩。 - -、
最下面2行 ,include  删除掉了。
当 aa 主机过来访问的时候,匹配的是  yy (上面)的试图,而当 bb 来访问的时候,匹配的是zz(下面)的试图--对应的  aa1.zone 需要再生成
需要做的:需要在对应的客户端上将DNS的服务地址改成  设置的DNS服务器IP地址

创建子域授权---如果要有子域,里面的事物需要删掉,不然可能会影响
1、在子(辅服务器)DNS服务上配置文件中
xx.zone的配置文件:

在主DNS服务器需要配置的--- 编辑的是aa.zone
aa.rhce.cc  ---指明子域中的DNS服务器是哪一台,然后再给这个DNS做一个解析。就可以了。
这时候,在子域解析主DNS服务器解析不出来,同样的在主服务器解析子域的DNS服务器也是解析不出来的。
修改主、子的配置文件
这是在子服务器其配置文件的修改
添加:forwarders { 192.168.30.250; }
     表明:子服务器解析不了的,转发给主服务器解析
这时候仍是子解析主服务器解析不成功,主服务器解析子服务器页是不成功,所以需要再将子、主服务器中的  三行 (蓝色部分) 注释掉。 最后2行  include 子、主都是删除掉的。?


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DNS服务-笔记 的相关文章

随机推荐

  • 第六周作业&实验报告四

    一 实验目的 1 掌握类的继承 2 变量的继承和覆盖 方法的继承 重载和覆盖的实现 二 实验的内容 1 根据下面的要求实现圆类Circle 1 圆类Circle的成员变量 radius表示圆的半径 2 圆类Circle的方法成员 Circl
  • 小甲鱼python学习笔记

    http fishc com 高级语言要编译成汇编语言才能被机器 然后再转换成二进制文件才能被机器所理解 idle window alt n 上一条命令 alt p 下一条命令 苹果mac ctrl n 上一条命令 ctrl p 下一条命令
  • 如何在线剪辑视频?手机视频怎样剪辑?

    在这个短视频当道的时代 大家都开始随手录制视频记录生活 一个视频从录制到发布 中间不可缺少的环节就是对视频的剪辑 想要做出高质量的视频 就少不了要在视频剪辑这一方面下功夫 有视频剪辑经验的小伙伴自然会选择使用PR等富有技术含量的软件 但是对
  • 关系型数据库特点分析

    1970年E F Codd发表的那篇阐述新型数据库设计方式的论文 数据管理技术才开始发生了巨大变化 特点分析 形式化的数学模型 使用关系代数来描述数据及数据间的关系 数据结构的逻辑排布方式同它们的物理存储方式相分离 消除数据异常 保证数据一
  • 互联网时代的营销方法

    随着新型互联网时代的到来 金融社会也跟随着发生剧变 出现了许多新兴的营销方式 他们或多或少都与互联网有着不可分离的关系 在这里 我简单向大家介绍几种我较为认可的营销方式 一 饥饿营销 饥饿营销是指商品提供者有意调低产量 以期达到调控供求关系
  • Java知识点二

    20世纪90年代 硬件领域出现了单片式计算机系统 这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意 因为使用它可以大幅度提升消费类电子产品 如电视机顶盒 面包烤箱 移动电话等 的智能化程度 Sun公司为了抢占市场先机 在1991年
  • 【概率论】大数定律

    概要 首先介绍了切比雪夫不等式 然后介绍大数定律概念和3种大数定律及证明 切比雪夫不等式 已知随机变量X的期望EX和方差DX 对 可得的一个上界 解释 不论X服从什么分布 X在E x 的 邻域内取值的概率不小于1 Dx 2 证明 本质 随机
  • echarts 配置问题

    饼图标签重叠 超出 series type pie name 数据来源 radius 40 60 avoidLabelOverlap true 是否启用防止标签重叠策略 minAngle 20 最小的扇区角度 0 360 用于防止某个值过小
  • leetcode算法刷题:长度最小的子数组

    目录 题目如下 输入输出 思路 题目链接 209 长度最小的子数组 力扣 LeetCode 题目如下 输入输出 思路 使用快慢指针 设置指针end 和start指针 一开始end和start从0开始 以及区间最小长度minLen变量设为In
  • java怎么把字符串转换成日期类型

    1 java怎么把字符串转换成日期类型 2 Java如何将指定字符串转化为指定日期格式 3 求JAVA高手解答 有关于字符串类型转换成日期型 4 Java中怎么把字符串转换成日期格式啊 5 java中怎样将字符串转换成日期形式存入数据库 j
  • 3分钟即可了解 FHub中转站文件摆渡新技能

    说到文件摆渡的方式 有很多种 比较传统一点的 像U盘拷贝 FTP等 自动化一点的 像网闸 网盘等 还有一些企业会通过一些技术手段进行摆渡 比如防火墙技术等 这些方式都能在一定程度上解决跨隔离网文件摆渡的问题 为什么这么说呢 且听下文分析 1
  • java中堆栈(stack)和堆(heap)(还在问静态变量放哪里,局部变量放哪里,静态区在哪里.....进来)...

    内存分配的策略 按照编译原理的观点 程序运行时的内存分配有三种策略 分别是静态的 栈式的 和堆式的 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求 因而在编 译时就可以给他们分配固定的内存空间 这种分配策略要求程序代码
  • 联想万全服务器告警信息在哪里看,华为网络设备查看告警信息

    检查设备是否出现故障以及近期是否有重要的告警信息 前提条件 已经完成登录设备 操作步骤 执行命令display alarm all 查看所有活动的硬件告警信息 以判断设备是否发生故障 display alarm all Info NO al
  • Python运维开发:基于openstack RestfulAPI上传镜像和创建云主机

    基础环境 python 脚本文件头建议加入 encoding utf 8 避免编码错误 测试脚本代码用python3命令执行与测试 在linux系统中安装Python3 并安装request等依赖包 配置 有一台搭建好的open stack
  • CSS3渐变

    以前我们如果想要做到一个颜色到另一个颜色的渐变 Gradients 效果 需要用ps之类的应用程序做出一张背景图片 然后放到元素上 这样子不仅麻烦 而且不利于代码的维护 当用户界面大小发生改变时 显示效果也不好 CSS3提供给了我们一种渐变
  • 正定Hermiltian矩阵分解的两种方法

    对于正定Hermiltian矩阵 B B B 想要求解 D D D 使其满足
  • 单价数量和总价的公式_小学数量关系计算公式汇总,收藏起来写作业不用翻书了!...

    点击上方蓝字 关注我们 要想数学学得好 就要公式记得牢 公式是为了孩子更好的解题来用的 很多孩子数学学习过程中经常出现 平时不记 考试捉急 的现象 虽然数学是一门非常注重逻辑思维能力的一个学科 但是想要取得好的成绩 离不开基础知识的掌握 只
  • 【经典】SpringBoot 过滤器和拦截器

    过滤器 创建过滤器 MyFilter 实现Filter接口 实现doFilter方法 在SpringbootwebApplication java中添加一个过滤器注册方法 具体实现如下 如果要不拦截静态资源 则可以在Filter中设置 当然
  • 项目架构图

    前言 前段时间一直在找工作 面试过程终于到了不少问题 有些是自己会的 有些是自己看过却无法整理出来的 说到底是理解不够透彻 记忆不够深刻 当然还有些是完全懵逼的 下面就来说下经常被问及 自己却无法当场整理出来的一个问题 那就是让你画出自己做
  • DNS服务-笔记

    DNS 域名解析服务 PC访问DNS用的是 UDP 53端口 主辅同步数据用的是 TCP 53端口 工作原理 当解析一台主机域名时 首先会访问电信 网通等提供的DNS服务器地址上的DNS服务器 去访问 根域 也就是根域 大概有13台 然后根