Centos9 Name or service not known

邱秋 • 2024年12月13日 • 阅读:7 • linux centos

在 CentOS 9 中,出现 Name or service not known 的错误通常与 DNS 解析或主机名配置有关。以下是可能的原因及解决方法:

  1. 检查网络连接
  2. 确认你的机器是否有正常的网络连接:
ping 8.8.8.8
  • 如果可以 ping 通,说明网络连接正常,问题可能出在 DNS 配置。

  • 检查 DNS 配置

  • 确认 /etc/resolv.conf 文件是否正确配置了 DNS 服务器:
cat /etc/resolv.conf
  • 如果 DNS 服务器不可用,可以将其更改为公共 DNS,例如 Google DNS:
nameserver 8.8.8.8
nameserver 8.8.4.4
# 或者使用阿里云的公共 DNS
nameserver 223.5.5.5
nameserver 223.6.6.6
  • 保存后,测试解析:
ping www.google.com
  1. 检查主机名解析
  2. 确保 /etc/hosts 文件中正确配置了本地主机名:
cat /etc/hosts
  • 至少应该有类似以下的内容:
127.0.0.1   localhost
::1         localhost
  1. 检查主机名配置
  2. 查看当前主机名:
hostnamectl status
  • 如果主机名设置错误或未解析,修改为有效主机名:
sudo hostnamectl set-hostname your-hostname
  1. 检查防火墙和 SELinux
  2. 确认防火墙或 SELinux 没有阻止 DNS 流量:
sudo firewall-cmd --list-all
sudo getenforce
  • 如果启用了 SELinux,临时将其设置为宽松模式,测试问题是否解决:
sudo setenforce 0
  • 如果是防火墙问题,允许 DNS 流量通过:
sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload
  1. 检查系统包
  2. 确保必要的软件包已安装:
sudo dnf install -y glibc glibc-common bind-utils
  1. 测试具体域名解析
  2. 使用 nslookup 或 dig 检查域名解析:
nslookup www.google.com
dig www.google.com

如果解析失败,问题通常与 DNS 配置相关。

  1. 重启网络服务
  2. 如果修改了配置文件,重启网络服务:
sudo systemctl restart NetworkManager
sudo systemctl restart systemd-resolved

我,秦始皇,打钱!