Ubuntu DNS查询分析(手把手教你诊断Linux系统中的DNS问题)

来源:这里教程网 时间:2026-03-28 12:55:34 作者:

在使用 Ubuntu 系统时,你是否遇到过“无法打开网页”、“域名解析失败”或“连接超时”等问题?这些很可能与 DNS(域名系统) 有关。本文将带你从零开始,学习如何在 Ubuntu 中进行 DNS 查询分析,帮助你快速定位和解决网络问题。无论你是 Linux 新手还是有一定经验的用户,都能轻松上手。

什么是 DNS?

DNS(Domain Name System)是互联网的“电话簿”,它将人类可读的域名(如

www.google.com
)转换为机器可识别的 IP 地址(如
142.250.185.196
)。如果 DNS 出现问题,即使你的网络连接正常,也无法访问网站。

Ubuntu 中常用的 DNS 查询工具

Ubuntu 提供了多种命令行工具来分析 DNS 查询,以下是几个最常用且对新手友好的工具:

nslookup:传统 DNS 查询工具(部分系统需安装) dig:功能强大、输出详细的 DNS 查询工具(推荐) host:简洁明了的 DNS 查询命令 systemd-resolveresolvectl:适用于使用 systemd-resolved 服务的现代 Ubuntu 系统

步骤一:检查当前 DNS 配置

首先,我们需要知道系统当前使用的是哪个 DNS 服务器。在终端中运行以下命令:

# 查看 /etc/resolv.conf(注意:在较新 Ubuntu 中可能被符号链接)cat /etc/resolv.conf# 或者使用 systemd-resolved(Ubuntu 18.04+ 推荐)resolvectl status

输出中你会看到类似

nameserver 127.0.0.53
的内容。这是本地 systemd-resolved 服务的监听地址,实际的上游 DNS 服务器会在
resolvectl status
的输出中显示(例如 8.8.8.8 或 1.1.1.1)。

步骤二:使用 dig 进行 DNS 查询

假设你想查询

www.baidu.com
的 IP 地址,可以使用
dig
命令:

dig www.baidu.com

你会看到详细输出,其中关键部分是

ANSWER SECTION
,它会列出该域名对应的 IP 地址。如果这里为空,说明 DNS 查询失败。

你也可以指定使用某个 DNS 服务器进行查询,比如 Google 的 8.8.8.8:

dig @8.8.8.8 www.baidu.com

步骤三:使用 host 和 nslookup 快速验证

host
命令更简洁:

host www.qq.com

如果你习惯使用

nslookup
(某些 Ubuntu 默认未安装),可先安装 dnsutils 包:

sudo apt updatesudo apt install dnsutilsnslookup www.taobao.com

常见问题排查技巧

1. 能 ping 通 IP 但打不开网站:很可能是 DNS 问题。尝试用

dig
查询域名。

2. 所有域名都解析失败:检查网络配置和 DNS 服务器设置,尝试更换为公共 DNS(如 8.8.8.8 或 1.1.1.1)。

3. 部分域名解析慢:可能是本地 DNS 缓存问题,可重启 systemd-resolved 服务:

sudo systemctl restart systemd-resolved

总结

通过本文介绍的 Ubuntu DNS查询分析 方法,你可以轻松诊断 DNS 相关的网络故障。掌握

dig
host
resolvectl
等工具,不仅能提升你的 Linux DNS诊断 能力,还能让你在日常运维或开发中更高效地进行 Ubuntu网络排查。记住,DNS 是网络通信的第一步,确保它正常工作是解决问题的关键!

希望这篇教程对你有帮助!如果你还有其他关于 DNS解析工具 的问题,欢迎在评论区留言交流。

相关推荐

热文推荐