linux笔记(DNS)

一、概念
  1. DNS(Domain Name System)
    DNS 是一种分布式网络目录服务,主要用于将人类易于记忆的域名(如 www.example.com)转换为计算机可识别的 IP 地址(如 192.168.1.1)。它就像是互联网的电话簿,使得用户无需记住复杂的 IP 地址就能访问网络资源。

  2. 域名层次结构
    域名是按照层次结构组织的。
    从右到左依次为顶级域名(TLD,如.com、.org、.net 等)、二级域名(如 example 在 example.com 中)、子域名(如 www 是 example.com 的子域名)等。这种层次结构有助于 DNS 系统的分布式管理和查询。

  3. DNS 服务器类型

    • 根 DNS 服务器:位于 DNS 层次结构的顶端,主要负责引导查询到相应的顶级域名服务器。全球共有 13 组根 DNS 服务器(以字母 A - M 命名),它们存储了所有顶级域名服务器的信息。
    • 顶级域名服务器:负责管理顶级域名相关的 DNS 信息,例如.com 顶级域名服务器知道哪些服务器负责处理.com 域名下的二级域名解析。
    • 权威 DNS 服务器:对于特定域名,权威 DNS 服务器存储着该域名及其子域名的准确 DNS 记录,是最终提供域名解析结果的服务器。
    • 本地 DNS 服务器:一般由互联网服务提供商(ISP)提供,用于缓存 DNS 查询结果,并在一定程度上减少对上级 DNS 服务器的查询次数,提高查询效率。
二、运行过程

  1. 递归查询与迭代查询

    • 递归查询当客户端向本地 DNS 服务器发起域名查询时,如果本地 DNS 服务器没有所需的域名 - IP 映射信息,它会代替客户端向其他 DNS 服务器查询,直到获得结果或者查询失败。整个过程对客户端来说是透明的,客户端只需要等待本地 DNS 服务器返回最终结果。
    • 迭代查询:当 DNS 服务器收到一个域名查询请求时,如果它没有对应的记录,它会向客户端返回一个它认为可能有该信息的其他 DNS 服务器的地址,而不是继续代替客户端查询。客户端需要根据返回的信息继续向其他 DNS 服务器查询。
  2. 查询步骤示例

    • 假设客户端要访问 www.example.com。客户端首先向本地 DNS 服务器发送递归查询请求。
    • 本地 DNS 服务器在缓存中查找,如果没有找到,它向根 DNS 服务器发起迭代查询。
    • 根 DNS 服务器根据域名的顶级域名(.com),返回.com 顶级域名服务器的地址给本地 DNS 服务器。
    • 本地 DNS 服务器向.com 顶级域名服务器发起迭代查询,.com 顶级域名服务器根据域名中的二级域名(example)返回负责 example.com 的权威 DNS 服务器地址。
    • 本地 DNS 服务器向权威 DNS 服务器发起迭代查询,权威 DNS 服务器如果存在 www.example.com 的记录,就将其对应的 IP 地址返回给本地 DNS 服务器。
    • 本地 DNS 服务器将结果缓存起来,并将 IP 地址返回给客户端。

 

三、配置文件

  1. 主配置文件(通常为 /etc/named.conf)
    • 全局配置部分:包括设置 DNS 服务器的运行参数,如监听的 IP 地址和端口(一般为监听 53 端口)、允许查询的客户端范围等。例如:
options {listen-on port 53 { 127.0.0.1; };allow-query     { localhost; };recursion yes;
};

这里设置 DNS 服务器在本地环回地址(127.0.0.1)的 53 端口监听,只允许本地(localhost)查询,并且开启递归查询功能。

  • 一般需要修改三部分:

    • listen-on port 53 { 127.0.0.1; }; 即监听ip及端口

    • allow-query { localhost; }; 允许那些客户端访问

    • recursion yes; 是否开启递归查询

  • 区域配置部分:定义了 DNS 服务器负责解析的域名区域。例如:
zone "example.com" IN {type master;file "example.com.zone";allow-update { none; };
};

此配置表示这是一个名为 example.com 的主区域,区域数据存储在 example.com.zone 文件中,并且不允许动态更新。

  1. 区域数据文件(如 example.com.zone)
    • SOA(Start of Authority)记录:是区域数据文件的开头部分,包含了该区域的重要信息,如域名、主服务器名称、管理员邮箱、序列号等。例如:
$TTL 86400
@       IN      SOA     ns1.example.com. admin.example.com. (2024010101 ; serial3600       ; refresh1800       ; retry604800     ; expire86400 )    ; minimum

这里定义了域名的生存时间(TTL)为 86400 秒,SOA 记录中的其他参数控制了从服务器与主服务器之间的同步等相关信息。

  • NS(Name Server)记录:指定了该区域的权威 DNS 服务器名称。例如:@ IN NS ns1.example.com. 表示 example.com 区域的权威 DNS 服务器是 ns1.example.com。

  • A(Address)记录和 AAAA(IPv6 Address)记录:分别用于将域名映射到 IPv4 地址和 IPv6 地址。例如:www IN A 192.168.1.1 表示 www.example.com 的 IPv4 地址是 192.168.1.1。

  • CNAME(Canonical Name)记录:用于为域名创建别名。例如:ftp IN CNAME www.example.com 表示 ftp.example.com 是 www.example.com 的别名。

  • MX(Mail Exchanger)记录:用于指定邮件服务器。例如:@ IN MX 10 mail.example.com 表示 example.com 域的邮件服务器是 mail.example.com,优先级为 10。优先级数字越小,优先级越高。

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

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

相关文章

优衣库在淘宝平台的全方位竞品分析与店铺表现研究:市场定位与竞争策略透视

优衣库品牌在淘宝平台的全方位竞品与店铺表现分析 一、品牌商品分析 1.商品列表与分类分析(数据来源:关键词商品搜索接口;获取时间:2024.08.30) 商品类别分布柱状图: 根据关键词商品搜索接口获取到的优衣…

RocketMQ 自动注入消费者

目录 前言一、情景介绍二、问题分析三、代码实现 前言 之前接到一个需求,我们项目的技术负责人希望通过配置的形式,在项目启动的时候自动根据配置生成对应的消费者 觉得还有点意思,随即记录一下~ 一、情景介绍 比如我这里有一个消费者 Mes…

数据结构(C语言版)(第2版) 课后习题答案 李冬梅

数据结构(C语言版)(第2版) 第1章 绪论 1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。 答案: 数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。如数学计算中用到的整数和实数…

Vue 自定义icon组件封装SVG图标

通过自定义子组件CustomIcon.vue使用SVG图标&#xff0c;相比iconfont下载文件、重新替换更节省时间。 子组件包括&#xff1a; 1. Icons.vue 存放所有SVG图标的path 2. CustomIcon.vue 通过icon的id索引对应的图标 使用的时候需要将 <Icons></Icons> 引到使用的…

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.9-4.10

目录 第四门课 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;第四周 特殊应用&#xff1a;人脸识别和神经风格转换&#xff08;Special applications: Face recognition &Neural style transfer&#xff09;4.9 内容代价函数&#xff08;Content cos…

界面控件DevExpress WPF中文教程:Data Grid——卡片视图设置

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

LLM训练”中的“分布式训练并行技术;分布式训练并行技术

目录 “LLM训练”中的“分布式训练并行技术” 分布式训练并行技术 数据并行 流水线并行:按阶段(stage)进行切分 张量并行 序列并行 多维混合并行 自动并行 MOE并行 重要的分布式AI框架 “LLM训练”中的“分布式训练并行技术” 随着深度学习技术的不断发展,特别是…

Ubuntu开启FTP与SSH服务

在配置开发环境时&#xff0c;这两个配置感觉是最有用的&#xff0c;开启FTP服务可以将远程linux上的文件映射到Windows上&#xff0c;不管是使用虚拟机还是嵌入式linux设备&#xff0c;特别在开发写代码的时候&#xff0c;映射到Windows上使用VS code打开编写比在linux上编写舒…

虚拟现实技术及其在教育领域的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 虚拟现实技术及其在教育领域的应用 虚拟现实技术及其在教育领域的应用 虚拟现实技术及其在教育领域的应用 引言 虚拟现实技术概述…

搜维尔科技:Varjo XR-4在教育科研领域应用

医学教育与培训&#xff1a; • 解剖学教学&#xff1a;传统的解剖学教学依赖于教科书、图片或实体标本&#xff0c;学生对于人体结构的空间关系理解存在一定难度。而使用Varjo头显&#xff0c;学生可以沉浸在虚拟的人体解剖环境中&#xff0c;全方位、多角度地观察人体的各个…

Java 源码中的 Unicode 逃逸问题,别被注释给骗了

背景 看了一段项目源码&#xff0c;定义了一个 List 对象&#xff0c;往该列表对象 add 的代码前面有注释符号&#xff0c;但是程序运行时列表中却存在对象&#xff0c;为什么呢&#xff1f;仔细看了一下&#xff0c;注释符号和 add 代码之间有一个特殊符号 \u000d&#xff0c…

基于python的机器学习(一)—— 基础知识(Scikit-learn安装)

目录 一、机器学习基础 1.1 机器学习概述 1.2 监督学习、无监督学习和强化学习 1.3 聚类、分类、回归、标注 1.3.1 聚类 1.3.2 分类 1.3.3 回归 1.3.4 标注 1.4 机器学习、人工智能和数据挖掘 1.5 机器学习的三个要素 二、Scikit-learn 机器学习库 2.1 Scikit-lea…

React 入门课程 - 使用CDN编程React

1. 第一个React 注意&#xff1a;在vscode里&#xff0c;使用Live Server来运行html文件。 index.html <html><head><link rel"stylesheet" href"index.css"><script crossorigin src"https://unpkg.com/react17/umd/react.de…

23isctf

where_is_the_flag 1.打开环境&#xff0c;上面有一句话木马&#xff0c;直接蚁剑上 flag1&#xff1a;蚁剑连接上就可以直接看见&#xff0c;FLAG1:Yunxi{d0c0 flag2:在根目录下就有 797a-4697- flag3&#xff1a; 在主页面有一个start.sh里面有提示信息 4dfe-9b48-50ff…

传统RAG流程;密集检索器,稀疏检索器:中文的M3E

目录 传统RAG流程 相似性搜索中:神经网络的密集检索器,稀疏检索器 密集检索器 BGE系列模型 text-embedding-ada-002模型 M3E模型 稀疏检索器 示例一:基于TF-IDF的稀疏检索器 示例二:基于BM25的稀疏检索器 稀疏检索器的特点与优势 传统RAG流程 相似性搜索中:神经…

黑马程序员linux学习【持续更新】

Linux基础 一、Linux简介 1.分类 不同领域的主流操作系统&#xff0c;主要分为下 几类&#xff1a;桌面操作系统、服务器操作系统、移动设备操作系统、嵌入式操作系统。 桌面操作系统 操作系统特点Windows用户数量最多MacOS操作体验好&#xff0c;办公人士首选Linux用户数…

02多线程基础知识

目录 1. 线程与进程 进程&#xff08;Process&#xff09; 线程&#xff08;Thread&#xff09; 2. 并发和并行 并发&#xff08;Concurrency&#xff09; 并行&#xff08;Parallelism&#xff09; 3. CPU 调度 定义 类型 调度算法 上下文切换 4.线程间的状态流转…

brainpy 动力学编程基础

文章参考&#xff1a; 《神经计算建模实战——基于brainpy》 吴思 【brainpy学习笔记】基础知识2(动力学模型的编程基础)-CSDN博客 Brainpy手册 文章目录 积分器&#xff1a;定义ODE函数数值积分方法 更新函数和动力系统计算介绍什么是brainpy.DynamicalSystem&#xff1f;如…

数据结构之二叉树--前序,中序,后序详解(含源码)

二叉树 二叉树不能轻易用断言&#xff0c;因为树一定有空 二叉树链式结构的实现 在学习二叉树的基本操作前&#xff0c;需先要创建一棵二叉树&#xff0c;然后才能学习其相关的基本操作。 typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType _data;struct B…

【NativeUI下的data table备注信息的快捷输入-会议签到补充】

NativeUI下的data table备注信息的快捷输入-会议签到补充 概述结构本文任务子组件在列中定制显示父组件的备注补充父组件的便捷输入按钮父组件快捷按钮给子组件的备注用最后固定在底部 概述 本文讲述Vue3的数据和函数在父组件,子组件的交互,以NativeUI的datatable为载体,实现签…