您现在的位置是: 首页 > 网站建设 网站建设

站长之家域名解析_站长之家 域名查询

zmhk 2024-05-31 人已围观

简介站长之家域名解析_站长之家 域名查询       很高兴有机会参与这个站长之家域名解析问题集合的讨论。这是一个多元且重要的话题,我将采取系统的方法,逐一回答每个问题,并分享一些相关的案例和观点。1.域名解析错误怎么回事?2.有多少方法可以查到一个网站的 I

站长之家域名解析_站长之家 域名查询

       很高兴有机会参与这个站长之家域名解析问题集合的讨论。这是一个多元且重要的话题,我将采取系统的方法,逐一回答每个问题,并分享一些相关的案例和观点。

1.域名解析错误怎么回事?

2.有多少方法可以查到一个网站的 IP 地址

3.域名解析出错了是怎么回事?

4.如何提高我的DNS域名解析速度

5.怎样来查看域名的解析地址

6.如何修改域名解析,修改域名指向,修改域名DNS

站长之家域名解析_站长之家 域名查询

域名解析错误怎么回事?

       一、确认DNS是否出现问题:

       1、打开CMD命令行窗口、输入nslookup回车确认。

       2、输入一个你熟悉的站点对应的域名,如果出现 DNS request timed out,timeout was 2 seconds则说明DNS出现了故障。

       二、解决DNS方法:

       1、找到“开始”——“运行”——”输入CMD“,打开命令行窗口。

       2、输入ipconfig /all命令来查询网络参数。

       3、同样方法查看同一个局域网内其它可上网用户的DNS服务器。将自己的改成别人的即可。

       4、如果只改动DNS服务器还不可以正常上网,就需要手动配置IP地址,将IP地址的最后一段改成与别人的不同即可。

有多少方法可以查到一个网站的 IP 地址

       DNS也叫网域名称系统,是互联网的一项服务。它实质上是一个域名和IP相互映射的分布式数据库,有了它,我们就可以通过域名更方便的访问互联网。

       DNS特点有分布式的,协议支持TCP和UDP,常用端口是53,每一级域名的长度限制是63,域名总长度限制是253。

       最早的时候,DNS的UDP报文上限大小是512字节,所以当某个response大小超过512(返回信息太多),DNS服务就会使用TCP协议来传输。后来DNS协议扩展了自己的UDP协议,DNS client发出查询请求时,可以指定自己能接收超过512字节的UDP包,这种情况下,DNS还是会使用UDP协议。

分层的数据库结构:

       DNS的结构跟Linux文件系统很相似,像一棵倒立的树。下面用站长之家的域名举例:最上面的.是根域名,接着是顶级域名,再下来是站长之家域名chinaz依次类推。使用域名时,从下而上。s.tool.chinaz就是一个完整的域名,www.chinaz也是。

       之所以设计这样复杂的树形结构,是为了防止名称冲突。这样一棵树结构,当然可以存储在一台机器上,但现实世界中完整的域名非常多,并且每天都在新增、删除大量的域名,存在一台机器上,对单机器的存储性能就是不小的挑战。

       另外,集中管理还有一个缺点就是管理不够灵活。可以想象一下,每次新增、删除域名都需要向中央数据库申请是多么麻烦。所以现实中的DNS都是分布式存储的。

       根域名服务器只管理顶级域,同时把每个顶级域的管理委派给各个顶级域,所以当你想要申请下的二级域名时,找域名注册中心就好了。二级域名,再向下的域名就归你管理了。

当你管理,美国的.us。一般公司申请公网域名时,如果是跨国产品,应该选择通用顶级域名。

       如果没有跨国业务,看自己喜好(可以对比各家顶级域的服务、稳定性等再做选择)。这里说一下几个比较热的顶级域,完整的顶级域参见维基百科。

       meme顶级域其实是国家域名,是黑山共和国的国家域名,只不过它对个人开发申请,所以很多个人博主就用它作为自己的博客域名。

       io很多开源项目常用io做顶级域名,它也是国家域名。因为io与计算机中的input/output缩写相同,和计算机的二机制10也很像,给人一种geek的感觉。相较于.域名,.io下的资源很多,更多选择。

       DNS解析流程:

       聊完了DNS的基本概念,我们再来聊一聊DNS的解析流程。当我们通过浏览器或者应用程序访问互联网时,都会先执行一遍DNS解析流程。

标准glibc提供了libresolv.so.2动态库,我们的应用程序就是用它进行域名解析(也叫resolving)的,它还提供了一个配置文件/etc/nsswitch.conf来控制resolving行为,配置文件中最关键的是这行:

       hosts:files dns myhostname。

它决定了resolving的顺序,默认是先查找hosts文件,如果没有匹配到,再进行DNS解析。默认的解析流程如下图:

上图主要描述了client端的解析流程,我们可以看到最主要的是第四步请求本地DNS服务器去执行resolving,它会根据本地DNS服务器配置,发送解析请求到递归解析服务器(稍后介绍什么是递归解析服务器),本地DNS服务器在/etc/resolv.conf中配置。下面我们再来看看服务端的resolving流程:

       我们分析一下解析流程:

       客户端向本地DNS服务器(递归解析服务器)发出解析//tool.chinaz域名的请求,本地dns服务器查看缓存,是否有缓存过//tool.chinaz域名,如果有直接返回给客户端;如果没有执行下一步。

       本地dns服务器向根域名服务器发送请求,查询顶级域的nameserver地址,拿到域名的IP后,再向 nameserver发送请求,获取chinaz域名的nameserver地址。

       继续请求chinaz的nameserver,获取tool域名的地址,最终得到了//tool.chinaz的IP,本地dns服务器把这个结果缓存起来,以供下次查询快速返回。

       本地dns服务器把把结果返回给客户端,递归解析服务器vs权威域名服务器,我们在解析流程中发现两类DNS服务器,客户端直接访问的是递归解析服务器,它在整个解析过程中也最忙。它的查询步骤是递归的,从根域名服务器开始,一直询问到目标域名。

       递归解析服务器通过请求一级一级的权威域名服务器,获得下一目标的地址,直到找到目标域名的权威域名服务器,简单来说:递归解析服务器是负责解析域名的,权威域名服务器,是负责存储域名记录的。

       递归解析服务器一般由ISP提供,除此之外也有一些比较出名的公共递归解析服务器,如谷歌的8.8.8.8,联通的114,BAT也都有推出公共递归解析服务器,但性能最好的应该还是你的ISP提供的,只是可能会有DNS劫持的问题。

       缓存,由于整个解析过程非常复杂,所以DNS通过缓存技术来实现服务的鲁棒性。当递归nameserver解析过//tool.chianaz域名后,再次收到//tool.chinaz查询时,它不会再走一遍递归解析流程,而是把上一次解析结果的缓存直接返回。

       并且它是分级缓存的,也就是说,当下次收到的是//www.chinaz的查询时,由于这台递归解析服务器已经知道//chinaz的权威nameserver,所以它只需要再向//chinaz nameserver发送一个查询www的请求就可以了。

根域名服务器的地址是固定的,目前全球有13个根域名解析服务器,这13条记录持久化在递归解析服务器中:

       为什么只有13个根域名服务器呢,不是应该越多越好来做负载均衡吗?之前说过DNS协议使用了UDP查询,由于UDP查询中能保证性能的最大长度是512字节,要让所有根域名服务器数据能包含在512字节的UDP包中,根服务器只能限制在13个,而且每个服务器要使用字母表中单字母名。

       智能解析,就是当一个域名对应多个IP时,当你查询这个域名的IP,会返回离你最近的IP。由于国内不同运营商之间的带宽很低,所以电信用户访问联通的IP就是一个灾难,而智能DNS解析就能解决这个问题。

       智能解析依赖EDNS协议,这是google起草的DNS扩展协议,修改比较简单,就是在DNS包里面添加origin client IP,这样nameserver就能根据client IP返回距离client比较近的server IP了。

       国内最新支持EDNS的就是DNSPod了,DNSPod是国内比较流行的域名解析厂商,很多公司会把域名利用DNSPod加速。

       一般我们要注册域名,都要需要找域名注册商,比如说我想注册//hello,那么我需要找域名注册商注册hello域名。的域名注册商不止一家,这些域名注册商也是从ICANN拿到的注册权,参见如何申请成为.域名注册商。

       域名注册商都会自建权威域名解析服务器,比如你在狗爹上申请一个.下的二级域名,你并不需要搭建nameserver,直接在godaddy控制中心里管理你的域名指向就可以了,原因就是你新域名的权威域名服务器默认由域名注册商提供。

       当然你也可以更换,比如从godaddy申请的境外域名,把权威域名服务器改成DNSPod,一方面加快国内解析速度,另一方面还能享受DNSPod提供的智能解析功能。

       用bind搭建域名解析服务器,由于网上介绍bind搭建的文章实在太多了,我就不再赘述了,喜欢动手的朋友可以网上搜一搜搭建教程,一步步搭建一个本地的nameserver玩一玩。这里主要介绍一下bind的配置文件吧。

       bind的配置文件分两部分,bind配置文件和zone配置文件,bind配置文件位于/etc/named.conf,它主要负责bind功能配置,如zone路径、日志、安全、主从等配置其中最主要的是添加zone的配置以及指定zone配置文件。

开启递归解析功能,这个如果是no,那么此bind服务只能做权威解析服务,当你的bind服务对外时,打开它会有安全风险,如何防御不当,会让你的nameserver被hacker用来做肉鸡zone的配置文件在bind配置文件中指定,下图是一份简单的zone配置:

       zone的配置是nameserver的核心配置,它指定了DNS资源记录,如SOA、A、CNAME、AAAA等记录,各种记录的概念网上资料太多,我这里就不重复了。其中主要讲一下SOA和CNAME的作用。

       SOA记录表示此域名的权威解析服务器地址。上文讲了权威解析服务器和递归解析服务器的差别,当所有递归解析服务器中有没你域名解析的缓存时,它们就会回源来请求此域名的SOA记录,也叫权威解析记录。

       CNAME的概念很像别名,它的处理逻辑也如此。一个server执行resloving时,发现name是一个CNAME,它会转而查询这个CNAME的A记录。一般来说,能使用CNAME的地方都可以用A记录代替,它是让多个域名指向同一个IP的一种快捷手段。

       这样当最低层的CNAME对应的IP换了之后,上层的CNAME不用做任何改动。就像我们代码中的硬编码,我们总会去掉这些硬编码,用一个变量来表示,这样当这个变量变化时,我们只需要修改一处。

       配置完之后可以用named-checkconf和named-checkzone。两个命令来check我们的配置文件有没有问题,之后就可以启动bind服务了:$>service named start,Redirecting to/bin/systemctl restart named.service。

       我们用netstat-ntlp,来检查一下服务是否启动,53端口已启动,那么我们测试一下效果,用dig解析一下域名,使用127.0.0.1作为递归解析服务器。

       我们看到dig的结果跟我们配置文件中配置的一样是1.2.3.4,DNS完成了它的使命,根据域名获取到IP。用DNS实现负载均衡,一个域名添加多条A记录,解析时使用轮询的方式返回随机一条,流量将会均匀分类到多个A记录。www IN A1.2.3.4,www IN A1.2.3.5。

       其实每次DNS解析请求时,nameserver都会返回全部IP,如上面配置,它会把1.2.3.4和1.2.3.5都返回给client端。那么它是怎么实现RR的呢?nameserver只是每次返回的IP排序不同,客户端会把response里的第一个IP用来发请求。DNS负载均衡vs LVS专业负载均衡。

       和LVS这种专业负载均衡工具相比,在DNS层做负载均衡有以下特点:实现非常简单,默认只能通过RR方式调度,DNS对后端服务不具备健康检查。

       DNS故障恢复时间比较长(DNS服务之间有缓存),可负载的rs数量有限(受DNS response包大小限制),真实场景中,还需要根据需求选择相应的负载均衡策略子域授权。

我们从.域下申请一个二级域名 敲回车键,进行测试查看也可以点击桌面左下角系统图标里的运行进行查看。

       6、ping 一下自己解析的域名,会看到已经解析成功,域名可以访问。代表已经成功。或者直接在浏览器里输入域名直接访问,成功访问就代表域名已经解析成功了。

       修改域名解析,修改域名指向,修改域名DNS的具体步骤如下:

       1、首先打开电脑,同时按住“Win+R”键,打开运行窗口,输入“cmd”,打开cmd窗口。

       2、然后在弹出来的窗口中打开“记事本”,点击“以管理员身份运行”,点击“是”。

       3、然后在“记事本”页面点击“文件”,点击“打开”。

       4、然后在弹出来的窗口中选择“hosts”文件并点击“打开”。

       5、在“记事本”上输入“127.0.0.1 www.a.com”。

       6、点击“文件”,点击“保存”或者同时按住“Ctrl+S”键进行保存。

       7、回到cmd窗口就可以验证映射生效了。

       好了,今天关于“站长之家域名解析”的探讨就到这里了。希望大家能够对“站长之家域名解析”有更深入的认识,并且从我的回答中得到一些帮助。