百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

实用技能:DNS故障分析及常用解决方法

nanshan 2024-10-26 11:11 13 浏览 0 评论

由于计算机无法直接识别我们输入的域名,所以必须通过DNS解析环节将域名翻译成可由计算机识别的IP地址,才能完成整个访问过程。如果DNS发生故障就无法将域名正确指向对应的IP地址,进而无法实现通过域名访问相应的站点。DNS故障的一般特征是通过域名无法访问网站,但直接访问对应的IP地址则可以正常联通。本文将针对如何进行DNS故障分析以及相应的解决方法做下简单介绍。

1.通过nslookup命令来判断DNS解析是否出现故障

(1)通过“开始->运行->输入CMD”操作,进入命令行模式。

(2)输入nslookup命令,进入DNS解析查询界面,命令行窗口中会显示出当前系统所使用的DNS服务器地址。

(3)输入无法访问的站点对应的域名。如果DNS正常,会返回正确的IP地址。如果返回DNS request timed out,timeout was 2 seconds的提示信息,则说明我们的计算机确实出现了DNS解析故障。

2.查询DNS服务器工作是否正常

(1)通过“开始->运行->输入CMD”操作,进入命令行模式。

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

(3)在ipconfig /all显示信息中,我们可以查看当前我们使用的DNS服务器。如果使用外网DNS出现解析错误时,一般情况下更换一个DNS服务器即可解决问题。

(4)如果DNS服务器显示的是公司内部网络地址,说明DNS解析工作是交由公司内部的DNS服务器来完成的,这时我们需要检查这个DNS服务器是否出现故障,在DNS服务器上进行nslookup操作看是否可以正常解析。

3.清除DNS缓存信息法

计算机对域名的访问并不是每一次都需要向DNS服务器寻求帮助,一般来说当解析工作完成一次后,该解析条目会保存在计算机的DNS缓存列表中,如果此时DNS解析出现更改变动,由于DNS缓存列表信息不能得到及时更新,计算机对该域名的访问仍会根据缓存中的对应关系进行解析,从而出现解析故障。这种情况下,我们可以通过清除DNS缓存命令解决故障。

(1)通过“开始->运行->输入CMD”进入命令行模式。

(2)输入ipconfig /?,可看到有一个名为/flushdns的命令,通过执行该命令可以清除DNS缓存信息。

(3)执行ipconfig /flushdns命令,当出现“已成功刷新DNS缓存”的提示时说明当前计算机的缓存信息已经被成功清除。

(4)接下来我们再访问域名时,就会请求DNS服务器获取最新的解析地址,从而避免解析错误情况的发生。

4.修改HOSTS文件法

修改HOSTS法就是把HOSTS文件中的DNS解析对应关系进行修改,从而实现正确解析的目的。因为在本地计算机访问某域名时会首先查看本地系统中的HOSTS文件,HOSTS文件中的解析关系优先级大于DNS服务器上的解析关系。

这样当我们希望把某个域名与某IP地址绑定的话,就可以通过在HOSTS文件中添加解析条目来实现。

(1)通过“开始->搜索”操作,查找名为HOSTS的文件。

(2)使用“记事本”程序打开该文件。

(3)之后我们就会看到HOSTS文件的所有内容了,默认情况下只有一行内容“127.0.0.1 localhost”。(其他前面带有#的行都不是真正的内容,只是帮助信息而已)

(4)将你希望进行DNS解析的条目添加到HOSTS文件中,具体格式是先写该域名对应的IP地址,然后空格加域名信息。

(5)添加完毕后,我们就可以根据设置的解析条目进行解析访问。

通过上面四个方法和步骤,我们基本上可以解决大部分的DNS故障问题。这几个方法中前三个是循序渐进的一步步解决DNS解析故障,而最后一个修改HOSTS文件则是直接在本地修改解析记录。当然不管是通过哪种方法,我们基本上都可以解决因为DNS解析错误带来的各种网络故障。

相关推荐

爬虫基础之自动化工具 DrissionPage 的使用

概述前三期文章中已经介绍到了Selenium与Playwright、Pyppeteer的使用方法,它们的功能都非常强大。而本期要讲的DrissionPage更为独特,强大,而且使用更为方...

你不得不知的云计算与虚拟化基础知识(下)

1.4KVM日常管理[root@linux-node1opt]#virshstartCentOS-7-x86_64#启动刚才创建的CentOS7KVM虚拟机DomainCentOS-7-x86...

Linux 终端复用神器 Tmux 使用详解

Tmux是TerminalMultiplexer的简称,它是一款优秀的终端复用软件,类似GNUscreen,但比screen更出色。tmux来自于OpenBSD,采用BSD授权。使用它最直...

Java快速开发框架若依(RuoYi)centos7.6部署

RuoYi是一个JavaEE企业级快速开发平台,基于经典技术组合(SpringBoot、SpringSecurity、MyBatis、Jwt、Vue),内置模块如:部门管理、角色用户、菜单...

推荐一款Linux的进程管理利器——Supervisor

一、supervisor简介项目中需要将一些自己开发的服务放到系统进程中在后台运行。一开始使用的是screen工具配合写了一个shell脚本,基本实现了启动、重启、停止操作,但是对于进程守护方面不是太...

读红蓝攻防:技术与策略34日志分析

1.日志分析1.1.要调查安全问题,通常需要查看来自不同供应商和不同设备的多种日志1.2.一旦了解了如何读取日志,在多个供应商产品的日志之间切换就会变得更容1.3.许多工具可以自动执行日志聚合...

Dify存储告急别焦虑!6步迁移教程,系统无缝切换,流畅度暴涨!

小王最近愁坏了--用Dify搭建的公司知识库因频繁导入行业文档,旧服务器硬盘红灯频闪,每次跑模型训练都弹出"存储空间不足"报错,甚至有两次差点弄丢用户对话历史数据!而某初创...

解决CentOS 中显示乱码问题(centos编码)

解决CentOS中显示乱码问题vi/etc/sysconfig/i18nLANG="en_US.UTF-8"SUPPORTED="en_US.UTF-8:en_US:e...

Tmux——超越screen的终端工具(tmux操作)

我们都知道,远程会话如果连接中断了,当前的进程任务也会中断,虽然说可以把任务放在后台,但显示不是很直观。以前linux系统常带的终端工具screen,我们今天介绍比screen更强大的工具...

MySQL如何找到使用的是哪个配置文件?

一个正在运行的MySQL实例,如何查看对应的配置文件用的是哪一个?如果存在多个文件,生效的顺序是怎么样的?1.方法一首先可以先选择查看MySQL进程信息来判断使用了哪个配置文件,例如:ps-au...

MySQL合集-基于MHA搭建高可用架构

MHA架构介绍MHA是MasterHighAvailability的缩写,它是目前MySQL高可用方面的一个相对成熟的解决方案,其核心是使用perl语言编写的一组脚本,是一套优秀的作为MySQL高...

mysql8版本的卸载、安装、升级(mysql8卸载如何彻底删除)

mysql的卸载yumremovemysql-community-client-plugins-8.0.42-1.el7.x86_64yumremovemysql-community-comm...

如何用MySQL设计一个分布式锁?(mysql分布式数据库+分布式存储)

前言分布式锁想必大家都不陌生,可以用来解决在分布式环境下,多个用户在同一时间读取/更新相同的资源带来的问题。比如秒杀场景下的库存问题、rediskey失效情况下请求直接打到MySQL中造成MySQL...

QT 5.12.11 编译MySQL 8 驱动教程- 1.01版

安装编译环境:qt5.12.11mysql8.0.28修改mysql.pro工程文件,编译生成动态库mysql.pro文件位置:D:\Alantop_Dir\alantop_sde\Qt\Qt5....

MySQL中exists和in的区别(exists在sql中的用法)

在MySQL中,EXISTS和IN用于在查询中检查某个值是否存在于某个集合或表中。exists在MySQL中,EXISTS是一个布尔操作符,用于在SELECT查询中检查子查询是否返回任何行。如果子查询...

取消回复欢迎 发表评论: