DNS主从服务器、转发(缓存)服务器
一、主从服务器
1、基本含义
DNS辅助服务器是一种容错设计,考虑的是一旦DNS主服务器出现故障或因负载太重无法及时响应客户机请求,辅助服务器将挺身而出为主服务器排忧解难。辅助服务器的区域数据都是从主服务器复制而来,因此辅助服务器的数据都是只读的,当然,如果有必要,我们可以很轻松地把辅助服务器升级为主服务器。辅助服务器从主服务器复制区域数据的过程叫“区域传送”。区域传送使用TCP的53号端口。
关于主从服务器,需要了解的是:
主服务器的区域解析库文件中必须有一条NS记录指向从服务器,辅助DNS是针对区域来说的;如果有多台DNS服务器,必须为每个DNS服务器建立NS记录,否则主DNS将不向其发送通知;
从服务器只需要定义区域,而无须提供解析库文件;解析库文件默认放置于/var/named/slaves/目录中。
主服务器得允许从服务器作区域传送。主从服务器时间应该同步,可通过ntp进行。bind程序的版本应该保持一致;否则,应该从高,主低。
2、区域传送内容
区域传送类型:完全区域传送(AXFR)、增量区域传送(IXFR)
(1)在新的配置过程中,目标服务器会向配置为区域源的主DNS服务器发送初始“所有区域”传送(AXFR)的请求;
(2)主(源)服务器作出响应,并将此区域完全传送到辅助(目标)服务器;
该区域发送给请求传送的目标服务器,通过启动SOA资源记录的属性中的“序列号”字段建立的版本一起传送。SOA RR也包含一个以秒为单位的状态刷新间隔(默认设置是900秒或15分钟),指出目标服务器下一次应该在何时请求使用源服务器来续订该区域
(3)刷新间隔到期时,目标服务器使用SOA查询来请求从源服务器续订此区域;
(4)源服务器应答其SOA记录的查询。该响应包括该区域在源服务器中的当前状态的序列号。
(5)目标服务器检查响应中的SOA记录的序列号并确定怎样续订该区域;
如果SOA响应中的序列号等于其当前的本地序列号,那么区域在两个服务器中都相同,并且不需要区域传送。然后,目标服务器根据来自源服务器的SOA响应中的该字段值重新设置其刷新间隔来续订该区域。
如果SOA响应中的序列号比其当前本地序列号要高,则可以确定此区域已更新并需要区域传送。
(6)如果这个目标服务器推断此区域已经更改,则它会把IXFR查询发送至源服务器,其中包括此区域的SOA记录中序列号的当前本地值。
(7)源服务器通过区域的递增传送或完全传送做出响应。
如果源服务器支持增量传送,则通过IXFR做出应答,否则通过AXFR做出应答。
二、转发(缓存)服务器
1、转发原理
(1)当本地DNS服务器(也是转发器)收到查询时,它会尝试使用本地数据解析和缓存数据解析该查询;
(2)如果不能使用本地数据解析查询,此时它作为客户端,会将查询转发给外网DNS服务器;
(3)本地DNS(转发器)收到客户端的请求后会等待一段很短的时间,等待来自外网DNS的应答;
(4)对于外网DNS来说,它接收到的查询请求是递归查询,此时,它自己需要向外层层迭代找到最终答案返回给转发器(此时转发器作为DNS客户端)
(5)转发器将外网DNS返回的查询结果送到客户端(非权威答案),完成解析过程。
2、常用转发模式
全局转发:
利用DNS转发,可以将用户的DNS请求,转发至指定的DNS服务,而非默认的根DNS服务器,并将指定服务器查询的返回结果进行缓存,提高效率。
注意:被转发的服务器需要能够为请求者做递归,否则转发请求不予进行。对非本机所负责解析区域的请求,全转发给指定的服务器。
在全局配置块中实现:
Options {
forward first|only;
forwarders { ip;};//如果有多个IP,按照轮询的模式进行转发。
};
特定区域转发:
仅转发对特定的区域的请求,比全局转发优先级高。
zone "ZONE_NAME" IN {
type forward;
forward first|only;
forwarders { ip;};
};
转发模式:
first:先转发至指定DNS服务器,如果无法解析查询请求,则本服务器再去根服务器查询
only: 先转发至指定DNS服务器,如果无法解析查询请求,则本服务器将不再去根服务器查询。
三、dig请求测试判断
观察flags的输出
没有出现aa,表示请求的查询是非本机负责的区域;
出现了ra,表示是通过转发解析到的域名。
相关文章:

DNS主从服务器、转发(缓存)服务器
一、主从服务器 1、基本含义 DNS辅助服务器是一种容错设计,考虑的是一旦DNS主服务器出现故障或因负载太重无法及时响应客户机请求,辅助服务器将挺身而出为主服务器排忧解难。辅助服务器的区域数据都是从主服务器复制而来,因此辅助服务器的数…...

第二十一章 网络编程
第二十一章 网络编程 1.网络相关概念2.IP地址3.域名与端口4.网络协议5.TCP与UDP6.InetAddress7.Socket8.TCP字节流编程19.TCP字节流编程210.TCP字节流编程311.网络上传文件112.网络上传文件213.网络上传文件314.Netstat15.TCP连接秘密16.UPD原理17.UPD网络编程118.UDP网络编程2…...

scratch新跳7游戏 2023年12月中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析
目录 scratch新跳7游戏 一、题目要求 1、准备工作 2、功能实现 二、案例分析...
三、C#面向对象编程(接口与实现)
在C#中,接口是一种定义方法但不包含实现的方式,可以被多个类实现以支持不同的行为。通过接口,我们可以定义一组标准的成员,让类遵循特定的契约。 下面是一个关于接口和实现的简单示例: // 定义一个接口 public inter…...

【java爬虫】股票数据获取工具前后端代码
前面我们有好多文章都是在介绍股票数据获取工具,这是一个前后端分离项目 后端技术栈:springboot,sqlite,jdbcTemplate,okhttp 前端技术栈:vue,element-plus,echarts,ax…...

Scikit-Learn线性回归(四)
Scikit-Learn线性回归四:梯度下降 1、梯度下降1.1、梯度下降概述1.2、梯度下降及原理1.3、梯度下降的实现2、梯度下降法求解线性回归的最优解2.1、梯度下降法求解的原理2.2、梯度下降法求解线性回归的最优解2.3、梯度下降法求解线性回归案例(波士顿房价预测)3、Scikit-Learn…...

SCT2330C——3.8V-28V输入,3A,低EMI,超低功耗同步降压DCDC转换器
描述: SCT2330C是3A同步buck变换器,输入电压范围高达28V,完全集成了80mΩ高压侧MOSFET和42mΩ低压侧MOSFET,提供高效降压DC-DC转换。SCT2330C采用峰值电流模式控制,集成补偿网络,通过最小化片外元件数量&a…...
php生成唯一ID的5种方法介绍
php生成唯一ID的5种方法介绍 工作中使用到唯一ID的场景非常多,如临时缓存文件、临时变量、临时安全码等。 uniqid()函数基于以微妙计的当前时间,生成一个唯一的ID。由于生成唯一ID与微妙时间关联,因此生成ID的唯一性非常可靠。 生成的唯一…...

向日葵远程工具安装Mysql的安装与配置
目录 一、向日葵远程工具安装 1.1 简介 1.2 下载地址 二、Mysql 5.7 安装与配置 2.1 简介 2.2 安装 2.3 初始化mysql服务端 2.4 启动mysql服务 2.5 登录mysql 2.6 修改密码 2.7 设置外部访问 三、思维导图 一、向日葵远程工具安装 1.1 简介 向日葵远程控制是一款用…...

Unity 欧盟UMP用户隐私协议Android接入指南
Unity 欧盟UMP用户协议Android接入指南 官方文档链接开始接入mainTemplate.gradle 中引入CustomUnityPlayerActivity 导入UMP相关的包java类中新增字段初始化UMPSDK方法调用测…...
AutoLisp入门教程
AutoLisp入门教程 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在编程的世界里,有许多领域和语言需要我们去探索,今天我们将聚焦于 AutoLI…...

matplotlib颜色合集——各种常见简单图形(上)
一、.颜色配图表 图文颜色引用:建站教程 - FINTHON 二、折线图 jupyter notebook 简介plot() 2.1折线图参数 plt.plot(*args, scalexTrue, scaleyTrue, dataNone, **kwargs) 2.2、参数介绍 x:X轴数据,列表或数组,可选。 y&a…...

小H靶场笔记:DC-3
DC-3 January 3, 2024 4:11 PM Tags:Joomla owner:只惠摸鱼 信息收集 探测靶机ip: 192.168.199.133 nmap 扫描端口、 系统版本 漏洞 发现只有80端口开发, 且有cve-2017-8917漏洞存在是Joomla的SQL注入漏洞 Joomla版本为3.7.0…...
Web网页开发-CSS高级技巧2-笔记
1.已知宽高垂直水平居中 定位负margin法: 利用top:50%;left:50%;margin-left:子盒子宽度的一半;margin-top:子盒子高度的一半; 2.不定宽高垂直水平居中 兼容性最好的方案: 用定位margin:auto,定位 四个方向的值相等margin:auto…...

C++面向对象语法总结(二)
目录 《C基础语法总结》《C面向对象语法总结(一)》 十一、继承 继承,可以让子类拥有父类的多有成员(变量、函数)如下面的代码:Student是子类(subclass,派生类),Person是父类&…...

【LeetCode每日一题】2487. 从链表中移除节点(调用栈+递归+翻转链表)
2024-1-3 文章目录 [2487. 从链表中移除节点](https://leetcode.cn/problems/remove-nodes-from-linked-list/)方法一:调用栈方法二:递归方法三:翻转链表 2487. 从链表中移除节点 方法一:调用栈 1.将所有节点按顺序压入栈中 2.从…...
开源协助平台工程灵活应对多云时代的挑战
平台工程通过标准化控制和灵活性保障了开发实践。但是,随着平台工程的兴起,开源战略又该如何融入其中呢? 虽然平台工程没有一刀切的方法,但越来越明显的是,开源软件和技术对平台工程的成功绝对至关重要——这一点我将在…...

Springboot通过profiles切换不同环境使用的配置
文章目录 简介1.通过分隔符隔离2.通过使用不同的配置文件区分3.测试 简介 一个项目从开发到上线一般要经过几个环境, dev测试环境-uat预生产环境-prod生产环境,每个环境的使用的数据库或者配置不同,这时候可以通过下面两种方式区分配置,达到快速切换的效…...
SpringBoot入门到精通-Spring Boot Jasypt Encrypt 演示
这是 spring boot 应用程序,展示了如何使用 Jasypt 加密值。 关于Jasypt Jasypt 为您提供简单的单向(摘要)和双向加密技术。开放 API,可与任何 JCE 提供程序一起使用,而不仅仅是默认的 Java VM 提供程序。Jasypt 可以很容易地与 Bouncy Castle 等知名提供商一起使用。了解…...
整数的阶乘(英语:factorial)是所有小于及等于
整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,0的阶乘为1。即:n!123...n。 实例 #!/usr/bin/python3 # Filename : test.py # author by : www.dida100.com # 通过用户输入数字计算阶乘 # 获…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...

《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...