1. 题目背景
信赖大家肯定遇到过电脑网络毗连正常,微信、QQ能正常使用,但无法访问网页如许的题目。以致有的时间我们的欣赏器可以打开大部分网页,然后部分网页之前能打开如今打不开了。这些都是DNS的题目。那如许的题目该怎么办理呢?DNS又是什么呢?这篇文章将在反面的部分陈诉这两块题目。
2. 办理方案
2.1 手动刷新DNS
2.1.1 Windows版本
我们按下键盘上的win和R键打开运行,然后输入cmd后按下回车打开下令行。
或者我们直接打开菜单栏后在输入框里输入下令提示符找到并打开下令提示符。
打开后,我们输入ipconfig /flushdns按下回车后,我们利市动刷新了DNS。
这里也会提示我们刷新乐成。
一样平常来说这么操纵这个题目就办理了,假如还没有办理可以参考下一个方案。
2.1.2 Mac版本
我们打开启动台,在上面的搜刮中输入terminal就可以找到终端,我们点击以打开下令行。
然后我们输入sudo dscacheutil -flushcache后回车后,体系会要求你输入暗码,这时间我们输入是无法望见内容的,我们输入暗码后回车即可。
如许利市动刷新了DNS。
一样平常来说这么操纵这个题目就办理了,假如还没有办理可以参考下一个方案。
2.2 手动设置DNS服务器
2.2.1 Windows版
我们打开菜单栏后在输入框里输入设置找到并打开设置。
然后点击网络和Internet,然后选择第二个以太网。
在这里我们能看到DNS服务器是自动探求的,我们可以点击编辑举行修改。
然后将这里的自动改为手动,然后打开IPv4,输入8.8.8.8(谷歌)和1.1.1.1(Cloudflare)后点击保存。
然后按照方案一刷新一下DNS即可。
下面枚举了一些DNS服务器的地点,大家可以优先选择国内的DNS服务器,这里由于谷歌等比力容易影象,以是以此为例。
国内服务器DNS列表。
提供商IPv4 地点IPv6 地点DoH / DoT 备注DNSPod(腾讯)119.29.29.29
119.28.28.282402:4e00::DoH: https://doh.pub/dns-query
DoT: dot.pub阿里 AliDNS223.5.5.5
223.6.6.62400:3200::1
2400:3200:baba::1DoH: https://dns.alidns.com/dns-query
DoT: dns.alidns.com114DNS114.114.114.114
114.114.115.115—官网 https://www.114dns.com[^3^]百度 DNS180.76.76.762400:da00::6666暂无官方 DoH/DoT360 安全 DNS电信/移动:101.226.4.6 / 218.30.118.6
联通:123.125.81.6 / 140.207.198.6—DoH: https://doh.360.cn
DoT: dot.360.cn国外服务器DNS列表。提供商IPv4 地点IPv6 地点DoH / DoT 备注----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Google Public DNS8.8.8.8
8.8.4.42001:4860:4860::8888
2001:4860:4860::8844DoH: https://dns.google/dns-query
DoT: dns.googleCloudflare DNS1.1.1.1
1.0.0.12606:4700:4700::1111
2606:4700:4700::1001DoH: https://cloudflare-dns.com/dns-query
DoT: 1dot1dot1dot1.cloudflare-dns.comQuad99.9.9.9
149.112.112.1122620:fe::fe
2620:fe::9DoH: https://dns.quad9.net/dns-query
DoT: dns.quad9.netOpenDNS(思科)208.67.222.222
208.67.220.2202620:119:35::35
2620:119:53::53DoH: https://doh.opendns.com/dns-query[^2^]OpenDNS FamilyShield208.67.222.123
208.67.220.1232620:119:35::123
2620:119:53::123自动拦截成人内容但着实我们一样平常方案一就能办理题目,我们很少会遇到自动探求的DNS服务器出现题目的环境,假如出了题目我们也可以用这个方案办理。
2.2.2 Mac版
我们打开启动台,找到体系设置。
然后点击Wi-Fi,选择毗连的Wi-Fi的详细信息,会打开如下界面。
然后选择DNS后再点击加号然后输入本身想添加的DNS服务器,然后回车以确认,或者点击右下角的好以确认。
然后按照方案一刷新一下DNS即可。
下面枚举了一些DNS服务器的地点,大家可以优先选择国内的DNS服务器,这里由于谷歌等比力容易影象,以是以此为例。
国内服务器DNS列表。
提供商IPv4 地点IPv6 地点DoH / DoT 备注DNSPod(腾讯)119.29.29.29
119.28.28.282402:4e00::DoH: https://doh.pub/dns-query
DoT: dot.pub阿里 AliDNS223.5.5.5
223.6.6.62400:3200::1
2400:3200:baba::1DoH: https://dns.alidns.com/dns-query
DoT: dns.alidns.com114DNS114.114.114.114
114.114.115.115—官网 https://www.114dns.com[^3^]百度 DNS180.76.76.762400:da00::6666暂无官方 DoH/DoT360 安全 DNS电信/移动:101.226.4.6 / 218.30.118.6
联通:123.125.81.6 / 140.207.198.6—DoH: https://doh.360.cn
DoT: dot.360.cn国外服务器DNS列表。提供商IPv4 地点IPv6 地点DoH / DoT 备注----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Google Public DNS8.8.8.8
8.8.4.42001:4860:4860::8888
2001:4860:4860::8844DoH: https://dns.google/dns-query
DoT: dns.googleCloudflare DNS1.1.1.1
1.0.0.12606:4700:4700::1111
2606:4700:4700::1001DoH: https://cloudflare-dns.com/dns-query
DoT: 1dot1dot1dot1.cloudflare-dns.comQuad99.9.9.9
149.112.112.1122620:fe::fe
2620:fe::9DoH: https://dns.quad9.net/dns-query
DoT: dns.quad9.netOpenDNS(思科)208.67.222.222
208.67.220.2202620:119:35::35
2620:119:53::53DoH: https://doh.opendns.com/dns-query[^2^]OpenDNS FamilyShield208.67.222.123
208.67.220.1232620:119:35::123
2620:119:53::123自动拦截成人内容但着实我们一样平常方案一就能办理题目,我们很少会遇到自动探求的DNS服务器出现题目的环境,假如出了题目我们也可以用这个方案办理。
2.3 其他办理方案
其时我特殊小的时间,电脑还盛行装杀毒软件之类的,其时电脑装的是360安全管家,里面有一个网络工具箱,其时每次电脑没网了,用谁人检测,就会跟我说是DNS题目,然后就能帮我修复了。
前面的第一种方案相称于是我们使用下令行修复这个题目,而这个方案就相称于是如今有一个软件,它提供了一个图形化的窗口,让用户只需要点击就能完成这个操纵,低落了修复的难度,但实际的操纵方式着实就和前两种方案是一样的。假如你以为你的电脑常常会出题目,然后不知道怎么办理,你固然可以选择装一个安全管家之类的软件来资助你办理题目。但是着实如今期间不停进步,电脑出现题目的几率越来越低,而且我们获得办理方案的途径也越来越方便,假如遇到题目我们可以上网找如许的办理方案,按照每一步操纵,或者扣问AI得到办理方案都是可以选择的方案。以是我们着实不太需要一个安全管家在我们的电脑中,这也是这篇文章希望能够资助到大家的地方。
3. DNS是什么?
我们听说过IP地点,IP地点相称于是我们实际生存里的门牌号,它对应的才是我们在网络天下的真实位置。但是IP地点对于我们人来说是难以影象的,由于他是数字符号组合来的,好比我们访问www.baidu.com百度的网页,着实际的IP地点是119.75.217.109,DNS服务器就负责将我们输入的网站地点如www.baidu.com翻译成IP地点119.75.217.109。DNS的作用就相称于是电话簿,我们大概记不得一些接洽人的电话号码,我们将这些存在电话簿中,当我们想给张三打电话的时间,我们选择张三,DNS帮我们翻译成对应的电话号码从而将电话打给张三。
因此这个过程大概有的一个题目就是,张三换了一个号码,以是DNS翻译的号码假如照旧从前的号码,那我们就无法打给张三,这就是第一个方案的操纵,我们清空如今的DNS结果,让DNS给我们一个新的结果。如许DNS就会帮我们找最新张三的电话号码是多少。
固然也有大概DNS本身就不知道最新的张三的电话号码或者DNS服务器本身出现了题目,那么这就需要我们使用方案2换一个DNS服务器来看看了。
3.1 详细解释DNS
我们平常输入的一样平常都是www.baidu.com而不是对应的IP地点,由于IP地点难以影象,而www.baidu.com正是domin name(域名),我们一样平常影象的就是domin name(域名)。我们的电脑中有hosts文件(Windows:C:\Windows\System32\drivers\etc\目次下,Unix-like: /etc/ 目次下)记载了IP地点和域名的映射关系。以是当我们输入www.baidu.com后,电脑会在hosts文件中探求对应的IP地点,从而创建了毗连,乐成访问了百度。以是这个hosts文件怎样更新呢?这就要借助DNS服务器,将对应的域名分析为相应的IP地点。这便是DNS。
DNS是一种应用层协议(学习网络知识后,我们就会知道网络有多个条理),它接纳客户端/服务器架构,使用UDP协议并默认端标语为53。
resolve(分析)域名又称name/address translation(名称/地点转换)的两种方式:通过本地的hosts文件或通过与name servers(名称服务器,名称服务器就是DNS服务器)通讯。
DNS使用分布式数据库的方式来存储域名和IP地点的映射关系。这些数据库被实现为很多名称服务器的条理结构,这种条理结构使得DNS体系能够高效地举行域名分析,而且具有肯定的容错本事和可扩展性。比方当你查询一个域名的对应IP时,一个服务器会告诉你去哪一个服务器,这个服务器大概会告诉你去下一个服务器,再下一个服务器会告诉你详细的IP地点。
DNS服务包罗以下功能:
1.Hostname to IP address translation(主机名到IP地点的转换)。这一步使用Address Record(A记载)完成,它是一种在DNS数据库中的数据结构。
2.Host aliasing(主机别名),这一步将一个主机名映射到另一个主机名,从而实现主机名的别名或重定向。这一步包罗Canonical names(规范名称),指向实际的主机名。还包罗Alias names(别名),主机的替换名称,用于提供更易记的名称。这一步使用cname record(Canonical Name Record)完成,这种数据结构可以让多个域名指向同一个IP地点。
3.Mail server aliasing(邮件服务器别名),用于指定邮件服务器的主机名,允许邮件体系找到吸取特定域名邮件的邮件服务器。它使用的数据结构是mx record(Mail Exchange Record)。
4.Load Distribution(负载平衡),DNS可以将哀求分配到多个服务器,以实现负载平衡和高可用性。
5.Replicated Web servers(复制的Web服务器),多个IP地点对应一个名称,允许实现多个服务器共享同一个域名,进步网站的可靠性和性能。好比当一个服务器故障时,DNS可以克制分析到谁人服务器的IP,将流量转移到其他服务器。前面负载平衡也指出了,DNS服务器会根据当前的网络状况和服务器负载来决定指向哪个IP地点。
3.1.1 A distributed, hierarchical database(一个分布式和分层数据库结构)
那我们如今说DNS的结构。假如DNS是中央化的,那么会有以下几个题目:
1.假如出现single point of failure(单点故障),整个DNS都会受到影响。
2.全部的DNS都集中在一个地方,那么这个地方将遭受巨大的流量压力。
3.网络传输和间隔有关,以是假如集中在一个地方,肯定会存在由于间隔而导致网络耽误高而分析速率慢的题目出现。
4.在维护上集中管理的维护本钱也跟分散式的相比更高。
因此DNS是a distributed, hierarchical database(一个分布式和分层数据库结构)
起首Root DNS servers(根DNS服务器)是DNS条理结构的最顶层,它们知道全部顶级域名(如.com、.org、.edu)的权势巨子DNS服务器的位置。
下面是一些顶级域名的权势巨子DNS服务器,比方com DNS servers(.com域名的DNS服务器)。它们下面还管理各自顶级域名下的二级域名,比方(yahoo.com、amazon.com等)。
再下一层便是各个域名的权势巨子DNS服务器,它们存储了各自域名下的详细DNS记载,包罗A记载、CNAME记载等。
以是当一个客户端向获取www.amazon.com的IP地点时,客户端起首向根DNS服务器发送查询,哀求找到负责.com域名的DNS服务器,再接着向负责.com域名的DNS服务器发送查询,哀求找到负责amazon.com域名的DNS服务器,末了向amazon.com的DNS服务器发送查询,以获取www.amazon.com的详细IP地点。
回到实际应用中,当本地DNS服务器无法分析某个域名时,它会接洽根域名服务器以获取资助。假如根域名服务器不知道某个域名的映射,它会接洽相应的权势巨子名称服务器。根域名服务器获取域名到IP地点的映射。根域名服务器将获取到的映射信息返回给本地DNS服务器。
下图展示了举世13个逻辑上的根域名服务器,每个根域名服务器都有多个副本。
TLD servers(Top-level domain servers,顶级域名服务器)负责管理顶级域名,好比com,org,net,edu等。它还负责管理各个国家代码顶级域名,好比cn,uk,fr,ca,jp等。
Authoritative DNS servers(权势巨子DNS服务器)是指构造自身维护的DNS服务器,用于提供对该构造定名主机的权势巨子主机名到IP地点的映射。这些服务器可以由构造本身或者服务提供商举行维护管理。
Local DNS name server(本地DNS名称服务器)是指属于特定网络(如住宅ISP、公司、大学等)的DNS服务器,它并不严酷属于DNS条理结构中的任何一级。每个ISP都会拥有本身的本地DNS名称服务器,偶然也被称为“默认名称服务器”。当主机发起DNS查询时,查询会发送到它地点网络的本地DNS服务器。本地DNS服务器通常会维护一个本地缓存,此中包罗最近的主机名到IP地点的映射,以便加速分析速率。然而,这些缓存中的信息大概已经过期。本地DNS服务器还充当代理,它会将查询转发到DNS条理结构中的其他级别。
3.1.2 Iterated query and Recursive query(迭代查询和递归查询)
Iterated query(迭代查询):
当一个DNS服务器不知道所哀求的域名时,它会告诉哀求者去扣问另一个DNS服务器。
如图所示,哀求主机向本地DNS服务器发送查询哀求。假如本地DNS服务器不知道答案,它会向根DNS服务器发送查询。根DNS服务器告诉本地DNS服务器去扣问顶级域DNS服务器。本地DNS服务器向TLD DNS服务器发送查询。TLD DNS服务器告诉本地DNS服务器去扣问权势巨子DNS服务器。本地DNS服务器向权势巨子DNS服务器发送查询。权势巨子DNS服务器返回域名对应的IP地点。本地DNS服务器将IP地点返回给哀求主机。
Recursive query(递归查询)
被查询的DNS服务器(如本地DNS服务器)会代表客户端(如用户的电脑)举行后续的查询,直到找到所需的记载或确定记载不存在。
这意味着名称分析的负担被放在了被接洽的DNS服务器上。服务器需要处理查询并大概举行额外的查询,这大概导致DNS条理结构的上层(如根DNS服务器和TLD DNS服务器)遭受较重的负载,由于它们需要处理大量的查询哀求。
如图所示,哀求主机向本地DNS服务器发送查询哀求。假如本地DNS服务器不知道答案,它会向根DNS服务器发送查询。根DNS服务器假如不知道答案,根DNS服务器会向TLD DNS服务器发送查询。假如TLD DNS服务器不知道答案,TLD DNS服务器会向权势巨子DNS服务器发送查询。末了权势巨子DNS服务器将IP地点返回给TLD DNS服务器,TLD DNS服务器将这个IP地点返回给根DNS服务器,根DNS服务器将这个IP地点返回给本地DNS服务器,本地服务器再返回给哀求主机。
dig +trace是一个下令行工具,用于表现从客户端到权势巨子DNS服务器的完备递归查询过程。
3.1.3 Caching, Updating records(缓存和记载更新)
一旦任何一个DNS名称服务器学习到了域名到IP地点的映射关系,它会将这些映射信息缓存起来。缓存中的条目会在肯定时间后(TTL,time to live,生存时间)过期并消失。通常,顶级域名服务器的信息会被缓存在本地名称服务器中,如许就不需要常常访问根名称服务器。
然而,由于缓存中的条目大概会过期,假如某个主机的IP地点发生了变革,这个变革大概需要比及全部TTL过期后才气在整个互联网中得到更新。而我们的方案一就是手动清算全部的缓存,从而更新这里的记载。
为了办理这个题目,IETF提出了更新/关照机制的标准,此中的一个标准便是RFC 2136。
DNS是一个分布式数据库,用于存储资源记载(RR, resource records)。资源记载的格式通常为(name, value, type, ttl)。
这里假如type=A,便是A记载,代表主机地点记载,name是主机名,value是对应的IP地点。
假如type = CNAME,便是CNAME记载,指向“规范”(真实)名称,name是别名,value是规范名称,也就是真实的目的主机名。
假如type = NS,代表域名服务器记载,name是域名(比方foo.com),value是该域名的权势巨子名称服务器的主机名。
假如type=MX,便是MX记载,代表邮件互换记载,value是与name相干联的邮件服务器的名称。
我们可以使用nslookup下令去查询一个域名对应的IP地点,如下图所示。
当我们使用差别的网络我们获得的DNS分析的IP地点大概差别,如下图所示。前两次都是使用学校的两个差别的网络查询的,它们返回的是路由器的默认网关IP地点,由于它们都是内网。而第三个不是内网,返回的IP地点就不会是前面一样的私有IP了。
我们还可以使用whois下令去获取域名的注册信息。如下图所示。
3.1.4 DNS protocol,messages
DNS的查询和复兴信息共享雷同的信息格式。如下图所示。
第一行是消息头,包罗关键的元数据,用于标识和处理DNS消息。信息头包罗identification(标识)和flags(标志)。Identification(标识)是一个16位的数字,用于唯一标识一个查询。当服务器复兴查询时,会使用雷同的标识符,以便客户端能够将复兴与原始查询匹配。一个16位的数字,用于唯一标识一个查询。当服务器复兴查询时,会使用雷同的标识符,以便客户端能够将复兴与原始查询匹配。包罗多个标志位,用于控制消息的举动和状态。此中包罗:
1.指示信息是查询照旧复兴。
2.客户端希望服务器实行递归查询。
3.服务器能够实行递归查询。
4.复兴是否来自权势巨子DNS服务器。
# questions(题目数量),表现消息中包罗的查询题目数量。
# answer RRs(答复资源记载数量),表现消息中包罗的答案资源记载的数量。
# authority RRs(权势巨子资源记载数量),表现消息中包罗的权势巨子资源记载的数量,这些记载指出了哪个服务器是某个域名的权势巨子服务器。
# additional RRs(附加资源记载数量),表现消息中包罗的附加资源记载的数量,这些记载提供了额外的信息,如DNS服务器的地点。
questions,包罗客户端提出的查询题目,可以有一个或多个。查询中包罗域名和查询范例的字段,指定了要查询的域名和查询的资源范例(如A记载、MX记载等)。
answers,包罗包罗对查询题目的相应,可以有一个或多个资源记载,提供了查询域名的分析结果。
authority,提供权势巨子信息,指出哪个DNS服务器是某个域名的权势巨子服务器。
additional info,提供额外的DNS记载,大概包罗额外的NS记载或其他范例的记载。
下图展示了wireshark抓包抓取的DNS查询数据包的详细环境。
第一行的Transaction ID(事务ID)等同于Identification(标识)。
下一行Flags字段中的每一位都代表一个特定的标志。细节如下:
1.QR(Query/Response):这是最高位,假如是0,则消息是查询(Query);假如是1,则消息是相应(Response)。在0x0100中,这个位是0,表现这是一个查询。
2.Opcode:接下来的4位用于指定操纵码。在这里,0000表现这是一个标准查询(Standard query),意味着一个平凡的哀求,用于获取资源记载。
3.AA (Authoritative Answer):假如设置(1),表现相应来自权势巨子DNS服务器。在这里,这个位是0,表现这不是权势巨子答案。
4.TC (Truncated):假如设置(1),表现消息被截断,大概是由于相应数据太大而无法在单个UDP数据包中发送。。在这里,这个位是0,表现消息没有被截断。
5.RD (Recursion Desired):假如设置(1),表现客户端希望服务器实行递归查询。。在这里,这个位是1,表现客户端希望举行递归查询。
6.RA (Recursion Available):假如设置(1),表现服务器支持递归查询。。在这里,这个位是0,表现服务器不支持递归查询。
7.Z:保存位,通常不使用。
8.AD (Authenticated Data):假如设置(1),表现相应是经过验证的。在这里,这个位是0,表现数据未经过验证。
9.CD (Checking Disabled):假如设置(1),表现客户端不希望举行DNSSEC验证。在这里,这个位是0,表现没有禁用查抄。
下图展示了与上面DNS哀求相对应的复兴。
那我如今怎样向DNS插入记载呢?假设如今有一个新的网站域名 “feimax.com”
起首,你需要在DNS注册商(比方net.cn)处注册feimax.com这个域名。通常环境下,你不需要本身设置NS记载,由于注册商会为你设置好。然后,你需要向DNS中插入A记载,将feimax.com指向你的主机的IP地点,如许当有人访问feimax.com时,DNS就能够将其分析为相应的IP地点。接着,你还需要插入MX记载,用于指定与feimax.com相干联的邮件服务器的名称。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |