Linux服务器DNS解析错误如何解决?
名称解析临时失败、域解析失败和 apt update DNS 错误的分步指南。
尽管 Linux 服务器看起来具有 Internet 连接,但域地址可能无法解析。在这种情况下,服务器可以访问IP地址,但是 谷歌网站, debian.org, ubuntu.com 或许可证/API 服务。
这个问题尤其表现在以下几个过程:
- 易于更新 或 百胜更新 期间收到错误
- WHMCS 许可证、付款或 API 链接不起作用
- 游戏面板无法连接到远程 API 地址
- 当 ping IP 在服务器上运行时,域 ping 不起作用
- 名称解析暂时失败 看到错误
1. 了解 DNS 是否真的是问题所在
首先通过 ping 其 IP 地址来检查服务器的公共互联网访问情况。
ping -c 4 8.8.8.8
如果此命令响应,则服务器可以在 IP 级别访问 Internet。现在测试域名解析:
ping -c 4 google.com
如果 IP ping 有效但域 ping 不起作用,则问题很可能出在 DNS 方面。
2. 检查当前 DNS 设置
在Linux系统中,DNS服务器通常是 /etc/resolv.conf 在文件中定义。
cat /etc/resolv.conf
健康的 DNS 设置通常如下所示:
nameserver 1.1.1.1 nameserver 8.8.8.8
如果文件为空、包含不正确的 IP 地址或仅写入本地/非工作 DNS 地址,则域解析可能会失败。
3. 临时DNS定义
为了快速测试,您可以使用以下命令定义临时 DNS:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
稍后再测试:
ping -c 4 google.com
4. Ubuntu / Debian 系统上的持久 DNS 设置
在现代 Ubuntu 系统上,网络设置通常是 网络计划 它由 管理。列出 Netplan 文件:
ls /etc/netplan/
编辑文件:
nano /etc/netplan/01-netcfg.yaml
DNS 定义示例:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8要应用该设置:
netplan apply
如果您通过 SSH 连接并且不确定网络设置,请小心。不正确的网络规划设置可能会中断您的 SSH 连接。
5. CentOS / AlmaLinux / Rocky Linux DNS设置
在基于 RedHat 的系统上,可以通过 NetworkManager 进行 DNS 设置。
要查看活动连接名称:
nmcli con show
DNS 设置示例:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
您的连接名称可能不同。您必须在命令中使用您自己的连接名称。
6. systemd 解析检查
某些系统上的 DNS 解析 systemd 解析 它由服务管理。
systemctl status systemd-resolved
如果该服务已关闭,您可以启动它:
systemctl enable systemd-resolved systemctl start systemd-resolved
查看 DNS 状态:
resolvectl status
7. DNS 检查包更新错误
当 DNS 损坏时,包管理器也将无法工作。例如,可能会出现以下错误:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
在这种情况下,包存储不应被视为已损坏。应首先测试 DNS 解析。
常见错误
- 以为没有互联网,却没有意识到实际上只有 DNS 被破坏
- 在 /etc/resolv.conf 文件中写入临时 DNS 并认为这是永久解决方案
- Netplan 文件中的空格缩进不正确
- NetworkManager 连接名称拼写错误
- 认为工作 API 或许可系统由于 DNS 问题而出现故障
常见问题解答
IP ping 通,但域 ping 不通,请问是什么问题?
很可能是 DNS 解析问题。服务器可以访问互联网,但不能将域名转换为IP地址。
我可以使用哪些 DNS 服务器?
常见的版本有 1.1.1.1、1.0.0.1、8.8.8.8 和 8.8.4.4。在企业结构中,私有 DNS 服务器可能是首选。
为什么resolv.conf会自己改变?
因为该文件在大多数系统上由 netplan、NetworkManager 或 systemd-resolved 自动管理。
安全和操作建议
- 请务必在 DNS 更改后执行域解析测试。
- 将支付、许可和 API 系统中的 DNS 错误添加到第一个清单中。
- 至少定义两个 DNS 地址,而不是单个 DNS 地址。
- 如果您的服务器提供商提供私有 DNS,也请考虑这一点。
- 请注意,不正确的 netplan 设置可能会中断 SSH 连接。
本文是专门为PvPServer准备的。