对于网络运维以及系统管理而言,能够轻松且精准地去查看以及验证 DNS 解析结果,这是应对连接问题的至关重要的初始步骤呀 。熟练掌握相关的 Linux 命令,能够助力我们直接明确是本地配置出现问题、DNS 服务器发生故障或者域名记录本身有误,进而高效地排除故障 。
最为经典的工具会是这样一个东西,它叫做nslookup,它是那种属于交互式的查询工具,它所具备的功能是具备直接性质这点,在终端输入nslookup之后,就会进入交互模式这种情况里,在这个时刻输入域名就可以展开查询,与此同时你也能够直接运用非交互模式,就如同nslookup 这样,它马上就会显示出该域名所对应的IP地址,也就是A记录,以及负责予以解析的DNS服务器信息。

另外有个常用命令是dig,此即域名信息搜索器,它能给出比nslookup更详细、更专业的输出结果,当你直接运行dig 时,你能得到包含QUESTION(查询问题)、ANSWER(回答)、AUTHORITY(权威名称服务器)以及ADDITIONAL(附加信息)的完整区段linux查看dns解析命令linux查看dns解析命令,可以说其信息量是极其全面的red hat linux下载,是DNS调试环节的首选工具。
如何使用dig命令查看DNS解析详情
dig命令的强大之处展现在其灵活性与输出细节方面 。其中 ,一个典型的dig查询结果包含查询用时 ,其本地使用的DNS服务器 ,以及最为关键的ANSWER SECTION 。在此处 ,能清楚看到域名解析后的IP地址 ,TTL(生存时间)值与记录类型 。
你可以借助dig指定去查询除A记录以外的其他类型记录,举例来说,若要查询邮件交换记录,那么就使用dig MX ,要是想查域名所对应的权威名称服务器,就需用dig NS ,而当要去查询IPv6地址也就是AAAA记录时,便使用dig AAAA ,这些参数对我们全面了解一个域名的所有解析配置有帮助。
host命令如何快速查看DNS信息
‘host’命令是可供使用的,呈现出一种更简洁、更利于阅读的输出格式,其主要目的在于转化主机名成IP地址,或者反过来,经由进程执行‘host ’,它能直接列举出和该域名匹配的全部IPv4及IPv6地址,省去了‘dig’命令里的诸多详细信息,适用于有快速获得结果需求的场景。
host命令支持查询特定记录类型,比如说,host -t MX 这样做只会展示邮件交换记录,它还能用于反向DNS解析,即通过IP地址寻找对应的域名,命令格式是host 8.8.8.8,这个功能在验证PTR记录或者排查邮件服务器反向解析问题时非常有用。
如何用ping命令测试DNS解析是否生效
借助ping命令可检测网络连通性,不过执行该命令时,首先要做的就是开展DNS解析。在命令行输入ping ,命令行开头的首行输出通常会显示“PING (93.184.216.34)”这般的内容,其中括号内的IP地址是经DNS解析才得到的。这种情形直观地证明你的系统具备成功解析该域名的能力。
若是针对一个域名开展ping操作未成功,并且呈现出“未知的名称或服务”这种提示,这通常就表明DNS解析出现了失败的情形。不过需要注意,要是域名解析成功了,可是目标主机却禁止ICMP回应,那么此时ping仍旧会显示为超时状态。所以,ping命令更多时候是被用来在解析成功之后对网络可达性以及延迟进行测试,解析失败本身仅仅只是一个初步的故障信号 。
怎样查看和修改Linux系统的DNS服务器配置
系统开展DNS解析这一行为,是依靠其依照配置所设定的DNS服务器地址的。若想要查看当下的配置状况,可以查看/etc/resolv.conf这个文件,能够运用cat /etc/resolv.conf此命令。在文件当中,以“nameserver”作为起始的那些行,就是系统正在据此使用的DNS服务器的IP地址。而这个文件,有可能是由网络管理器进行动态管理运作的,要是进行手动修改的话功效可能不会长久。
在基于systemd的现代发行版当中linux操作系统原理,相较于其他途径,优先推荐采用systemd-resolve --status这种方式,或者运用nmcli dev show | grep DNS这样的操作,以此来查看处于活动状态的网络连接所使用的DNS配置。万一出现了那种得对DNS服务器进行永久性修改的情形,那就得按照你所使用的网络管理工具(比如说NetworkManager、netplan或直接去改动网络配置文件)来进行设置,可不是只对/etc/resolv.conf做更改就行的。
当DNS解析失败时应该如何排查
一旦遭遇解析失败这种情形,首先需采用上述所讲的命令(诸如dig或者nhost这类),针对公共域名(像这种)开展测试,借此判别到底是全局性的问题,还是特定域名引发的问题。倘若所有域名都无法实现解析,那么问题很可能出在你本地的DNS 服务器配置或者网络连接方面。要去查看/etc/resolv.conf里的 DNS 服务器 IP 能否正确抵达。
假设可以解析公共域名,却无法解析某一特定域名,那么问题可能出在目标域名的记录配置,亦或是其上游DNS服务器。你可以尝试更换一个公共DNS(比如8.8.8.8)来进行测试,命令为dig @8.8.8.8 。这能帮你判断是否是本地ISP的DNS服务器存在缓存或故障问题。
平日在Linux服务器的常规运维当中,你是不是最为频繁地运用dig、nslookup抑或是host来排查DNS问题呢?为什么呢?欢迎在评论的区域分享一下你的经验以及技巧,要是这篇文章对你有帮助的话,恳请为其点赞并且分享给更多有需求的朋友。
