RHCE笔记-DNS服务器

一.DNS简介

        DNS(域名系统)是一种互联网服务,负责将我们熟悉的域名(比如 www.example.com)转换为计算机能理解的IP地址(比如 192.0.2.1)。这样,当你在浏览器中输入网址时,计算机能够找到对应的网站。

DNS服务的工作原理

  1. 输入网址:你在浏览器中输入一个网址。
  2. 查询本地缓存:计算机会先检查自己是否有这个网址的IP地址存储在本地缓存中。
  3. 向DNS服务器请求:如果没有找到,计算机会向DNS服务器发送请求。
  4. 递归查询:DNS服务器会帮你查找这个网址对应的IP地址,可能会向其他服务器询问,直到找到为止。
  5. 返回结果:一旦找到IP地址,DNS服务器将这个地址返回给你,浏览器再根据这个地址访问网站。

DNS服务器的角色

  • 根服务器:负责管理互联网的顶层域名,比如.com、.org等。
  • TLD服务器:管理某一类域名的服务器,比如所有的.com域名。
  • 权威DNS服务器:存储某个特定域名的详细信息(比如网站的IP地址)。

总结

DNS服务就像一个电话簿,将人类易懂的域名和计算机使用的IP地址关联起来,确保你可以快速访问想要的网站。DNS服务器则是提供这个服务的“助手”,帮助完成查询和转换的工作。

二.域名结构

        

        域名是以根开始的倒树状结构 ,以点为分割符,从上往下分别是:

国家顶级域名:中国(cn),英国(uk),mil(美国军事),gov(美国政府),edu(教育),org(开源非盈利组织),net(网络相关),com(公司企业),aero(航空航天相关),biz(商业和商业活动),info(信息相关),coop(合作社的身份识别).

基础结构域名:唯一arpa,用于反向解析.

域名服务器分类

        根域名服务器:ipv4全球13台,1台主根服务器(美国),12台辅根服务器,9台美国,欧洲英国,瑞典,亚洲日本各一台.

        顶级域名服务器:管理在该顶级域名服务器注册的2级域名

        权限域名服务器:负责一个区的域名服务器

        本地域名服务器:负责接收查询请求报文

        主从DNS服务器:主服务器定期复制DNS记录到从服务器

        缓存服务器:不解析域名,只缓存域名解析结果

DNS服务解析过程

1. 用户输入域名

当用户在浏览器中输入一个域名(例如:www.example.com)并按下回车键,浏览器会开始查找该域名对应的IP地址。

2. 检查本地缓存
  • 浏览器缓存:首先,浏览器会检查其本地缓存中是否已经存储了该域名的IP地址。如果有,直接使用该地址进行连接。
  • 操作系统缓存:如果浏览器没有缓存,操作系统也会检查其DNS缓存。
3. 查询DNS服务器

如果本地缓存没有找到,浏览器将向DNS解析器(通常由用户的互联网服务提供商提供)发送请求。

4. DNS解析器

DNS解析器接收到请求后,会进行以下步骤:

  • 根域名服务器查询:首先,它向根域名服务器发送查询请求,根服务器会指向相应的顶级域名服务器(TLD服务器),例如“.com”域名的TLD服务器。
5. TLD服务器查询
  • 获取权威DNS服务器:DNS解析器接下来向TLD服务器询问域名(例如,example.com)对应的权威DNS服务器的地址,TLD服务器返回该域名的权威DNS服务器的信息。
6. 权威DNS服务器查询
  • 最终解析:DNS解析器向权威DNS服务器发送请求,以获取域名的实际IP地址。权威DNS服务器会返回该域名对应的IP地址。
7. 返回结果
  • 返回给用户的浏览器:DNS解析器将获得的IP地址返回给用户的浏览器。
8. 建立连接
  • 访问目标网站:浏览器使用该IP地址与目标服务器建立连接,开始请求网页内容。
9. 缓存结果
  • 缓存机制:为了提高效率,DNS解析器和操作系统会将解析结果缓存一段时间(根据TTL设置),以便后续请求时可以快速响应。
10. 完成请求
  • 网页加载:最终,浏览器加载网页,用户可以查看请求的内容。

三.DNS配置    

        DNS服务器的配置文件通常包含了域名解析所需的各种信息。不同类型的DNS服务器(如BIND、dnsmasq等)有不同的配置文件格式。以下是以BIND(Berkeley Internet Name Domain)为例的DNS服务器配置文件详解:

1. BIND基本结构

BIND的主要配置文件通常是named.conf,这个文件定义了DNS服务器的全局选项、区域(zone)和转发器(forwarders)等信息。

主要配置文件示例
options {directory "/var/named";  # DNS数据文件存放目录allow-query { any; };     # 允许所有查询recursion yes;            # 启用递归查询forwarders {              # 指定转发器8.8.8.8;              # Google DNS8.8.4.4;};dnssec-enable yes;        # 启用DNSSECdnssec-validation auto;   # 自动验证DNSSEC
};

2. 区域配置

区域配置用于定义DNS服务器管理的域名以及它们的记录。区域通常在named.conf中定义,也可以放在单独的文件中。

示例区域配置
zone "example.com" {type master;  # 主DNS服务器file "example.com.db";  # 区域数据文件
};zone "0.168.192.in-addr.arpa" {  # 反向查找区域type master;file "192.168.0.db";
};

3. 区域数据文件

区域数据文件包含域名及其对应的资源记录(RR)。每条记录的格式通常如下:

$TTL 86400  ; 默认生存时间为86400秒(1天)
@   IN  SOA  ns1.example.com. admin.example.com. (2024010101 ; Serial #代表新旧程度3600       ; Refresh #更新频率1800       ; Retry #失败重传时间604800     ; Expire #失败失效时间86400 )    ; Negative Cache TTL #有效期; Name Server Records
@   IN  NS   ns1.example.com.
@   IN  NS   ns2.example.com.; A Records
@   IN  A    192.168.0.1
www IN  A    192.168.0.1; CNAME Records
mail IN CNAME www
记录类型详解
  • SOA (Start of Authority):定义区域的起始权威信息,包括主DNS、管理员邮箱、序列号等。
  • NS (Name Server):定义域名使用的DNS服务器。
  • A (Address):将域名映射到IPv4地址。
  • AAAA:将域名映射到IPv6地址。
  • CNAME (Canonical Name):将一个域名别名映射到另一个真实的域名。

4. 高级配置

  • ACL(Access Control Lists):用于控制哪些IP可以查询或更新DNS记录。
acl "trusted" {192.168.0.0/24;  # 允许本地网络10.0.0.0/8;      # 允许另一个网络
};options {allow-query { trusted; };  # 仅允许受信任的网络查询
};
  • 视图(Views):根据来源IP提供不同的DNS响应。
view "internal" {match-clients { 192.168.0.0/24; };zone "example.com" { type master; file "internal/example.com.db"; };
};view "external" {match-clients { any; };zone "example.com" { type master; file "external/example.com.db"; };
};

5. 重启DNS服务

在修改配置文件后,通常需要重启BIND服务以使更改生效:

sudo systemctl restart named

6.测试工具

host

host 是一个简单的 DNS 查询工具,用于查找主机名或 IP 地址。

基本用法

host [选项] [主机名|IP地址]

示例

  • 查询域名的 IP 地址:
    host example.com
  • 查询指定 DNS 服务器:
    host example.com 8.8.8.8

2. nslookup

nslookup 是一个交互式和非交互式的 DNS 查询工具,可以用于查找 DNS 记录。

基本用法

nslookup [主机名|IP地址] [DNS服务器]

示例

  • 查询域名的 DNS 记录:
    nslookup example.com
  • 查询特定类型的记录(例如 MX 记录):
    nslookup -query=mx example.com

3. dig

dig(Domain Information Groper)是一个更为强大的 DNS 查询工具,提供详细的查询信息。

基本用法

dig [选项] [主机名] [记录类型] @DNS服务器

示例

  • 查询域名的 A 记录:
    dig example.com
  • 查询特定类型的记录(如 MX 记录):
    dig example.com MX
  • 使用特定的 DNS 服务器:
    dig @8.8.8.8 example.com

总结

  • host:简单易用,适合基本的 DNS 查询。
  • nslookup:适合交互式查询,提供更多选项。
  • dig:功能强大,适合深入分析和脚本化使用。

 

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

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

相关文章

利用QGIS工具手动绘制线轨迹并生成地理信息geojson文件

前端想要获得一个完整的shp文件或者geojson的地理信息文件,可以利用QGIS工具手动绘制你想要的数据点位,然后导出图层生成对应的文件即可。 1、新建临时图层 选择线图层,点击ok创建临时图层。 2、绘制线图层 在工具栏中选择添加线要素&#…

面试记录(1)

java中的抽象类和接口的区别: 相同点 (1) 都可以被继承 (2) 都不能被实例化 (3) 都可以包含方法声明 (4) 派生类必须实现未实现的方法 不同点 1.关键字不同: ​ ① 继承抽象类的关键字是extends,而实现接口的关键字是implements;…

构建您自己的 RAG 应用程序:使用 Ollama、Python 和 ChromaDB 在本地设置 LLM 的分步指南

在数据隐私至关重要的时代,建立自己的本地语言模型 (LLM) 为公司和个人都提供了至关重要的解决方案。本教程旨在指导您完成使用 Ollama、Python 3 和 ChromaDB 创建自定义聊天机器人的过程,所有这些机器人都托管在您的系统本地。以…

聊聊Web3D 发展趋势

随着 Web 技术的不断演进,Web3D 正逐渐成为各行业数字化的重要方向。Web3D 是指在网页中展示 3D 内容的技术集合。近年来,由于 WebGL、WebGPU 等技术的发展,3D 内容已经能够直接在浏览器中渲染,为用户提供更加沉浸、互动的体验。以…

电科金仓(人大金仓)更新授权文件(致命错误: XX000: License file expired.)

问题:电科金仓(人大金仓)数据库链接异常,重启失败,查看日志如下: 致命错误: XX000: License file expired. 位置: PostmasterMain, postmaster.c:725 解决方法: 一、下载授权文件 根据安装版本在官网下载授权文件(电科金仓-成为世界卓越的数据库产品与服务提供商)…

uniapp的video视频属性打包app后层级过高

问题:在使用uniapp开发APP时,使用video标签显示视频发现H5可以正常展示,但是打包到APP后,它的层级过高,把底部导航都盖住了。 官网说明:uni-app官网 官网给了cover-view组件或plus.nativeObj.view、subNVue…

考研资料分享系统的设计与实现(lw+演示+源码+运行)

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对高校教师成果信息管理混乱,出错率高,信息安全…

[perl] 数组与哈希

数组变量以 符号开始,元素放在括号内 简单举例如下 #!/usr/bin/perl names ("a1", "a2", "a3");print "\$names[0] $names[0]\n"; print "size: ",scalar names,"\n";$new_names shift(names); …

项目符合行业安全标准的必要步骤与实用建议

要保障项目符合行业安全标准,关键在于建立全面的安全管理体系、定期进行风险评估、持续培训员工,以及确保合规性文件和审核流程完整。例如,通过建立合规文件和审核流程,可以系统性地跟踪项目的安全实践和合规性,使安全…

小米15和小米15 Pro区别没那么大,但也得看准再下手

小米15和小米15 Pro区别大总结 接下来,我们将从关键差别等多个方面来分析两个机型的具体区别(Ps:只聊不一样的,没提到就是一样的): 关键差别 • 屏幕素质:小米15采用的是6.36英寸1.5K&#xf…

【科研绘图】3DMAX管状图表生成插件TubeChart使用方法

3DMAX管状图表生成插件TubeChart,一款用于制作3D管状图表的工具。可以自定义切片的数量以及随机或指定切片颜色。 【版本要求】 3dMax 2008及更高版本 【安装方法】 TubeChart插件无需安装,使用时直接拖动插件脚本文件到3dMax视口中打开即可&#xff0…

力扣hot100-->递归/回溯

目录 递归/回溯 1. 17. 电话号码的字母组合 2. 22. 括号生成 3. 39. 组合总和 4. 46. 全排列 5. 78. 子集 递归/回溯 1. 17. 电话号码的字母组合 中等 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到…

服务器端请求微信登陆授权接口一直超时问题

环境: 服务器系统:centos 7.2 站点环境:nginx 遇到问题: 1、微信小程序端请求服务器登陆接口,服务端收到请求后向微信接口服务器请求数据,请求成功后返回数据给客户端,但是请求微信接口服务器经…

NVR批量管理软件/平台EasyNVR多个NVR同时管理支持对接阿里云、腾讯云、天翼云、亚马逊S3云存储

随着云计算技术的日益成熟,越来越多的企业开始将其业务迁移到云端,以享受更为灵活、高效且经济的服务模式。在视频监控领域,云存储因其强大的数据处理能力和弹性扩展性,成为视频数据存储的理想选择。NVR批量管理软件/平台EasyNVR&…

基于PHP的http字段查询与注册(V1)(持续迭代)

目录 版本说明: 实现环境(WAMP): 数据库链接 查询页面 php处理逻辑 字段添加 版本说明: 该查询功能以查询http首部字段为目的实现的字段属性、字段内容的查询,以及对新字段信息的数据注册。 v1实现…

【面试经典150】day 9

目录 1.Z 字形变换 2.找出字符串中第一个匹配项的下标 3.文本左右对齐 1.Z 字形变换 class Solution {public String convert(String s, int numRows) {//明明是N字形变换if(numRows<2) return s;//rows是可扩展的字符串数组List<StringBuilder>rowsnew ArrayLi…

代码随想录 | Day36 | 动态规划 :整数拆分不同的二叉搜索树

代码随想录 | Day36 | 动态规划 &#xff1a;整数拆分&不同的二叉搜索树 动态规划应该如何学习&#xff1f;-CSDN博客 动态规划学习&#xff1a; 1.思考回溯法&#xff08;深度优先遍历&#xff09;怎么写 注意要画树形结构图 2.转成记忆化搜索 看哪些地方是重复计算…

TCP丢包,连接机制,滑动窗口解析

面向字节流 如何理解面向字节流&#xff1f; 发送缓冲区&#xff0c;我们将它当做char类型的数组&#xff0c;当发送时他们的发送序号就可以从他们的下标来获取&#xff0c;接受缓冲区也是char数组&#xff0c;再一个一个字节的向上层读取。 如何理解流动的概念 我们的报文中…

前端开发设计模式——观察者模式

目录 一、定义和特点 1. 定义 2. 特点 二、实现方式 1. 使用 JavaScript 实现观察者模式的基本结构 2. 实际应用中的实现示例 三、使用场景 1. 事件处理 2. 数据绑定 3. 异步通信 4. 组件通信 四、优点 1. 解耦和灵活性 2. 实时响应和数据一致性 3. 提高代码的可…

少儿编程学习中的家庭支持:家长角色如何从监督到参与?

随着少儿编程教育的普及&#xff0c;越来越多的家庭开始意识到编程对孩子未来发展的重要性。编程不仅仅是一项技术技能&#xff0c;更是培养逻辑思维、解决问题能力和创新意识的有效途径。然而&#xff0c;如何在家庭中正确支持孩子的编程学习&#xff0c;对家长而言是一个新的…