当前位置: 首页 > news >正文

windows server 2019 -DNS服务器搭建

前面是有关DNS的相关理论知识,懂了的可以直接跳到第五点。

说明一下:作为服务器ip最好固定下来,以DNS服务器为例子,如果客户机的填写DNS信息的之后,服务器的ip如果变动了的话,客户机都得跟着改,学过DHCP服务器的宝子都应该知道,不知道的宝子看我栏目的DHCP服务器博文,可以通过DHCP预留ip给指定服务器,此种方式在客户端是动态获取的,而且每次都会获取同一个ip,比较灵活。另一种是自己静态配置,如果客户机固定不动,静态配也行,但是如果客户机还会移动到别的网络环境下,那又得改ip比较麻烦。大家根据实际情况自行选择。

一、DNS

        域名解析服务器,国际比较通用的域名解析服务器有8.8.8.8 114.114.114.114。当然大型公司也有自己的域名解析服务器。域名解析服务器是将用户访问的域名找到其对应的服务器IP,然后将ip发送给用户。DNS服务是53端口号。

        域名解析查询的步骤:

                客户机:DNS缓存-本地host文件-本地服务器。

                服务器:DNS高速缓存--本地区域解析文件--转发器--根

二、域名概述

        如"www.qq.com"是一个完全限定域名(主机名.域名 )全球唯一,一般是我们嘴里的域名,但是严格来说,"qq.com"才被称为域名(全球唯一),而"www"是主机名。
        一个域名下可以有多个主机,域名全球唯一,那么"主机名.域名"肯定也是全球唯一的。
以"qq.com"域名为例,去网上查询一下我们能够看到有:

        1. http://www.qq.com:腾讯公司的官方网站;

        2. http://mail.qq.com:腾讯公司的邮箱服务;

        3. http://qzone.qq.com:腾讯公司的社交网络服;

        4. http://3g.qq.com:腾讯公司的3G网络服务。

        我们可以看到主机名有www/mail/qzone/3g,这些主机名是根据服务提供的服务来命名的。假设我有一台服务器(IP地址是 183.183.10.10)提供邮箱服务,我申请了一个域名叫fafa.com 那么我这台提供邮箱服务的机器的主机名就设置为mail,那么我的完全限定域名就叫做:mail.fafa.com。

        由此可见,我们的一个域名可以拥有多个完全限定域名。

三、域名的组成:

........四级域名,三级域名,二级域名,顶级域名,.根域名(一般不显示,www.qq.com.),越靠近(.根)域名的域名越值钱,越是后面的域名越不值钱。

如:www.baidu.com.
.为根域
com为顶级域(还有其他顶级域名:net,org,edu,gov,mil等)
baidu为二级域名
www为三级域名(主机名)

四、DNS服务器解析域名的过程

第一种是权威应答(递归查询)

        就是你的请求发送给指定的DNS服务器,而该服务正好能够解析出你请求域名的ip,就直接将域名解析的ip信息发给你,那么这就是权威应答。

此图中:

客户机向B服务器发送域名解析请求,B服务器查到了信息就直接发给了用户。

第二种是非权威应答(迭代查询)

        指定的服务器无法解析出你发送的域名请求时,最后经过一些列的操作得到的信息就是非权威应答。

此图中:

客户机想解析www.sohu.com时,信息发送给13.2.1.2这个域名解析服务器B,因为B只负责net的域名,com的域名解析不了,就找根(注意:不论谁,解析不了都找是直接找根,每一台DNS服务器都存有根服务的ip)。

根收到请求后,会从后开始查,一般只负责顶级域名的服务器,查询到com是42.6.1.8服务器C负责的,就把这个消息(服务器C的ip)发送给B,

B收到后就给服务器C发送请求, C收到后解析发现sohu不是自己管的,但是知道sohu是谁负责,就将管sohu的服务器E的ip发送给给B,

B再给E发送请求。 E找到域名对应的IP后会发给B,然后 B会缓存这个信息 并把这个信息发给客户机,此时就是非权威应答。

客户机也会缓存,客户机缓存还未清除的时候,再次访问sohu就不会再次解析了。

一般公司里面如果建立一台本地的域名解析服务器的话,最好是使用域名转发,让其他DNS域名解析器帮助解析,减轻本地域名解析服务的负担。当然如果不做域名转发的话,本地DNS解析器也是能通过上图,先找根,然后层层迭代,最终找到域名对应的ip的。

五、搭建DNS服务器

实验条件:windows server2019服务器+win 10客户机(均是虚拟机)

1,可以固定服务器的ip,也可以不固定。如果过动态分配IP的话,当前租的ip过期后,下次获取的可能不是同一个ip,这个静态ip可以用你现在服务器所在的ip,用ipconfig查询到的IP,填入下面即可固定。

2,安装DNS服务

打开服务器管理器--添加角色和功能--后面三步直接下一步

选择DNS服务器--添加功能--下一步 

安装完成

        此时的服务器是缓存服务器,前面第二个案例图提到过,DNS会做缓存,这样能提高我们上网的速度,具体解析的服务可以用域名转发的方式让别的服务器去做解析,这样又轻松又高效。

六、模拟客户机使用本地DNS服务器

        前提准备:服务器已经安装好了DNS服务,客户机和服务器在同一网段,这里两台服务器我选择的联网模式都是NAT,(如果不选择NAT,或者桥接的话-其实也就是无法连接外网的话,那么我们的DNS服务器就在解析不出域名的情况下,就不能访问到根,但是这不影响我们的此次实验,实验的目的是要完成客户机像DNS服务器发送域名解析的请求,并将结果返回给客户机,解析不出来也是一个结果。)

        1、DNS服务器新建一个区域

        这里创建的内容就是自己玩玩,也就是说在公司搭建的本地DNS服务器目的就是为了公司员工使用的,如果你离开了公司,就不一定能访问得到某域名了。

        2、客户机手动添加本地DNS服务器ip,

        现实工作中,会有DHCP服务器到时候就在DHCP服务里面取设置DNS的ip即可。

        3、测试(以下方式都可)

        相关命令:

ipconfig /flushdns 清除DNS缓存
ipconfig /displaydns 查看DNS缓存

        1)在客户机上测试使用ping命令:ping命令是要先解析域名,再发送请求包,因此可以检测域名解析服务器是否生效。前面我配的mail.qiqiu.com 对应的ip是私有ip,同时和我现在客户机不在同网段,因此是ping不通的。

客户机上已经有了这个mail.qiqiu.com的缓存记录

        2)在客户机上测试使用nslookup查询

        3)查看客户机和DNS服务器上的缓存

在客户机上ping qq.com

在客户机上ping baidu.com

前面说过,ping命令是要有域名解析这个过程的,因此能留下缓存。

七、模拟域名转发

        域名转发:前面提到过,就是自己解析不了的,给到指定的另一台域名解析服务器,因此这里我克隆了windows server 2019,作为另一台域名解析服务器(模拟互联网上的非本地的服务器),联网模式我这里选的是桥接。

1)添加第二台DNS服务器器

        在另一台(互联网)DNS服务器上新建正向查找区域,步骤和前面一样,这里我将区域名设定为baidu.com,主机名设为www

2)本地服务器添加转发指向

(对于本地服务器来说,就是说我解析不了,我让我指定的对象去解析--甩保留再说)

3)验证

客户机端输入nslookup查看和ping www.baidu.com

八、反向解析

        反向解析就是已知ip,获取域名的过程,在前面使用nslookup的时候,就存在这么一个过程,客户机在服务器在发送解析的内容之前,还会贱贱的发送了一个反向解析的请求,就是想知道解析域名的服务器的域名叫什么。就是下图黄色框标记出的一段内容,由于服务器没有配这个反向解析,所以就没做应答。

        反向解析对于安全来说是起到一定作用的,当一个ip给你发送数据,你请求反向解析能够验证该IP是不是你心目中的那个域名,如果不是就可能是别人冒充的。

接下来为DNS服务器配这个反向解析

1)为服务器创建域名

        给服务器一个域名dns01.zhuzhu.com,步骤和前面创建正向区域一样,只不过ip设置的时候要设置为服务器的ip。右击正向查找区域--新建区域--输入区域名称(zhuzhu.com)--默认下一步,完成;右击新建的区域--新建主机A如下图:

2)添加反向查找区域

右击反向查找区--域新建区域--下一步--主要区域(下一步)--下一步--输入网络ID--后面都是下一步--完成(此过程需要注意的地方已截图,其他都是下一步)

3)添加指向

右击前面新建的反向查找区域--新建指针--重要的已经截图,其他都是下一步

创建完成,此时使用nslookup 就会生效。

九、别名

CName是给域名取一个别名,取别名是为了方便客户能快速访问到自己。如图所示:

在本地DNS服务器的区域上新建别名

在客户机上验证:

相关文章:

windows server 2019 -DNS服务器搭建

前面是有关DNS的相关理论知识,懂了的可以直接跳到第五点。 说明一下:作为服务器ip最好固定下来,以DNS服务器为例子,如果客户机的填写DNS信息的之后,服务器的ip如果变动了的话,客户机都得跟着改&#xff0c…...

使用 XCTest 进行 iOS UI 自动化测试

使用 XCTest 进行 iOS UI 自动化测试是一种有效的方法,可以帮助你验证应用界面的行为和功能。以下是使用 XCTest 进行 iOS UI 自动化测试的基本步骤: 设置项目: 确保你的 Xcode 项目已经包含了 XCTest 测试目标。在测试目标中创建一个新的测试类&#xf…...

【Python】FANUC机器人OPC UA通信并记录数据

目录 引言机器人仿真环境准备代码实现1. 导入库2. 设置参数3. 日志配置4. OPC UA通信5. 备份旧CSV文件6. 主函数 总结 引言 OPC UA(Open Platform Communications Unified Architecture)是一种跨平台的、开放的数据交换标准,常用于工业自动化…...

Linux 中断处理

一、基本概念 1、中断及中断上下文 中断是一种由硬件设备产生的信号,不同设备产生的中断通过中断号来区分。CPU在接收到中断信号后,根据中断号执行对应的中断处理程序(Interrupt Service Routine) 内核对异常和中断的处理类似&a…...

人大金昌netcore适配,调用oracle模式下存储过程\包,返回参数游标

using KdbndpConnection conn new KdbndpConnection("Host192.168.133.221;Port54321;Databasedb1;Poolingtrue;User IDsystem;Password123");conn.Open();//存储过程调用也是类似using var cmd conn.CreateCommand();cmd.CommandText "模式.包名称.存储过程…...

pandas常用的一些操作

EXCLE操作 读取Excel data1 pd.read_excel(excle_dir) 读Excel取跳过前几行: data1 pd.read_excel(excle_dir,skiprows1) 获取总行数 data1.shape[0] 获取总列数 data1.shape[1] 指定某列数据类型 data1 pd.read_excel("C:数据导入.xlsx",dtype…...

【鸿蒙开发】系统组件Row

Row组件 Row沿水平方向布局容器 接口: Row(value?:{space?: number | string }) 参数: 参数名 参数类型 必填 参数描述 space string | number 否 横向布局元素间距。 从API version 9开始,space为负数或者justifyContent设置为…...

Hadoop和zookeeper集群相关执行脚本(未完,持续更新中~)

1、Hadoop集群查看状态 搭建Hadoop数据集群时,按以下路径操作即可生成脚本 [test_1analysis01 bin]$ pwd /home/test_1/hadoop/bin [test_01analysis01 bin]$ vim jpsall #!/bin/bash for host in analysis01 analysis02 analysis03 do echo $host s…...

蓝桥杯算法题:栈(Stack)

这道题考的是递推动态规划,可能不是很难,不过这是自己第一次靠自己想出状态转移方程,所以纪念一下: 要做这些题目,首先要把题目中会出现什么状态给找出来,然后想想他们的状态可以通过什么操作转移&#xf…...

JavaWeb-监听器

文章目录 1.基本介绍2.ServletContextListener1.基本介绍2.创建maven项目,导入依赖3.代码演示1.实现ServletContextListener接口2.配置web.xml3.结果 3.ServletContextAttributeListener监听器1.基本介绍2.代码实例1.ServletContextAttributeListener.java2.配置web…...

系统架构设计基础知识

一. 系统架构概述系统架构的定义 系统架构(System Architecture)是系统的一种整体的高层次的结构表示,是系统的骨架和根基,支撑和链接各个部分,包括构件、连接件、约束规范以及指导这些内容设计与演化的原理&#xff0…...

Vue自定义指令介绍及使用方法

介绍​ 除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外,Vue 还允许你注册自定义的指令 (Custom Directives)。 之前已经介绍了两种在 Vue 中重用代码的方式:组件 和 组合式函数。组件是主要的构建模块,而组合式函数则侧重于有状态…...

React 组件生命周期函数的用法和示例代码

React 中的生命周期函数可以分为三个阶段:Mounting(挂载),Updating(更新)和 Unmounting(卸载)。每个阶段都有不同的函数,用于执行不同的操作。 Mounting(挂载…...

【nginx运维】[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

关于nginx端口被占用的问题: If you get following error, when you try to start nginx… [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) Then it means nginx or some other process is already using port 80. You can kill it using: su…...

浏览器工作原理与实践--虚拟DOM:虚拟DOM和实际的DOM有何不同

虚拟DOM是最近非常火的技术,两大著名前端框架React和Vue都使用了虚拟DOM,所以我觉得非常有必要结合浏览器的工作机制对虚拟DOM进行一次分析。当然了,React和Vue框架本身所蕴含的知识点非常多,而且也不是我们专栏的重点&#xff0c…...

arm工作模式、arm9通用寄存器、异常向量表中irq的异常向量、cpsr中的哪几位是用来设置工作模式以及r13,r14,15别名是什么?有什么作用?

ARM 首先先介绍一下ARM公司。 ARM成立于1990年11月,前身为Acorn计算机公司 主要设计ARM系列RISC处理器内核 授权ARM内核给生产和销售半导体的合作伙伴ARM公司不生产芯片 提供基于ARM架构的开发设计技术软件工具评估版调试工具应用软件总线架构外围设备单元等等CPU中…...

电脑上音频太多,播放速度又不一致,如何批量调节音频播放速度?

批量调节音频速度是现代音频处理中的一个重要环节,尤其在音乐制作、电影剪辑、有声书制作等领域,它能够帮助制作者快速高效地调整音频的播放速度,从而满足特定的制作需求。本文将详细介绍批量调节音频速度的方法、技巧和注意事项,…...

pe格式从入门到图形化显示(十)-扩展最后一个节

文章目录 前言一、怎么扩展最后一个节?二、扩大节1.扩展节2.保存文件 前言 通过分析和解析Windows PE格式,并使用qt进行图形化显示 一、怎么扩展最后一个节? 在PE文件中,扩大最后一个节通常是通过修改PE文件头中的节表来实现的。…...

设计模式之创建型模式---建造者模式

文章目录 建造者模式概述经典的建造者模式建造者模式的变种总结 建造者模式概述 建造者模式是一种广泛使用的设计模式,在三方开源库和各种SDK中经常见到。建造者设计模式在四人帮的经典著作《设计模式:可复用面向对象软件基础》中被提及,它的…...

如何从零开始训练一个语言模型

如何从零开始训练一个语言模型 #mermaid-svg-gtUlIrFtNPw1oV5a {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-gtUlIrFtNPw1oV5a .error-icon{fill:#552222;}#mermaid-svg-gtUlIrFtNPw1oV5a .error-text{fill:#5522…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...