DNS知识指南

2024-09-05 16:38
文章标签 知识 指南 dns

本文主要是介绍DNS知识指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 什么是记录?

记录的实质是存在DNS服务器叶结点上的一条映射(只讨论权威DNS,不讨论Local DNS)。

A记录:(域名:IP地址) 例:cnblogs.com   A  42.121.252.58    通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。 简单的说,A记录是指定域名对应的IP地址。

CNAME记录:Canonical Name,通常称别名解析。(域名:别名) 例:cnblogs.com  CNAME  api.ad.cnblogs.com。

AAAA记录:该记录是将域名解析到一个指定的IPV6的IP上。

NS记录 :Name Server,用来指定该域名由哪个权威DNS服务器来进行解析。

您注册域名时,总有默认的权威DNS服务器,每个注册的域名都是由一个权威DNS域名服务器来进行解析的,NS记录地址一般以以下的形式出现: ns1.domain.com、ns2.domain.com等。 简单的说,NS记录是指定由哪个DNS服务器解析你的域名。

MX记录 :MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。

例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。

TXT记录:TXT记录,一般指某个主机名或域名的说明,如:admin IN TXT "管理员, 电话:XXXXXXXXXXX",mail IN TXT "邮件主机,存放在xxx , 管理人:AAA",Jim IN TXT "contact: abc@mailserver.com",也就是您可以设置 TXT 内容以便使别人联系到您。 TXT的应用之一,SPF(Sender Policy Framework)反垃圾邮件。SPF是跟DNS相关的一项技术,它的内容写在DNS的TXT类型的记录里面。MX记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟MX相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。例如:当邮件服务器收到自称发件人是spam@gmail.com的邮件,那么到底它是不是真的gmail.com的邮件服务器发过来的呢,我们可以查询gmail.com的SPF记录,以此防止别人伪造你来发邮件。

PTR记录:PTR是pointer 的简写。 "PTR"就是"反向DNS",
domain name pointer,可以粗略的理解为DNS反向 
Domain Name Pointer. 是一个指针记录,用于将一个IP地址映射到对应的主机名,也可以看成是A记录的反向,通过IP访问域名,原来是通过域名访问IP)
如何顺利做好反向解析?首先要有固定公网IP地址、可用域名(最好不要被其它服务所用),例如您有lunch-time.com的域名,您可以要求您的域名注册商为您添加一个okmail.lunch-time.com的域名  并将其A记录指向您的SMTP服务器出口公网IP地址,如:220.112.20.18,接着请与您的固定IP所属ISP联系要求为您的IP反向解析至okmail.lunch-time.com。完成后别忘了将您的SMTP服务器的HELO域名改为okmail.lunch-time.com,这样才可以达到目的。

 

2. 一个域名对应多个IP地址的原因:

本质:该域名做了多次A记录。

原因:负载均衡,采用了分布式服务器;

 

3.为何对于同一域名,每次返回的IP列表的顺序都不一样?

DNS服务器做的负载均衡。一般客户端拿到IP列表后,会选择第一个进行访问,所以服务器会将IP列表顺序随机,以此来做到负载均衡。(当然也有客户端会随机选取IP访问的,但这和负载均衡的目的不冲突)

 

4. 什么是权威DNS

从字面意思也可以看出,权威就是该域名及下级域名的“说了算”的服务器;在权威上可以设置,修改,删除该区域内的解析记录, 而非权威DNS只能是查询.

 

5. 什么是Local DNS

Local DNS 也是和我们日常上网接触最多的DNS包括你的服务提供商(ISP)分配给你的DNS(一般为两个),或者接下来讲到的公共DNS。又因为填写在你的本地电脑上,所以也称为Local DNS

 

6. 什么是公共DNS

我们都知道,我们要能上网,就必须要使用DNS。这个DNS可能是你的运营商提供给你的,也可以是一些其它组织提供的,比如我们熟知的谷歌的8.8.8.8,国内114dns的114.114.114.114. 。他们负责给我们的请求提供解析服务。

不过首先要明白,公共DNS不是:

  • 不是根服务器
  • 不是权威dns托管商,不提供域名注册等服务,比如万网和DNSpod
  • 不是权威dns,不针对个别域名进行解析

公共DNS服务的特点就是服务的域名数量巨大,用户数多,同时要求具有安全性和抗攻击性,低延迟(响应快),无拦截(无广告)以及对解析成功率要求非常的高。

 

7. 什么是TTL?什么是DNS TTL?
TTL:Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。
每经过一个路由器,TTL值减1,如果在IP包到达目的IP之前,TTL减到0,路由器将会丢弃这个IP包并向IP包的发送者发送ICMP time exceeded消息。
DNS TTL:DNS Time-To-Live,简单的说它表示一条域名解析记录在DNS服务器上缓存时间.当各地的DNS服务器接受到解析请求时,就会向域名指定的DNS服务器发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向DNS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。
查看命令行:nslookup -d www.zhihu.com

 

8.什么是DNS域(Zone)?

事实上,在全世界范围内只设置一台DNS服务器来工作是不现实的,Internet上有成千上万台DNS服务器在工作,这些DNS服务器共同构成了DNS域名空间。很显然,这些DNS服务器各自承担了一定的DNS域名解析的任务,只有在自己无法
解析的情况下,才转发到别的DNS服务器上。这实际上是一种“分治”的思想,将一个大的问题分解为若干个小问题,对每个小问题单独进行解决,然后再来解决大的问题。
所谓DNS区域,实际上就是一台DNS服务器上完成的那部分域名解析的工作。以图为例,在CCTV中设置一个DNS服务器,这个DNS服务器将完成域名空间“cctv.com”下的域名解析工作,我们就称这是一个区域。在DNS服务器中,必须先建立区域,在区域中建立子域,在区域或者子域中添加主机记录。
在pku中设置一个DNS服务器,这个服务器完成域名空间“pku.edu.cn”下的域名解析工作,我们就称这也是一个区域。因此,区域(Zone)实际上就是DNS域名空间中连续的树。它将域名空间按照需要划分成了若干较小的管理单位。
存储区域数据的文件,称为区域文件。一台DNS服务器上可以存放多个区域文件,同一个区域文件也可以存放在多台DNS服务器上。

 

参考链接

  • http://www.cnblogs.com/zhukunrong/p/4414291.html
  • http://www.cnblogs.com/cobbliu/archive/2013/04/02/2996333.html
  • http://www.cnblogs.com/cobbliu/p/3188632.html
  • http://blog.theerrorlog.com/nameservers-and-the-mechanism-of-dns-resolving.html
  • http://blog.csdn.net/u013920085/article/details/42552987

这篇关于DNS知识指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139505

相关文章

Nginx实现动态封禁IP的步骤指南

《Nginx实现动态封禁IP的步骤指南》在日常的生产环境中,网站可能会遭遇恶意请求、DDoS攻击或其他有害的访问行为,为了应对这些情况,动态封禁IP是一项十分重要的安全策略,本篇博客将介绍如何通过NG... 目录1、简述2、实现方式3、使用 fail2ban 动态封禁3.1 安装 fail2ban3.2 配

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log