DNS实验

DNS原理

  1. 客户端发起请求:客户端向本地 DNS 服务器发送域名解析请求,这是流程的起始点。
  2. 本地 DNS 服务器查询根域名服务器:若本地 DNS 服务器缓存中无对应记录,它向根域名服务器发起查询,根域名服务器是 DNS 系统顶层,掌握顶级域名服务器信息。
  3. 根域名服务器响应:根域名服务器告知本地 DNS 服务器,负责该域名顶级域名服务器的地址。
  4. 本地 DNS 服务器查询顶级域名服务器:本地 DNS 服务器向顶级域名服务器发送查询请求,顶级域名服务器管理如.com、.org 等顶级域名下的域名信息。
  5. 顶级域名服务器响应:顶级域名服务器告知本地 DNS 服务器,负责该域名的权威域名服务器地址。
  6. 本地 DNS 服务器查询权威域名服务器:本地 DNS 服务器向权威域名服务器查询,权威域名服务器存储具体域名的解析记录。
  7. 权威域名服务器响应:权威域名服务器将域名对应的 IP 地址返回给本地 DNS 服务器。
  8. 本地 DNS 服务器响应客户端:本地 DNS 服务器将获取的 IP 地址返回给客户端,客户端就能通过 IP 访问对应网络资源。

此外,客户端和本地 DNS 服务器间虚线关联本地 DNS 缓存、/etc/hosts 文件 ,本地 DNS 服务器配置文件是 /etc/resolv.conf ,这些在解析中起到辅助作用。

  1. 主dns要完成dns解析:192.168.164.128

[root@localhost ~]# yum install bind -y

[root@localhost ~]# systemctl  start named

named:它是 BIND(Berkeley Internet Name Domain)域名服务器软件的守护进程。
[root@localhost ~]# vim /etc/named.conf
named.conf 是 BIND(Berkeley Internet Name Domain)软件的主配置文件,BIND 是在互联网上广泛使用的 DN(Domain Name System)服务器软件,named.conf 文件用于控制 named 守护进程的行为

[root@localhost ~]# vim /etc/named.conf

1. options 部分

  • listen-on port 53 { any; };
    • 作用:指定 named 服务监听在 TCP 和 UDP 的 53 端口,并且监听所有本地 IP 地址。这意味着该 DNS 服务器可以接收来自任何网络接口的 DNS 请求。
  • directory "/var/named";
    • 作用:定义区域文件(记录域名相关信息的文件)的存储目录。BIND 会在这个目录下查找和存放相关的区域文件。需要确保 named 服务对该目录有读写权限。
  • allow-query { any; };
    • 作用:允许任何客户端发起 DNS 查询请求。
  • allow-transfer { 192.168.164.129; };
    • 作用:允许指定的 IP 地址(这里是 192.168.164.129 )进行区域传送。区域传送是指主 DNS 服务器将区域数据复制给从 DNS 服务器的过程。如果设置不当,可能会导致 DNS 数据泄露,所以要谨慎设置,只允许可信的从 DNS 服务器 IP 进行区域传送 。

2. 区域定义部分

  • zone "zhang.com." IN {
    • 作用:定义了一个名为 zhang.com. 的 DNS 区域,类型为 master(主区域) ,意味着这台服务器是该区域的主 DNS 服务器,负责维护和管理这个区域的 DNS 记录。
    • file "named.zhang.com";:指定该区域对应的区域文件名为 named.zhang.com ,这个文件应存放在前面 options 中定义的 directory 目录(/var/named )下,里面应包含 zhang.com 这个区域的具体 DNS 记录,如 A 记录(域名到 IP 地址映射)、MX 记录(邮件交换记录)等 。目前缺少具体的区域文件内容,需要创建并填充相关记录。
  • zone "164.168.192.in-addr.arpa" IN {
    • 作用:这是一个反向解析区域定义,in-addr.arpa 是用于 IPv4 反向地址解析的特殊域名。类型同样为 master 。反向解析是通过 IP 地址查询对应的域名,对于网络管理和安全审计等有重要作用。
    • file "named.192.168.164.zone";:指定该反向解析区域对应的区域文件 。

[root@localhost~]#cp -a /var/named/named.localhost /var/named/named.zhang.com

[root@localhost~]#cp -a /var/named/named.localhost /var/named/named.192.168.138.zone

vim  /var/named/named.zhang.com

vim  /var/named/named.192.168.164.zone

[root@localhost ~]# systemctl restart named

Job for named.service failed because the control process exited with error code.

See "systemctl status named.service" and "journalctl -xeu named.service" for details.

[root@localhost ~]# systemctl stop firewalld

从:192.168.164.129

[root@localhost ~]#  yum  install bind  -y

[root@localhost ~]# systemctl  start named

[root@localhost ~]# vim /etc/named.conf

options {

        listen-on port 53 { any; };

        directory       "/var/named";

        allow-query     { any; };

}

zone "zhang.com." IN {

type slave;

masters { 192.168.164.128; };
file “slaves/named.zhang.com”;};

zone "164.168.192.in-addr.arpa" IN {

 type slave;

masters { 192.168.164.128; };
file “slaves/named.192.168.164.zone”;

};

[root@localhost ~]# systemctl  restart named

[root@localhost ~]# systemctl stop firewalld

测试:

C:\Users\Legend>nslookup xixi.zhang.com 192.168.164.128

C:\Users\Legend>nslookup xixi.zhang.com 192.168.164.129

[root@localhost ~]# host xixi.zhang.com 192.168.164.128

[root@localhost ~]# host xixi.zhang.com 192.168.164.129

---------------增量

增量同步:

1、主:

tep1:往资源文件添加一行新的解析记录,(/var/named/named.zhang.com

和/var/named/named.192.168.164.zone )

tep2:序列号+1

tep3:[root@localhost ~]# systemctl restart named

2、从

手动增量同步

[root@localhost ~]# rndc refresh zhang.com

[root@localhost ~]# rndc refresh 164.168.192.in-addr.arpa

测试:

C:\Users\Legend>nslookup xixi.zhang.com 192.168.164.128

C:\Users\Legend>nslookup xixi.zhang.com 192.168.164.129

[root@localhost ~]# host xixi.zhang.com 192.168.164.128

[root@localhost ~]# host xixi.zhang.com 192.168.164.129

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/78223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQLMesh 通知系统深度解析:构建自动化监控体系

SQLMesh 是一款强大的数据编排工具,其内置的灵活通知系统可显著提升团队协作效率。本文将系统解读 SQLMesh 的通知机制,涵盖配置方法、事件触发逻辑及高级定制技巧。 一、通知系统的核心架构 1. 通知目标(Notification Targets) …

精益数据分析(20/126):解析经典数据分析框架,助力创业增长

精益数据分析(20/126):解析经典数据分析框架,助力创业增长 在创业和数据分析的学习道路上,每一次深入探索都可能为我们带来新的启发。今天,依旧带着和大家共同进步的想法,我们一起深入研读《精…

【OSG学习笔记】Day 8: 纹理贴图——赋予模型细节

在 OSG(Open Scene Graph)中,纹理贴图是为模型添加细节的关键技术,主要涉及纹理加载、UV 映射和多重纹理叠加三部分。 基础理论 纹理加载 纹理的作用,就是将2D图像映射到3D模型表面,增强视觉细节。 纹理类型与格式支持: OSG 支持多种图像格式,包括常见的 .jpg/.jpe…

基于事件驱动的云原生后端架构设计:从理念到落地

📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:微服务之后,事件驱动正在成为新范式 随着业务复杂度的提升,传统同步式微服务调用模式逐渐暴露出瓶颈:服务间耦合度高、并发能力有限、出错链路复杂。而在互联网业务、金融交易、物联网等场景中…

vue3:十一、主页面布局(修改顶部导航栏样式-右侧:用户信息+退出登录+全屏显示)

一、效果 完成效果,增加顶部导航栏,右侧用户信息(其中个人中心需要后续进行页面开发,这里只写了退出登录功能),以及全屏功能 二、搭建并引入右侧组件 将右侧内容封装到单独的组件,直接引入(像左侧导航条等内容也是可以做成这种形式) 1、新建右侧组件的页面 在layout中…

沁恒CHV203中断嵌套导致修改线程栈-韦东山

调试专题bug实例 2025年01月09日20点场 处理办法1:就是关闭中断嵌套 处理办法2: 使用原来的栈

Qt本地化 - installTranslator不生效

bool QCoreApplication::installTranslator(QTranslator *translationFile)注意这里输入的是QTranslator对象指针,如果QTranslator是局部变量,一旦离开其作用域就会导致翻译失效 错误代码示范: void ApplyTranslator(const QString& qmf…

Qt UDP组播实现与调试指南

在Qt中使用UDP组播(Multicast)可以实现高效的一对多网络通信。以下是关键步骤和示例代码: 一、UDP组播核心机制 组播地址:使用D类地址(224.0.0.0 - 239.255.255.255)TTL设置:控制数据包传播范围(默认1,同一网段)网络接口:指定发送/接收的物理接口二、发送端实现 /…

PCB封装主要组成元素

PCB(Printed Circuit Board,印刷电路板)封装是指将电子元件固定在 PCB 上,并实现电气连接的方式。主要包括以下几类。 1. 焊盘(Pad) 作用:焊盘是 PCB 封装中最重要的元素之一,它是…

前端基础之《Vue(8)—内置组件》

一、Vue2.0中的内置组件 1、<slot> 插槽 2、<keep-alive> 动态组件 被keep-alive所包裹的组件&#xff1a; &#xff08;1&#xff09;不会被销毁。 &#xff08;2&#xff09;还会多两个生命周期钩子&#xff1a;activated()、deactivated()。 &#xff08;3&a…

某大型电解铝厂电解系统谐波治理装置改造沃伦森电气

电解铝行业谐波治理解决方案——无源滤波装置优化升级&#xff0c;保障稳定运行 在电解铝生产过程中&#xff0c;谐波污染问题严重影响电网电能质量&#xff0c;甚至可能导致滤波装置损坏&#xff0c;引发群爆事故。河南登封某大型电解铝厂通过无源滤波装置智能化改造&#xff…

在 Ubuntu 环境为 Elasticsearch 引入 `icu_tokenizer

1. 为什么需要 ICU 分析插件 Elasticsearch 默认的 standard tokenizer 遵循 UAX #29 规则&#xff0c;但在 CJK&#xff08;中、日、韩&#xff09;等亚洲语言上仅能按字符切分&#xff0c;无法识别词边界&#xff1b;对包含重音符号、大小写或多脚本混排的文本也缺乏统一归一…

避免事件“穿透”——Vue 中事件冒泡的理解与解决方案

一、事件冒泡是什么&#xff1f; 事件冒泡指的是&#xff1a;当某个元素上的事件被触发后&#xff0c;事件会从该元素向其父级、祖先元素一直“冒泡”传递&#xff0c;直到 document。这意味着&#xff0c;如果父元素绑定了点击事件&#xff0c;子元素触发点击时也可能顺带触发…

【Java面试笔记:进阶】17.一个线程两次调用start()方法会出现什么情况?

1. 线程启动与异常 线程启动:Java 线程只能启动一次,通过调用 Thread 对象的 start() 方法。多次启动的后果:如果尝试第二次调用 start() 方法,会抛出 IllegalThreadStateException 运行时异常。(1) 代码示例 public class ThreadStartDemo {public static void main(Stri…

Flask + ajax上传文件(一)

一、概述 本教程将教你如何使用Flask后端和AJAX前端实现文件上传功能,包含完整的代码实现和详细解释。 二、环境准备 1. 所需工具和库 Python 3.xFlask框架jQuery库Bootstrap(可选,用于美化界面)2. 安装Flask pip install flask三、项目结构 upload_project/ ├── a…

NHANES指标推荐:TyG-WHtR

文章题目&#xff1a;Can cardiovascular health and its modifiable healthy lifestyle offset the increased risk of all-cause and cardiovascular deaths associated with insulin resistance? DOI&#xff1a;10.1186/s12933-025-02674-z 中文标题&#xff1a;心血管健康…

OpenHarmony 开源鸿蒙北向开发——hdc工具使用及常用命令(持续更新)

hdc&#xff08;OpenHarmony Device Connector&#xff09;是为开发人员提供的用于设备连接调试的命令行工具&#xff0c;该工具需支持部署在 Windows/Linux/Mac 等系统上与 OpenHarmony 设备&#xff08;或模拟器&#xff09;进行连接调试通信。简单来讲&#xff0c;hdc 是 Op…

MCP servers源码详细解析

MCP servers详细解析 Model Context Protocol (MCP) 是一个标准化协议&#xff0c;用于让大型语言模型&#xff08;LLMs&#xff09;通过结构化服务器安全地与工具和数据源交互。项目提供了 参考实现、官方集成和社区贡献的服务器&#xff0c;支持数据库、API、文件系统等场景…

美乐迪电玩大厅加载机制与 RoomList 配置结构分析

本篇为《美乐迪电玩全套系统搭建》系列的第三篇&#xff0c;聚焦大厅与子游戏的动态加载机制&#xff0c;深入解析 roomlist.json 的数据结构、解析流程、入口配置方式与自定义接入扩展技巧。通过本篇内容&#xff0c;开发者可实现自由控制子游戏接入与分发策略。 一、RoomList…

HarmonyOS-ArkUI: 属性动画:animation

HarmonyOS-ArkUI:关键帧动画 keyFrameAnimateTo-CSDN博客 HarmonyOS-ArkUI: animateTo 显式动画-CSDN博客 至今为止,已经讲了两个动画了(显式动画,关键帧动画如链接所示),这个属性动画是第三个。鸿蒙的属性动画,和Android中的属性动画,迥异,也就是名字不同罢了。所以之…