【信创】全面揭秘Linux操作系统中的DNS解析流程 _ 统信 _ 麒麟 _ 方德

news2024/12/24 11:28:31

原文链接:【信创】全面揭秘Linux操作系统中的DNS解析流程 | 统信 | 麒麟 | 方德
Hello,大家好啊!今天给大家带来一篇关于Linux操作系统上DNS解析的第一篇文章。DNS(Domain Name System,域名系统)是互联网的重要组成部分,它负责将人类易于理解的域名转换为计算机可以识别的IP地址。在Linux系统中,DNS解析是网络连接的重要环节。本文将为大家详细介绍DNS解析的基本原理和在Linux系统中的配置方式。欢迎大家分享转发,点个关注和在看吧!

什么是DNS解析?
DNS解析是指将域名转换为对应的IP地址的过程。当您在浏览器中输入一个域名(例如www.example.com)时,计算机会通过DNS查询获取该域名的IP地址,然后通过该IP地址访问目标服务器。

1.DNS解析的基本工作原理
DNS解析分为多个步骤,每个步骤对应不同类型的DNS服务器:

本地缓存查询:操作系统首先查询本地缓存,看是否已经解析过该域名并保存了结果。如果缓存中有对应的记录,DNS解析到此结束。

主机文件查询:如果本地缓存中没有找到对应记录,系统会查询/etc/hosts文件。这个文件可以手动配置常用域名与IP地址的映射。

DNS服务器查询:如果/etc/hosts文件中也没有找到对应记录,系统会向配置的DNS服务器发送查询请求。

递归查询:DNS服务器会先查询根域名服务器(Root Server),然后依次查询顶级域名服务器(TLD Server)和权威域名服务器(Authoritative Server),最终获得目标域名的IP地址。

返回结果并缓存:解析完成后,DNS服务器将IP地址返回给请求方,并在本地缓存中保存该结果,方便后续查询。

2.配置文件
1)/etc/resolv.conf
这个文件指定了系统使用的DNS服务器。典型的内容包括:

nameserver 8.8.8.8
nameserver 8.8.4.4

多个nameserver表示使用多个DNS服务器,系统会按照顺序尝试。

pdsyw@pdsyw-PC:~/Desktop$ cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 223.5.5.5
nameserver 223.6.6.6
pdsyw@pdsyw-PC:~/Desktop$ 

2)/etc/hosts
用于手动设置主机名与IP地址的映射,优先级高于DNS服务器。例如:

127.0.0.1   localhost
192.168.1.10 myserver.local
pdsyw@pdsyw-PC:~/Desktop$ cat  /etc/hosts
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
pdsyw@pdsyw-PC:~/Desktop$ 

3)/etc/nsswitch.conf
该文件定义了系统解析主机名的顺序。通常,hosts行看起来像这样:

hosts: files dns

这表示先查找/etc/hosts,再查找DNS服务器。

pdsyw@pdsyw-PC:~/Desktop$ cat /etc/nsswitch.conf 
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         files udcp
group:          files [SUCCESS=merge] udcp
shadow:         files udcp
gshadow:        files

hosts:          files myhostname dns wins 
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis
pdsyw@pdsyw-PC:~/Desktop$ 

/etc/nsswitch.conf文件中,配置了Linux系统的名称服务开关(Name Service Switch, NSS)功能。这个文件决定了系统如何解析各种名称服务,如用户密码、组、主机名等。在这个文件中可以看到,解析主机名时,系统按以下顺序查询:

files: 查询/etc/hosts文件。
myhostname: 通过本地主机名(hostname)进行解析。
dns: 查询DNS服务器。
wins: 使用WINS服务器(通常用于Windows网络)。

3.DNS解析工具
1)nslookup
查询DNS记录的工具,适用于检查特定域名的解析情况。

pdsyw@pdsyw-PC:~/Desktop$ nslookup pdsyw.cn
Server:         223.5.5.5
Address:        223.5.5.5#53

Non-authoritative answer:
Name:   pdsyw.cn
Address: 106.15.47.80

pdsyw@pdsyw-PC:~/Desktop$ 

输出分析
Server 信息:

Server:         223.5.5.5
Address:        223.5.5.5#53

这是您当前使用的DNS服务器(阿里云公共DNS)的信息。DNS服务器的IP地址是 223.5.5.5,该服务器使用标准的DNS端口号 53。
Non-authoritative answer(非权威回答):

Non-authoritative answer:
Name:   pdsyw.cn
Address: 106.15.47.80

Non-authoritative answer 表示该回答来自缓存的DNS记录或是通过递归查询得到的结果,而不是直接从该域名的权威DNS服务器获得的。
Name: pdsyw.cn 是您查询的域名。
Address: 106.15.47.80 是该域名解析到的IP地址。
解析结果
查询的结果显示,pdsyw.cn 域名解析到的IP地址是 106.15.47.80。由于是非权威回答,表明这可能是通过DNS服务器的缓存获得的,通常这个解析是正确且最新的,但不一定直接来自权威DNS服务器。

2)dig
比nslookup更为强大的DNS查询工具,能够提供更多的解析信息,例如返回路径中的每个DNS服务器的信息。

pdsyw@pdsyw-PC:~/Desktop$ dig pdsyw.cn

; <<>> DiG 9.11.5-P4-deepin1+sign-Uos <<>> pdsyw.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36010
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1408
;; QUESTION SECTION:
;pdsyw.cn.                      IN      A

;; ANSWER SECTION:
pdsyw.cn.               600     IN      A       106.15.47.80

;; Query time: 46 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: 三 8月 21 20:27:46 CST 2024
;; MSG SIZE  rcvd: 53

pdsyw@pdsyw-PC:~/Desktop$ 

输出解析
HEADER 部分:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36010
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
opcode: QUERY 表示这是一个标准的DNS查询请求。
status: NOERROR 表示查询成功,未发生错误。
id: 36010 是查询的标识符,用于匹配查询与响应。
flags: qr rd ra 表示:
qr:查询响应(Query Response)。
rd:递归查询期望(Recursion Desired)。
ra:递归查询可用(Recursion Available)。

QUESTION SECTION:

;; QUESTION SECTION:
;pdsyw.cn.                      IN      A

这部分显示了查询的内容。您请求了 pdsyw.cn 域名的 A 记录,即查询该域名对应的IPv4地址。
ANSWER SECTION:

;; ANSWER SECTION:
pdsyw.cn.               600     IN      A       106.15.47.80

这里显示了DNS服务器返回的解析结果。

pdsyw.cn.:这是被查询的域名。
600:这是该记录的TTL(生存时间),单位为秒,表示该记录在缓存中可以保存600秒。
IN A:表示这是一个IPv4地址记录。
106.15.47.80:这是解析到的IP地址。

其他信息:

;; Query time: 46 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: 三 8月 21 20:27:46 CST 2024
;; MSG SIZE  rcvd: 53
Query time: 46 msec:查询耗时46毫秒。
SERVER: 223.5.5.5#53:这是用于查询的DNS服务器及其端口号。
WHEN: 三 8月 21 20:27:46 CST 2024:查询的时间。
MSG SIZE rcvd: 53:返回消息的大小为53字节。

这次查询确认了 pdsyw.cn 的 A 记录,解析到的IP地址是 106.15.47.80。查询状态为 NOERROR,表明没有遇到任何问题。TTL值为600秒,意味着这个结果在DNS缓存中最多保留10分钟。

3)host
一个简单的命令行工具,用于查找主机名的IP地址或反向查找。

pdsyw@pdsyw-PC:~/Desktop$ host pdsyw.cn
pdsyw.cn has address 106.15.47.80
pdsyw@pdsyw-PC:~/Desktop$ 

输出解释
pdsyw.cn has address 106.15.47.80: 这表示 pdsyw.cn 域名解析到的IPv4地址是 106.15.47.80。
host 命令提供了一个简化的DNS查询结果,适合快速查看一个域名的IP地址。

与其他工具的对比
相比 nslookup 和 dig,host 的输出更加简洁,适合不需要太多技术细节的场景。对于快速验证域名解析,host 是一个方便的工具,而 dig 和 nslookup 则适用于需要详细解析信息或诊断问题的场合。

通过本文的介绍,您应该已经了解了Linux操作系统中DNS解析的基本原理及其配置方式。掌握DNS解析的工作机制和相关配置,不仅可以帮助您解决网络连接问题,还能提升网络管理的效率。如果您觉得这篇文章有用,请分享和转发,同时别忘了点个关注和在看,以便未来获取更多实用的技术信息和解决方案。感谢大家的阅读,我们下次再见!

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

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

相关文章

容器篇(JavaSE - 单列集合)(持续更新迭代)

作者&#xff1a;研J小政 课堂&#xff1a;wclass &#xff08;有什么弊端请私信我&#xff0c;目前参考众多资料精华整理过程过中&#xff09; 章节&#xff1a;单列集合&#xff01; 进度&#xff1a;持续更新迭代&#xff01; 录课状态&#xff1a;待录 参考文献 有意…

GLM-4开源发布:实力赶超Llama3,多模态能力媲美GPT4V,MaaS平台全面升级

最新版本大模型&#xff0c;6 分钱 100 万 Token。 今天上午&#xff0c;在 AI 开放日上&#xff0c;备受关注的大模型公司智谱 AI 公布了一系列行业落地数字&#xff1a; 根据最新的统计数据&#xff0c;智谱 AI 大模型开放平台目前已经获得 30 万注册用户&#xff0c;日均调用…

GPT4的代码生成能力能不能取代一个月薪5000水平的码农?

GPT-4 的代码生成能力确实非常强大&#xff0c;但它是否能取代一个月薪 5000 元水平的码农&#xff0c;还要看具体情况。以下是几个关键点&#xff1a; 代码质量和复杂性&#xff1a;GPT-4 &#xff08;升级教程&#xff09;可以生成很多常见的代码片段和解决方案&#xff0c;…

【CSP:202305-1】重复局面(Java)

题目链接 202305-1 重复局面 题目描述 样例输入&#xff1a; 8 ******** ******pk *****r*p p*pQ**** ******** **b*B*PP ****qP** **R***K* ******** ******pk *****r*p p*pQ**** *b****** ****B*PP ****qP** **R***K* ******** ******pk *****r*p p*p***** *b**Q*** ****B…

FPGA第 6 篇,PFGA基础数字电路,PFGA基础知识数字电路, 组合逻辑电路和时序逻辑电路,数字电路与模拟电路

前言 FPGA&#xff08;Field-Programmable Gate Array&#xff0c;现场可编程门阵列&#xff09;是一种高度灵活的硬件器件&#xff0c;可以通过编程配置其内部的逻辑单元和连接&#xff0c;适用于各种数字电路设计和实现。在学习FPGA之前&#xff0c;掌握数字电路的基础知识是…

【AI】Ollama+OpenWebUI+llama3本地部署保姆级教程,没有连接互联网一样可以使用AI大模型!!!

1 电脑配置 操作系统CPU内存Windows 10以上12核16GB 2 安装Ollama 2.1 下载Ollama 登录Ollama官网下载Ollama安装包 GitHub&#xff1a;https://github.com/ollama/ollama?tabreadme-ov-file 2.2 安装Ollama Windows下安装Ollama很简单&#xff0c;双击运行安装文件即…

ES6笔记总结(Xmind格式):第三天

Xmind鸟瞰图&#xff1a; 简单文字总结&#xff1a; ES6知识总结&#xff1a; Promise的使用: 1.使用 new Promise() 构造函数来创建一个 promise 对象 2.接受两个函数作为参数&#xff1a;resolve 和 reject ①resolve 函数在异步操作成功完成时调用&#xf…

[000-01-022].第06节:RabbitMQ中的交换机介绍

1.什么是Exchanges(交换机&#xff09;: 1.RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上&#xff0c;通常生产者甚至都不知道这些消息传递传递到了哪些队列中2.生产者只能将消息发送到交换机(exchange)&#xff0c;交换机工作的内容非常…

Axure版需求文档:原型版PRD模板

行业原型预览链接&#xff1a;&#xff08;请与班主任联系获取原型文档&#xff09; 文件类型&#xff1a;.rp 支持版本&#xff1a;Axrure RP 8 文档名称&#xff1a;Axure需求规格说明书-PRD模版 文件大小&#xff1a;3.50 MB 目录内容介绍 文档内容介绍 回复 “211103”…

设计师具备怎样的专业素养,才能走得更远?

设计师具备怎样的专业素养&#xff0c;才能走得更远&#xff1f; 带着这样的思考&#xff0c;我们邀请到莱佛士设计学院知名校友Regina Fang——新加坡独立品牌NEWFOUND纽方品牌创始人&#xff0c;为大家解读设计师在学习技能以及创业的过程&#xff0c;需要具备怎样的专业素养…

九、 系统安全(考点篇)试题

信息安全系统&#xff1a;技术方面有了&#xff0c;管理方面有了&#xff0c;看选项里&#xff0c;A、C、D都是需求跟安全扯不上多大关系。选B 备份和恢复跟安全沾边&#xff0c;迁移是旧系统数据迁到新系统&#xff0c;测试跟安全更远了。选C 选D机密性&#xff1b;选D可控性…

城市轨道交通能耗管理

随着城市轨道交通线网规模的扩大&#xff0c;其能源消耗也日益增加。车站作为城市轨道交通系统的“单元”&#xff0c;能耗管理效应的发挥主要从“车站”人手。同时&#xff0c;为助推国家双碳战略目标实施&#xff0c;文章结合《中国城市轨道交通智慧城轨发展纲要》及应用需求…

fragment生命周期

fragment生命周期 onAttach()始终在任何Lifecycle 状态更改之前调用&#xff0c;所以onAttach()在onCreate()之前调用。 onAttach(): Fragment 被附加到 Activity 时调用。在这个阶段&#xff0c;Fragment 可以获取 Activity 的上下文。 onCreate(): 在 Fragment 创建时调用…

旅游巴士(bus)【CSPJ2023】

题目描述 小Z 打算在国庆假期期间搭乘旅游巴士去一处他向往已久的景点旅游。 旅游景点的地图共有n 处地点&#xff0c;在这些地点之间连有m 条道路。其中1 号地点为景区入口&#xff0c;n 号地点为景区出口。我们把一天当中景区开门营业的时间记为0 时刻&#xff0c;则从0 时刻…

[大模型]Conda在线安装-Langchain-Chatchat-V0.3

文章目录 官方仓库地址历史问题 使用conda在线安装启动项目疑问解答为什么运行命令是chatchat&#xff1f; 移动conda与重命名conda 官方仓库 地址 https://github.com/chatchat-space/Langchain-Chatchat历史问题 问题中可能包含着旧版本&#xff08;Langchain-Chatchat-V0…

打通Vue3+Flask(python3)+Mysql-实现简单数据交互

一、需要准备的工具 下载python3&#xff0c;Vscode&#xff0c;pycharm&#xff08;这里用的社区版&#xff09;&#xff0c;phpstudy_pro&#xff0c;Node.js&#xff08;建议下载长期支持版本&#xff0c;版本不宜过低&#xff0c;比如18,20&#xff09;&#xff0c;Vue.js…

LearnOpenGL——HDR、Bloom学习笔记

LearnOpenGL——HDR、Bloom学习笔记 HDR一、基本概念二、浮点帧缓冲 Floating Point Framebuffer三、色调映射 Tone MappingReinhard色调映射曝光色调映射 Bloom一、提取亮色二、高斯模糊三、将两个纹理进行混合 HDR 一、基本概念 显示器被限制只能显示0.0-1.0的颜色&#xf…

“AI+Security”系列第2期(四):AI/机器学习供应链攻击

近日&#xff0c;由安全极客、Wisemodel 社区和 InForSec 网络安全研究国际学术论坛联合主办的“AISecurity”系列第二期线上活动如期举行。此次活动的主题为“对抗&#xff01;大模型自身安全的攻防博弈”&#xff0c;旨在深入探讨和分析人工智能和机器学习领域中的安全问题。…

武汉流星汇聚:亚马逊返校季学习用品热销,精准布局助力卖家成功

随着夏日的余温逐渐消散&#xff0c;新学期的钟声悄然临近&#xff0c;家长与学生们纷纷投入到新学期的准备工作中&#xff0c;而亚马逊作为全球领先的电商平台&#xff0c;再次迎来了学习用品销售的火爆季节。数据显示&#xff0c;过去30天内&#xff0c;“back to school”&a…

罗德与施瓦茨(RS)RTP164、RTP134,RTP084,RTP064示波器

罗德示波器系列RTP164租赁RTP134收购RTP084/RTP064/RTP034 概述 数字示波器是数据采集&#xff0c;A/D转换&#xff0c;软件编程等一系列的技术制造出来的高性能示波器&#xff0c;是电子类学科设计、制造和维修产品过程中不可或缺的工具。R&SRTP164示波器可以提供16GHz的…