DNS问题故障排除:使用nslookup、dig和host等命令

2021年11月22日18:40:51 发表评论 1,513 次浏览

介绍

DNS(域名系统)将与域名相关的信息存储为分布式数据库。客户端-服务器服务将域名转换为 IP 地址,反之亦然。

大多数其他网络服务,例如 Web、电子邮件和文件传输,都使用 DNS。错误配置的 DNS 服务器可能会导致严重的连接问题。值得庆幸的是,对 DNS 问题进行故障排除是一个至关重要且相对简单的过程。

如何解决DNS问题按照本教程学习解决 DNS 问题的实用步骤,包含多个DNS问题解决办法

先决条件

  • 稳定的互联网连接。
  • 访问命令行/终端。
  • 具有管理员/sudo 权限的用户帐户。

注意:按照我们的教程在 Ubuntu 上设置 DNS 名称服务器。

DNS问题故障排除

DNS 故障排除遵循从基本网络故障排除到更深入分析的逻辑步骤。网络服务通常会出于不需要深入 DNS 故障排除的原因报告 DNS 问题。

DNS问题解决办法:如果你遇到 DNS 问题,请先执行以下步骤,然后再进行深入的故障排除:

  • 检查电缆

如果使用有线连接,请确保一切都正确连接。在无线网络上,检查 WiFi 是否已打开并已连接。检查路由器是否所有电缆都正常工作。尝试切换以太网电缆的端口并测试连接。

  • 重启路由器

关闭路由器并等待至少两分钟,然后再重新打开。等待路由器完全启动后再重新检查连接。

  • 扫描恶意软件

病毒有时会阻止互联网连接。运行扫描以查看是否出现任何可疑内容并进行相应处理。

  • 检查网站

如果在连接到特定网站或网站的一部分时出现问题,请检查连接问题是否与网站本身有关。一种方法是使用ping 命令。

DNS问题故障排除:使用nslookup、dig和host等命令

命令输出有助于确定连接问题的原因:

1. 如果ping没有显示响应,则问题很可能出在服务器端。

2. 响应错误的常见原因是 DNS 服务器或防火墙限制配置不当。了解如何解决“名称解析暂时失败”错误。

3. 如果输出显示响应,则问题很可能出在 DNS 上。

下面的综合列表提供了解决 DNS 问题的宝贵技巧。

检查 TCP/IP 设置

如何解决DNS问题?错误配置的 DNS 服务器地址是一个常见问题。重置设置并检查通信是否恢复正常。根据你使用的操作系统,步骤不同。

对于 Windows:

1.在开始菜单中搜索网络状态并打开该工具。

DNS问题故障排除:使用nslookup、dig和host等命令

2.在网络连接详细信息下选择属性

DNS问题故障排除:使用nslookup、dig和host等命令

3. 单击编辑按钮更改 IP 设置。

DNS问题故障排除:使用nslookup、dig和host等命令

4. 如果IP 分配Manual,请仔细检查IPPreferredAlternate DNS地址。更改IP分配选择自动(DHCP)从下拉菜单中重置回正常。

DNS问题故障排除:使用nslookup、dig和host等命令

5. 完成后保存设置。

对于 Linux:

1. 点击右上角的连接图标。

DNS问题故障排除:使用nslookup、dig和host等命令

2. 打开菜单并选择有线设置

DNS问题故障排除:使用nslookup、dig和host等命令

3. 单击连接窗格中的齿轮图标以打开设置。

DNS问题故障排除:使用nslookup、dig和host等命令

4. 导航到设置菜单中的IPv4选项卡。

5. 如果手动分配,请仔细检查地址DNS IP 地址列表。选择自动 (DHCP)选项并将 DNS 开关更改为自动以重置恢复正常。

DNS问题故障排除:使用nslookup、dig和host等命令

完成后应用设置并关闭窗口。最后,检查连接以确保一切正常。

DNS问题故障排除:刷新 DNS 缓存

到流行网站的 IP 映射通常是恶意攻击的目标。DNS 缓存信息以提高加载速度,它可能缓存了错误的地址。清除 DNS 缓存会删除所有查找信息并更新后续请求。

通常,刷新 DNS 缓存是一种很好的安全措施。按照我们的教程获取详细和特定于操作系统的说明:如何在 macOS、Windows 和 Linux 中刷新 DNS 缓存。

释放和更新 DHCP 服务器 IP

DNS问题解决办法:释放和更新 IP 地址有助于通过刷新缓存信息来解决 IP 冲突和旧 DNS 信息。完成发布和更新的最简单方法是通过命令提示符/终端。

警告:重置 IP 会断开计算机与 Internet 的连接。

在 Windows 上使用命令提示符更新 IP:

1. 执行以下命令释放当前IP并更新信息:

IPCONFIG /RELEASE
IPCONFIG /RENEW

2. 检查新信息:

IPCONFIG /ALL

通过终端在 Linux 上强制更新 IP:

1、打开终端,使用以下命令释放当前IP:

sudo dhclient -r

终端输出确认信息,连接关闭。

2.dhclient不带任何选项运行以更新 IP:

sudo dhclient
DNS问题故障排除:使用nslookup、dig和host等命令

更改为公共 DNS 服务器

如何解决DNS问题?将 DNS 服务器更改为公共域地址。一些标准选项是:

  • Google 的8.8.8.8地址作为主要地址和8.8.4.4次要地址。
  • Cloudflare 的1.1.1.1地址为主要地址和1.0.0.1次要地址。

公共域地址通常是可靠的,并且是免费提供的。但是,这仅用作临时解决方案。

另一方面,一些公共域 DNS 服务器会阻止来自恶意网站的流量。公共 DNS 可能会将标记的网站检测为可疑网站,而你使用的公共 DNS 可能会阻止访问。

DNS问题故障排除:使用dig

该dig命令(域信息搜索)提供的DNS信息和诊断问题有所帮助。该实用程序的原始输出使其成为解决 DNS 问题的首选方法。

默认情况下,该程序可在 macOS 和 Linux 上使用,并可在 Windows 上免费安装。

要获取域的 dig 信息,请在终端中运行以下命令:

dig <domain name or IP>

注意:使用 IP 地址执行反向 DNS 查找。

例如,要显示 的信息phoenixnap.com,请运行:

dig phoenixnap.com
DNS问题故障排除:使用nslookup、dig和host等命令
  • status节目是否查询成功。
  • ANSWER SECTION节目到的请求的响应的发送QUESTION SECTION
  • SERVER显示的地址为公的DNS服务器。

DNS问题解决办法:默认情况下,dig 查找域的A 记录并显示域在解析名称时指向的 IP 地址。

dig 工具为全面搜索提供了许多高级选项。例如,添加+trace标签以查看目标的完整路径:

dig phoenixnap.com +trace
DNS问题故障排除:使用nslookup、dig和host等命令

+trace选项有助于查明到达目的地的路线中的流量下降。

要检查委派的名称服务器,请使用以下ns选项:

dig phoenixnap.com ns
DNS问题故障排除:使用nslookup、dig和host等命令

使用该ns选项可帮助识别和解决委派问题。

使用 nslookup

如何解决DNS问题?该nslookup命令提供了检查不同 DNS 记录和服务器的功能。该工具默认在 macOS、Linux 和 Windows 操作系统上可用,它是第一个查询 DNS 的工具。

要获取域的 nslookup 信息,请在命令行/终端中使用以下命令:

nslookup <domain name or IP>

例如,运行nslookupphoenixnap.com

nslookup phoenixnap.com
DNS问题故障排除:使用nslookup、dig和host等命令

输出打印 DNS 服务器的地址和 A 记录响应。由于该nslookup命令的可用性,该命令更适用于 Windows。

使用host

host实用程序是一个用于执行 DNS 查找的简单程序。该命令适用于 macOS 和 Linux 系统。

host的基本语法是:

host <domain name or IP>

例如:

host phoenixnap.com
DNS问题故障排除:使用nslookup、dig和host等命令

DNS问题故障排除:该host命令非常适合快速检查域名是否存在并解析为地址。一个典型的用例host是在 bash 脚本中。

使用附加选项显示更多信息。例如,添加-a标记以查看与dig命令类似的输出:

host -a phoenixnap.com
DNS问题故障排除:使用nslookup、dig和host等命令

输出显示了答案部分中的附加信息,例如 NS、SOA、MX 和其他可用记录。

使用 traceroute 或 tracert

如何解决DNS问题?traceroute 和 tracert 工具帮助跟踪从源到目标的路由。在对 DNS 问题进行故障排除时,这些命令有助于确定数据包在网络上的停止位置。该traceroute命令在 macOS 和 Linux 上可用,而 Windows 上的等效命令是tracert.

注意:使用apt 包管理器安装 traceroute 工具:

sudo apt install traceroute

作为一种现成且更简单的替代方法,请使用tracepath。

要映射网络,请在终端中运行以下命令:

traceroute <domain name or IP>

如果使用 Windows 机器,请运行:

tracert <domain name or IP>
DNS问题故障排除:使用nslookup、dig和host等命令

有关traceroute/tracert命令以及如何读取输出的更多信息,请查看我们关于如何在 Linux、Windows 和 macOS 上运行 Traceroute 的综合教程。

联系你的 ISP

DNS问题解决办法:如果计算机使用 ISP 的 DNS,你将无法解决你的问题。联系 ISP 有助于确定问题并查明他们最终的困难。

结论

在本DNS问题故障排除指南的末尾,你应该有几个工具和技巧来帮助你解决 DNS 问题。如果你想在家中设置 DNS 服务器以加快连接速度,请尝试遵循我们的 Raspberry Pi 教程,了解如何将 Raspberry Pi 设置为 DNS 服务器。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: