当前位置:首页 > Ubuntu > 正文

Ubuntu DNS故障排除(手把手教你解决Linux DNS解析失败问题)

在使用 Ubuntu 系统时,你是否遇到过无法访问网站、浏览器提示“找不到服务器”或命令行中 ping 域名失败的问题?这很可能是 DNS 解析失败 导致的。本文将为你提供一份详尽且适合新手的 Ubuntu DNS 故障排除 指南,帮助你快速定位并修复 DNS 相关问题。

Ubuntu DNS故障排除(手把手教你解决Linux DNS解析失败问题) DNS故障排除  Linux DNS配置 Ubuntu网络问题解决 DNS解析失败修复 第1张

什么是 DNS?

DNS(Domain Name System,域名系统)的作用是将人类可读的域名(如 www.google.com)转换为计算机可识别的 IP 地址(如 142.250.185.196)。如果 DNS 出现问题,即使你的网络连接正常,也无法通过域名访问网站。

第一步:确认是否真的是 DNS 问题

首先,我们需要判断问题是出在 DNS 还是网络连接本身。请按以下步骤操作:

  1. 尝试使用 ping 命令测试一个知名网站的域名:
ping www.baidu.com

如果返回 ping: www.baidu.com: Name or service not known,说明 DNS 解析失败。

接着,尝试直接 ping 一个 IP 地址(例如百度的 IP):

ping 110.242.68.66

如果能收到回复,说明你的网络连接正常,问题确实出在 DNS 配置 上。

第二步:检查当前 DNS 配置

在 Ubuntu 中,DNS 信息通常由 NetworkManager 或 systemd-resolved 管理。你可以使用以下命令查看当前生效的 DNS 服务器:

systemd-resolve --status# 或者(较新版本使用)resolvectl status

在输出中,找到 “DNS Servers” 字段。如果显示的是无效地址(如 127.0.0.53 是本地转发器,需进一步检查上游 DNS),或者为空,则需要手动配置。

第三步:临时更换 DNS 服务器

我们可以先临时更换为公共 DNS(如 Google DNS 或阿里 DNS)来测试是否解决问题。

编辑 /etc/resolv.conf 文件(注意:该文件可能被系统覆盖,仅用于临时测试):

sudo nano /etc/resolv.conf

在文件顶部添加以下内容(以阿里 DNS 为例):

nameserver 223.5.5.5nameserver 223.6.6.6

保存后,再次尝试 ping www.baidu.com。如果成功,说明原 DNS 服务器有问题。

第四步:永久修改 DNS 配置

为了避免重启后 DNS 设置被重置,建议通过 NetworkManager 或 Netplan 进行永久配置。

方法一:使用图形界面(适用于桌面版 Ubuntu)

  • 点击右上角网络图标 → “Wired Settings” 或 “Wi-Fi Settings”
  • 点击当前连接右侧的齿轮图标
  • 切换到 “IPv4” 或 “IPv6” 选项卡
  • 将 “Automatic” 改为 “Automatic (DHCP) addresses only”
  • 在 “DNS” 栏输入:223.5.5.5,223.6.6.6
  • 点击 “Apply”,然后断开并重新连接网络

方法二:使用 Netplan(适用于服务器版 Ubuntu)

编辑 Netplan 配置文件(通常位于 /etc/netplan/ 目录下):

sudo nano /etc/netplan/01-network-manager-all.yaml

在对应网卡配置下添加 nameservers 字段,例如:

network:  version: 2  ethernets:    eth0:      dhcp4: true      nameservers:        addresses: [223.5.5.5, 223.6.6.6]

保存后应用配置:

sudo netplan apply

第五步:清除 DNS 缓存(如有)

Ubuntu 使用 systemd-resolved 作为本地 DNS 缓存服务。如果修改了 DNS 但未生效,可以尝试重启该服务:

sudo systemctl restart systemd-resolved

总结

通过以上步骤,你应该能够成功解决 Ubuntu DNS 故障。记住,关键在于区分是网络不通还是 DNS 解析失败,并选择合适的 DNS 服务器(推荐使用阿里 DNS 223.5.5.5 或 Cloudflare DNS 1.1.1.1)。

如果你经常遇到 Linux DNS 配置 问题,建议将可靠的公共 DNS 设为默认。此外,定期检查 /etc/resolv.conf 和 Netplan 配置,有助于预防未来的 Ubuntu 网络问题

希望这篇 DNS 解析失败修复 教程对你有帮助!如有疑问,欢迎在评论区留言交流。