Linux DNS 解析与配置 nslookup使用 与 /etc/resolv.conf文件的配置

news2024/12/27 19:18:07

Linux DNS 解析与配置


当我接收到一批新的服务器时,尝试连接外网,比如访问百度的首页:

curl  www.baidu.com

在这里插入图片描述

发现报错,不能解析正确的主机名。这个其实就是主机在解析主机名时没能正确发现对应的主机的 ip。当我们使用类似于域名等去访问时,最后都是由 DNS 解析并返回具体的 ip 地址,最终访问到具体的 ip 也就是某服务器。

当报错如上时,多半是 /etc/resolv.cof 文件未能正确配置导致,可以更改为:

# Generated by NetworkManager
search huangyichun.com
nameserver 8.8.8.8
nameserver 114.114.114.114

resolv.conf

这个文件是 DNS 的 client 端使用的文件,用于设置 DNS 服务器的 ip 地址以及 DNS 域名,还可以配置域名搜索顺序等等。主要包含如下关键字:

  • nameserver
  • domain
  • search
  • sortlist
  • options

他们设置的格式都是 关键字+空格 + 参数。他们之间是有顺序的,从上往下的顺序进行加载。


nameserver

标示 DNS 服务器的 IP 地址,可以有多行的 nameserver,优先查找上面的 DNS 服务器,是尝试通过 DNS 服务器来解析主机名的主要方法。当第一个 DNS 超时时,会转向第二个 DNS 继续请求,除非配置了 options


domain

主机的域名。不与 search 共存,只存在最后一条。表示该主机的域名是多少。比如 www.huangyichun.com 的域名就是 huangyichun.com。详细看 search


search

可以有多个参数,当要查询没有域名的主机,那么将会在申明的域中进行查找。大体上来说 searchdomain 并没有什么区别,他们都是在如果没有输入完整的网址时进行补全域名的功能。比如,我们直接 ping www 都不知道究竟是哪一个 www,如果配置了 domain 或者 search 那么直接帮助补全:

cat /etc/resolv.conf
# Generated by NetworkManager
#domain huangyichun.com
#nameserver 8.8.8.8
#nameserver 114.114.114.114


nslookup www

在这里插入图片描述


sortlist

允许将得到域名结果进行特定的排序。


options

可选的参数。

  • rotate,当配置rotate后,进行DNS解析时,对配置的多个search进行轮循查询,这样可以减轻第一个DNS的解析工作。
  • debug,开启debug模式。
  • ndots:n,设置在初始查询之前,必须出现的点数阈值。n默认为1,意味着如果名称中只要有点,就会在任何搜索列表元素附加到该名称之前,将首先尝试将名称作为绝对名称。
  • timeout:n,设置等待nameserver的秒数,如果超时则会开始访问下一个nameserver,默认为5。
  • attempts:n,设置对于nameserver重试次数,默认为2。

这里只展示了部分参数,其余参数请参照:

resolv.conf(5) - Linux manual page


举个例子

我们之前配置的 searchnameserver

在这里插入图片描述

将设定域名在 huangyichun.com 下进行补全,DNS 解析时优先 8.8.8.8,其次为 114.114.114.114


怎么解析百度

百度是我们的好朋友,我们直接想一下怎么解析的百度的网址 www.baidu.com

使用 nslookup www.baidu.com 可以直接解析完毕,并返回器结果:

nslookup www.baidu.comcd

在这里插入图片描述

可以看到解析的结果为 39.156.66.14,在浏览器上直接访问该地址,可以访问百度页面:

在这里插入图片描述

现在我们使用 nslookup 查看一下域名的解析流程。

注意是域名的解析流程,在 linux 中,并不止是域名的解析,还有主机的解析,也就是 /etc/hosts 等等


流程

  1. ping www.baidu.com,然后会根据 resolv.conf 文件发送 DNS 解析请求。
  2. DNS客户端 解析器会将解析请求发送到 本地DNS服务器
  3. 本地 DNS 服务器会向 .根服务器 发送 com.服务器 的解析请求。
  4. .根服务器 返回 com.服务器 地址,本地 DNS 继续请求 com.服务器 获取 baidu.com.服务器 地址。
  5. 根据返回的地址信息,本地 DNS 继续请求 www.baidu.com.服务器 地址,获取后返回给 DNS客户端
  6. 客户端拿到 DNS 后进行 ip 访问。

这里可能有几个疑惑的地方:

  1. 域名的完整格式其实应该是 xxxx.root,也就是后缀名都是 .root.root 服务器我们称之为 根服务器。但是 根服务器 每次都是 .root 没有必要显示,所以可以简化去除。

在这里插入图片描述

  1. 查找域名地址,其实都是从后往前进行查找,也就是先 root,后 domain
  2. 本地 DNS 服务器进行查找的时候,是迭代查找;而 DNS 客户端在请求本地 DNS 服务器时,是递归查找。如果超时,会更换 DNS 服务器。(迭代其实很慢,但是一个服务器没办法进行所有的域名 +ip 的存储,当该服务器不知道时,会将请求应答为 xxxx服务器 可能知道。)
  3. 并不是每次查询都会到 根服务器,当 本地DNS服务器 有缓存时,就会直接返回,并且标注 Non-authoritative,如果是查询到 根服务器,那么就会标注 authoritative

nslookup

我们使用 nslookup 来模拟整个域名解析的流程:

nslookup
> set type=ns
> .

在这里插入图片描述

type=ns 代表查询 nameserver,查询 根服务器 地址,返回了 a 到 m 的共计 13 个 nameserver,并且都是 Non-authoritative#53 标示 53 端口,也是默认的 DNS 端口(一般 UDP 传输)。

继续查询 nameserver 对应的 ip 地址:

查询地址的ipv4
set type=a
a.root-servers.net.

在这里插入图片描述

获取 跟服务器 的地址后,我们与 根服务器 进行沟通,获取 com. 地址。

server 198.41.0.4
set type=ns
com.

在这里插入图片描述

获取到了能够解析 com. 的 nameserver 列表,继续获取对应的 ip:

set type=a
a.gtld-servers.net.
# 这里的gtld 代表:通用顶级域名,generic top level domain

在这里插入图片描述

这样我们可以跟 com. 进行通话,获取 baidu.com 地址:

server 192.5.6.30
set type=ns
baidu.com

在这里插入图片描述

可以看到 baidu.com 有几个可以进行解析,我们继续获取 ip,然后进行 www.baidu.com 的解析:

set type=a
dns.baidu.com.
server 110.242.68.134
www.baidu.com

在这里插入图片描述

最后我们得到了 www.baidu.com 的 dns 解析结果为 39.156.66.14


www.huangyichun.com

如果我们要解析 www.huangyichun.com 也是一样的,找到 .com 地址,然后看 huangyichun.com 哪里能解析,与对应的 nameserver 对话,解析即可。

在这里插入图片描述

gravel.dnspod.net.

mantis.dnspod.net.

这两个就是腾讯云的 DNS 解析,说明该服务器大概率部署在腾讯云上。


问题

  1. 为什么我们解析 google.com 这类服务器无法解析呢?那当然是 IPS 提供商的内容。
  2. 谁来管理 .服务器,Root Servers 当前有 13 个不同的域名,也就是之前的[a-m].root-servers.net,当前公狗大概 1500 个服务器,在 12 个管理机构中运行。

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

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

相关文章

华为交换机配置笔记

交换机(Switch)是一种用于电信号转发的网络设备,它可以为接入交换机的任意两个网络节点提供独享的电信号通路,最常见的交换机是以太网交换机,其他常见的还有电话语音交换机、光纤交换机等,交换机是集线器的升级替代产品,理论上讲交换机就是按照通信两端传输信息的需求,将需要的…

ONES 入选极客公园「2022 中国创新力量 50 」榜单

极客公园调研发现,2022 年是企业服务的「双杀」转折点:内部造血的难度升级,外部输血的可能性降低。为了表彰逆流而上的企服公司,极客公园对其给予了重点鼓励和点评。其中,企业级研发管理平台 ONES 入选了极客公园 2022…

vue js游戏,抗疫小游戏,抗疫的汤圆,仅以此小游戏献给所有为抗击疫情做出贡献的人

vue js游戏,抗疫小游戏,抗疫的汤圆,仅以此小游戏献给所有为抗击疫情做出贡献的人 完整代码下载地址:vue js游戏,抗疫小游戏,抗疫的汤圆 建议在pc上使用Chrome浏览器进行访问,如果只能手机玩&a…

还不快收藏起来!何恺明全网最全论文合集

原创/文 BFT机器人 人物简介 何恺明,Facebook AI Research (FAIR) 的一名科学家,研究领域包括计算机视觉和深度学习,并且在计算机视觉和深度学习方面发表了众多极具影响力的论文。 他发表的论文中,有关深度残差网络 (ResNets) 的…

当下的零售新进化,同以往的电商时代还是有着很多区别的

一场数字化的浪潮,正在各行各业深刻上演着。在零售领域,亦不例外。以往,提及零售,我们更多地想到的是,各式各样的电商平台,我们看到的是,各式各样的电商模式;现在,提及零…

学习一下如何使用python实现一个超级卡哇伊的五角星吧

Hello呀朋友们~ 今天实在想不出要写啥了,但是前两天有朋友让我写一个五角星,这个好说呀,必须安排的妥妥当当的!!!!! 在这里我就不多说了,这个也挺简单的,那…

新代机床联网

一、设备信息确认 1、确认型号 数控面板拍照确认: 此系统为:6TA 2、确认通讯接口 1、数控面板的后面 2、其他位置 其他位置一般是前面两个位置用网线引出来后做的网口母头,常见在机床数控面板侧面,机床电器柜后面等等。 3、…

Kubernetes知识扫盲

1. Kubernetes介绍 1.1 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应…

SQL数据库—事务(ACID特性、数据库恢复技术)

各位朋友大家好,博主新创立了一个公众号《自学编程村》哈,感兴趣的可以也关注关注捏~~ 【简介】 它是由村长发起,然后邀请了一些小伙伴来作为自己的嘉宾,不定时的为大家分享学习、生活、信息。他们中间,有来自中国科学…

调整网关或iptables导致ssh连接未响应

同一子网之间可以相互连接,问题服务器可以通过同一子网的其他机器ssh连接,通过VPN可以直接连接到同一子网的其他服务器,但是无法直接连接问题服务器 ssh连接一直停在连接状态 xshell连接如图 问题服务器A无法上外网,之前调整过网…

node.js创建网站实例2

1.在cmd中输入:npm install express -s 2.在demo01文件夹中新建api.js,代码如下: // 1.先引入express模块,express是一个函数 var express require("express") //2.执行express函数;用变量接收express函数…

《图的基础概念》

【一】图的基本概念 图是由顶点集合和顶点之间的关系组成的一部分&#xff1a;G&#xff08;V&#xff0c;E&#xff09;&#xff0c;其中&#xff1a; 顶点集合V {x|x属于某个数据对象集}是有穷非空集合&#xff1b; E {(x,y)|x,y属于V}或者E {<x, y>|x,y属于V &…

ElasticSearch6.x版本的SpringBoot增删改查操作和ElasticSearch6.x版本的过滤查询

文章目录一、SpringBoot操作ElasticSearch前期准备工作二、SpringBoot增删改查ElasticSearch1.新增修改2.删除3.查询三、ElasticSearch中的过滤查询1.概念介绍2.过滤语法3.常见的过滤器类型① term filter② terms filter③ ranage filter④ exists filter⑤ ids filter一、Spr…

【阶段二】Python数据分析Pandas工具使用05篇:数据预处理:数据的规范化

本篇的思维导图: 数据预处理:数据的规范化 数据标准化(归一化)处理是数据挖掘的一项基础工作。不同评价指标往往具有不同的量纲,数值间的差别可能很大,不进行处理可能会影响数据分析的结果。为了消除指标之间的量纲和取值范围差异的影响,需要进行标准化处理,将数据按…

LEETCODE 98. 验证二叉搜索树

给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1&#xff1a; 输入&a…

+ 数学与算法系列之牛顿、二分迭代法求解非线性方程

1. 前言 前文介绍了如何使用“高斯消元法”求解线性方程组。 本文秉承有始有终的态度&#xff0c;继续介绍“非线性方程”的求解算法。 本文将介绍 2 个非线性方程算法&#xff1a; 牛顿迭代法。二分迭代法。 牛顿迭代法&#xff08;Newtons method&#xff09;又称为牛顿…

C#,图像二值化(13)——基于双峰平均值的全局阈值算法与源程序

1、图像二值化概述 图像二值化是将彩色图像转换为黑白图像。大多数计算机视觉应用程序将图片转换为二进制表示。图像越是未经处理&#xff0c;计算机就越容易解释其基本特征。 二值化过程 在计算机存储器中&#xff0c;所有文件通常以灰度级的形式存储&#xff0c;灰度级具有…

Linux Free 命令

目录 Free命令有什么用 各项名词解释 服务器实际可用内存看哪个值 为什么free2是实际可用内存 结论 Free命令语法 Free命令有什么用 熟悉的都知道&#xff0c;这是用来Linux主机内存使用情况的。如下&#xff1a; 各项名词解释 可以把上图看为3部分&#xff0c;分别是 M…

介绍一个Python可视化神器,绘制出来的图表惊艳了所有的人!!

新年快乐&#xff0c;时间过得真的是很快&#xff0c;已经到了新的一年了&#xff0c;今天小编给大家来介绍一款十分好用的可视化模块&#xff0c;D3Blocks&#xff0c;不仅可以用来绘制可动态交互的图表&#xff0c;并且导出的图表可以是HTML格式&#xff0c;方便在浏览器上面…

【小程序】模板与配置

文章目录WXML 模板语法数据绑定事件绑定bindtap 的语法格式bindinput 的语法格式实现文本框和 data 之间的数据同步条件渲染wx:ifhidden列表渲染WXSS 模板样式rpx样式导入全局样式和局部样式全局配置windowtabBar页面配置网络数据请求配置 request 合法域名发起 GET 请求发起 P…