DNS解析为什么不生效?DNS解析不生效原因分析

网站页面为什么打不开?刚修改过域名解析,为什么不生效?如何查看解析是否生效?很多企业在网站的实际运营中,经常会遇到以上DNS解析问题,给网站的运营管理人员造成诸多困扰,接下来国科云针对这些问题做下简单介绍,手把手教你定位故障环节。

1. 域名状态异常

域名状态异常是指域名因为未实名认证、未备案、到期未续费等原因而出现异常状态,从而造成域名停止解析、网站不可达等问题。

你可以通过国科云Whois查询工具查看你的域名当前所处的状态,如果域名处于以下几种状态时,域名无法被访问:

Pendingdelete(域名过期,赎回期)

Redemption period(域名过期,赎回期)

Clienthold(注册商设置暂停解析)

Serverhold(注册局设置暂停解析)

Inactive(未设置 DNS)

2. 修改域名解析尚未生效

根据域名的解析流程可知,影响用户端域名解析是否生效主要取决于运营商提供的递归DNS服务器和解析服务商提供的权威DNS服务器。由于域名解析TTL值的存在,导致域名解析修改之后,并不能及时同步到递归服务器上,从而导致解析不生效,针对这种情况可以分为两个步骤进行测试:

(1) 首先测试本地递归DNS服务器是否生效

Windows系统测试:在开始菜单中的运行窗口,输入cmd后,回车启动cmd控制端,输入 “nslookup 要检测的域名”,查看结果。如下图所示:

非权威应答表示,是运营商的递归DNS服务器解析结果,但不是域名的权威服务器解析结果。

Mac或Linux用户测试:打开终端控制器,输入:“dig 要检测的域名”,查看结果。

此外,Windows用户也可以通过安装dig,实现dig测试。

(2)测试权威DNS服务器是否生效。

Windows 用户测试:启动CMD控制端,输入:“nslookup 要检测的域名 dns服务器地址”,查看结果。

Mac或Linux用户测试:打开终端控制器,输入:“dig 要检测的域名 @dns服务器地址”,查看结果。

如果递归DNS服务器未生效、权威DNS服务器已生效,则表明域名解析修改不久,未超过TTL值,递归服务器未同步更新,需要等域名配置的TTL失效后,再次检测递归服务器是否生效。

如果TTL值过后,再次检测递归服务器仍然未生效,则可能遭遇了域名劫持或缓存投毒。

如果递归服务器和权威服务器都没有生效,则很大可能是因为域名解析没有添加成功,需要检查情况并重新添加。

3.修改DNS服务器未生效

如果域名解析更换服务商,就需要变更DNS服务器,变更DNS服务器,同样需要等待一定的缓存时间,才能完成全球DNS服务器的同步生效。不同后缀的域名对DNS服务器缓存的时间并不相同,

.com对DNS服务器缓存时间是48小时;

.cn对DNS服务器缓存时间是24小时;

.net对DNS服务器缓存时间是48小时;

在缓存时间内,由于递归服务器的缓存失效时间不同,可能会出现有的DNS请求新服务器,有的会请求旧的服务器。所以这种情况下,要耐心等待,尽量不要在此期间对DNS解析记录进行修改,防止DNS解析记录不一致,影响服务。

4.其他原因

网站的访问过程是一项复杂的过程,涉及DNS解析、网络链接、Web服务器处理等多方面的问题。DNS解析仅仅是网站访问的第一步。

如果DNS解析出来的IP地址没有问题,那么网站无法打开可能就与网络连接和web服务器有关。这时,可以用ping测试网络链接是否正常,检查Web服务器的host配置是否正确。如果使用了Web防火墙产品,还要检查Web防火墙是否对访问的域名添加了白名单。

总 结

DNS解析不生效的原因很多,但归根结底不外乎域名状态异常、递归服务器不生效和权威服务器不生效三种情况,所以我们在遇到解析不生效情况时,仔细检查上面三种情况,就能快速定位故障原因,并针对性进行应对。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Ubuntu 22.04中,如果DNS生效,你可以按照以下步骤进行排查和解决: 1. 检查网络连接:确保你的网络连接正常,并且可以访问其他网站。你可以尝试使用ping命令来测试网络连通性,比如ping google.com。如果无法ping通,可能是网络连接问题,你可以尝试重启网络设备或者联系网络管理员。 2. 检查DNS配置:查看你的网络设置中的DNS配置。在Ubuntu 22.04中,DNS配置通常位于/etc/resolv.conf文件中。你可以使用以下命令查看该文件的内容:cat /etc/resolv.conf。确认其中是否包含正确的DNS服务器地址。 3. 检查网络管理工具:如果你使用的是NetworkManager来管理网络连接,你可以尝试重新启动NetworkManager服务,使用以下命令:sudo systemctl restart NetworkManager。然后再次测试DNS是否生效。 4. 检查防火墙设置:有时候防火墙可能会阻止DNS查询。你可以检查防火墙设置,确保允许DNS流量通过。你可以使用以下命令查看防火墙规则:sudo iptables -L。如果有任何相关的规则,请确保它们允许DNS流量。 5. 清除DNS缓存:有时候DNS缓存可能导致DNS生效。你可以尝试清除DNS缓存,使用以下命令:sudo systemctl restart systemd-resolved。然后再次测试DNS是否生效。 如果你按照以上步骤检查和解决问题后,DNS仍然不生效,你可以尝试使用其他DNS服务器或联系你的网络管理员寻求帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [安装ubuntu22.04系统,配置国内源以及ssh远程登录](https://blog.csdn.net/weixin_42272246/article/details/132234273)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【ROS】Ubuntu22.04安装ROS2(Humble Hawksbill)](https://blog.csdn.net/u010168781/article/details/130765884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值