1. DNS故障诊断的常用工具或命令

诊断DNS解析故障的四个常用命令工具:

①unbound-checkconf:用于检查unbound服务器配置文件的语法错误

②unbound-control:是一个用于控制远程Unbound服务器的工具。

③nscd(name service cache daemon,名称服务缓存管理器):一种专门对DNS缓存进行管理的工具(RHEL7中默认未安装,可使用yum -y install nscd命令安装)。

④dig(Domain Information Groper,域信息搜索器):一种用于询问DNS服务器的命令工具,他执行DNS搜索,显示从接收请求的域名服务器返回的答复。

DNS故障诊断的常用工具或命令

dig命令的格式:

dig [@server] [type] [name] [-x addr] [-p port#]

其中:

server——待查询DNS服务器的名称或IP地址,若缺省此项则根据本机/etc/resolv.conf文件中列举的DNS服务器做出应答。

name——指定要查询的域名。

type——指定要查询的记录类型,如A、ANY、MX、NS、SOA等类型,默认值为A。

-b address——指定通过哪块网卡(IP地址)进行查询,适用于多网卡环境下指定网卡。

-x address——表示要对指定的IP地址进行反向查询。

-p port——指定DNS服务器所使用的端口.用于当服务器使用非标准DNS端口的状况。

dig命令的输出信息包括以下内容:

●第一行:显示当前dig的版本和查询内容。

●第三行:全局设置选项为直接在窗口显示结果。

●第四行到第六行:显示查询结果的信息。

●QUESTION SECTION(查询段),显示查询的条件和对象。

●ANSWER SECTION(回应段):显示从服务器上面得到的回答 202.132.10.161。

●最后面是其它报告信息,如查询花费(微秒)、查询服务器的IP地址、查询的时间以及回应数据包的大小。

2. DNS故障点出错的原因

其主要的故障原因有:

①客户端指派了不正确的DNS服务器的IP地址;

②防火墙规则阻止了53号端口的DNS流量;

③Unbound服务器配置文件出错;

④DNS缓存滞后:当计算机访问某个网站或解析域名时,该解析条目会保存在计算机的DNS缓存中,但有时候会出现DNS服务器中更改了IP地址,而用户本地的DNS缓存信息没有改变,这样就会出现DNS解析故障。

⑤DNS劫持:又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址(钓鱼网站),从而实现窃取资料或者破坏原有正常服务的目的。

DNS劫持故障的排除方法之一是将当前被劫持的DNS服务器更换为其他公共DNS服务器,常用公共DNS服务器及其IP地址见下表:

名称

DNS服务器IP地址

名称

DNS服务器IP地址

DNSPod DNS+

119.29.29.29、182.254.116.116

114 DNS

114.114.114.114、114.114.115.115

阿里 AliDNS

223.5.5.5、223.6.6.6

Google DNS

8.8.8.8、8.8.4.4

V2EX DNS

199.91.73.222、78.79.131.110

OpenDNS

208.67.222.222、208.67.220.220

CNNIC SDNS

1.2.4.8、210.2.4.8

OpenerDNS

42.120.21.30

DNS派

101.226.4.6、218.30.118.6

百度 BaiduDNS

180.76.76.76

⑥DNS污染:是一种让一般用户由于得到虚假目标主机IP而不能与其通信的方法,是一种DNS缓存投毒攻击。其工作方式是:由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,因此DNS的查询非常容易被篡改,通过对UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器给查询者返回虚假结果。一些被禁止访问的网站基本是通过DNS污染来实现的。对于DNS污染,通常可以使用各种SSH加密代理,在加密代理里进行远程DNS解析或者使用VPN上网的方法解决,但这大多需要购买付费的VPN或SSH等,也可以通过修改主机中hosts文件的方法,手动设置域名对应的正确IP地址来排除故障。

3. DNS缓存滞后的故障排除方法

在Linux系统下DNS缓存滞后的故障排除

步骤1:查看初始状态的Unbound服务器的DNS缓存数据。

[root@dns2 ~]# unbound-control dump_cache

START_RRSET_CACHE

END_RRSET_CACHE

START_MSG_CACHE

END_MSG_C

步骤2:在客户端上,使用dig命令向纯缓存DNS服务器请求解析两条资源记录。

[root@client ~]# dig @dns2.dyzx.edu A www.dyzx.edu

……

www.dyzx.edu. 3600 IN A 192.168.8.3

……

[root@client ~]# dig @dns2.dyzx.edu cname ftp.dyzx.edu

……

ftp.dyzx.edu. 3600 IN CNAME www.dyzx.edu.

……

步骤3:在缓存DNS服务器端,显示查询后DNS缓存信息。将当前Unbound服务器的DNS缓存数据转储到指定的文件中

[root@dns2 ~]# unbound-control dump_cache

START_RRSET_CACHE

;rrset 3500 1 0 8 3

ftp.dyzx.edu. 3500 IN CNAME www.dyzx.edu.

;rrset 3363 1 0 8 3

www.dyzx.edu. 3363 IN A 192.168.8.3

END_RRSET_CACHE

START_MSG_CACHE

msg ftp.dyzx.edu. IN CNAME 33152 1 3500 3 1 0 0

ftp.dyzx.edu. IN CNAME 0

msg www.dyzx.edu. IN A 33152 1 3363 3 1 0 0

www.dyzx.edu. IN A 0

END_MSG_CACHE

EOF

步骤4:在服务器端,对DNS缓存进行整理,删除缓存中陈旧或错误的资源记录→将整理后DNS缓存信息转储到指定文本文件,以备后用→重启DNS服务后系统会自动清除所有DNS缓存信息。

[root@dns2 ~]# unbound-control flush www.dyzx.edu //清除缓存中指定的资源记录

ok

[root@dns2 ~]# unbound-control flush_zone dyzx.edu //清除缓存中指定区域的全部资源记录

ok removed 3 rrsets, 3 messages and 0 key entries

[root@dns2 ~]# unbound-control dump_cache > /tmp/dns_cache.txt

[root@dns2 ~]# systemctl restart unbound.service

[root@dns2 ~]# unbound-control dump_cache

START_RRSET_CACHE

END_RRSET_CACHE

START_MSG_CACHE

END_MSG_CACHE

EOF

步骤5:加载Unbound缓存数据,使保存的DNS缓存数据回填到缓存中→查看回填后的信息。

//从文件读取数据以填充缓存

[root@dns2 ~]# unbound-control load_cache </tmp/dns_cache.txt

[root@dns2 ~]# unbound-control dump_cache

提示:

①在Linux下还可以通过安装nscd服务,并使用“nscd -i hosts”命令或重新启动nscd服务命令“systemctl restart nscd”来清除DNS缓存。

②在Windows客户端中DNS缓存滞后的故障,可通过刷新DNS缓存来排除,其刷新过程为:同时按下【Windows徽标+R】组合键→在打开的【运行】对话框中输入“cmd”命令→在打开的命令行窗口中输入“ipconfig /displaydns”命令查看本机的DNS缓存信息→输入“ipconfig /flushdns”命令刷新DNS缓存信息。

③Windows下的DNS缓存是由后台进程控制的,可以在【控制面板】→【服务】中将【DNS Client】禁用,从而取消Windows的DNS缓存功能,此后的查询请求都将直接查询DNS服务器而忽略本机的DNS缓存了。

DNS服务器的维护与故障排除的更多相关文章

  1. DNS服务器原理简述、搭建主/从DNS服务器并实现智能解析

    1. TLD:Top Level Domain 顶级域名 组织域:.com, .net, .org, .gov, .edu, .mil 国家域:.iq, .tw, .hk, .jp, .cn, ... ...

  2. 《DevOps故障排除:Linux服务器运维最佳实践》读书笔记

    首先,这本书是Linux.CN赠送的,多谢啦~ http://linux.cn/thread-12733-1-1.html http://linux.cn/thread-12754-1-1.html ...

  3. Atitit.播放系统的选片服务器,包厢记时系统 的说明,教程,维护,故障排查手册p825

    Atitit.播放系统的选片服务器,包厢记时系统 的说明,教程,维护,故障排查手册p825 1. 播放系统服务器方面的维护2 1.1. 默认情况下,已经在系统的启动目录下增加了俩个启动项目2 1.2. ...

  4. 全国出现大面积DNS服务器故障 域名被劫持

    1月21日消息,继今日上午腾讯16项服务出现故障后,大量网站出现了无法访问的情况,据了解,该故障是由于国内DNS根服务器故障所致. 据了解,此次攻击式由于国内所有通用顶级域的根服务器出现异常,导致大量 ...

  5. SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之建立活动目录域、DNS服务器和Windows故障转移群集(准备工作)

    因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...

  6. 使用JDK工具进行Java服务器应用程序故障排除

    Java性能调优指南–有关提高Java代码性能的各种技巧. 最近又学到了很多新知识,感谢优锐课老师细致地讲解,这篇博客记录下自己所学所想. 1. 介绍 在Java世界中,我们大多数人习惯于在Java应 ...

  7. [CodeIgniter4]故障排除和本地开发服务器

    故障排除 以下是一些常见的安装问题,以及建议的解决方法. 我必须在我的URL中包含index.php 如果``/mypage/find/apple``类似的URL``/index.php/mypage ...

  8. Apache服务器故障排除攻略

    Apache服务器故障排除攻略 应用服务器Apache浏览器配置管理网络应用  随着网络技术的普及.应用和Web技术的不断完善,Web服务已经成为互联网上重要的服务形式之一.原有的客户端/服务器模式正 ...

  9. 计算机网络: IP地址,子网掩码,默认网关,DNS服务器详解

    楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等 ...

随机推荐

  1. java 小程序查看器 启动:未初始化小程序 解决方法

    欢迎大家转载.为保留作者成果,转载请注明出处,http://blog.csdn.net/netluoriver,有些文件在资源中也能够下载.假设你没有积分.能够联系我索要! 在执行java程序的时候突 ...

  2. linux shell grep/awk/sed 匹配tab

    处理文件的命令实在是多, sed, awk, grep等.遇到了需要匹配tab的情况, 记录一下. 例子如下:找出文本中第一列是1的行. 文本a 解法1 : 直接使用正则表达式, ^表示开头, \t表 ...

  3. C# 遍历文件夹非递归实现(采用队列的广度优先算法)(转)

    一.实现思路: 1. 创建一个队列(使用C# 队列类 Queue,需要使用命名空间 System.Collections.Generic): 2. 把起始文件夹名称排入队中: 3. 检查队列中是否有文 ...

  4. 会动的文字Marquee应用(转)

    想要做个滚动公告,看了网上的教程,无一不是很恐怖的场频啊java语言编制的JS,或者就是各种复杂,无意中发现了Marquee这东西,用了一下,很简单,只需两行代码,即可以实现很好的效果,特此分享一下. ...

  5. ElasticSearch客户端注解使用介绍

    The best elasticsearch highlevel java rest api-----bboss 1.ElasticSearch客户端bboss提供了一系列注解 @ESId  用于标识 ...

  6. javascript定义对象写法

    javascript定义对象的几种简单方法 1.构造函数方式,全部属性及对象的方法都放在构造方法里面定义 优点:动态的传递参数 缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存 funct ...

  7. SendMessage消息大全及说明

    WM_CREATE   =   &H0001     应用程序创建一个窗口     WM_DESTROY   =   &H0002     一个窗口被销毁     WM_MOVE   ...

  8. POJ 3525 Most Distant Point from the Sea 二分+半平面交

    题目就是求多变形内部一点. 使得到任意边距离中的最小值最大. 那么我们想一下,可以发现其实求是看一个圆是否能放进这个多边形中. 那么我们就二分这个半径r,然后将多边形的每条边都往内退r距离. 求半平面 ...

  9. CNN-卷积层和池化层学习

    卷积神经网络(CNN)由输入层.卷积层.激活函数.池化层.全连接层组成,即INPUT-CONV-RELU-POOL-FC (1)卷积层:用它来进行特征提取,如下: 输入图像是32*32*3,3是它的深 ...

  10. Giraph源代码分析(九)—— Aggregators 原理解析

    HamaWhite 原创.转载请注明出处!欢迎大家增加Giraph 技术交流群: 228591158 Giraph中Aggregator的基本使用方法请參考官方文档:http://giraph.apa ...