使用 yum 时可能出现 DNS 问题:“无法解析主机:(每个镜像);未知错误” Centos 7

使用 yum 时可能出现 DNS 问题:“无法解析主机:(每个镜像);未知错误” Centos 7

一些规格和背景信息:运行 Centos Linux 版本 7.2.1511(核心)、静态 IP 地址、专用服务器机器不是我配置的,而且我的 Linux 经验也很少。

我正在尝试设置服务器以托管使用 MySQL 数据库的 tomcat Web 应用程序。但是,每当我尝试安装所需的软件时,都会收到“无法解析主机错误”的消息。我尝试了多个建议和之前类似问题中的解决方案:无法解析主机.然而似乎都不起作用。

我可以成功 ping 通我的本地主机 127.0.0.1,但无法 ping 通 Google 的公共名称服务器 8.8.8.8。当我尝试 ping 8.8.8.8 和公共网关地址时,数据包丢失率达到 100%。这在上一个问题的答案中表明本地网络配置错误,您必须检查配置。以下是本地网络配置:

网络信息

[xxxx]$ nmcli d
DEVICE  TYPE      STATE      CONNECTION
enp3s0  ethernet  connected  enp3s0
lo      loopback  unmanaged  --

[xxxx]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

我的etc/resolv.conf文件包含

nameserver 8.8.8.8 
nameserver 127.0.0.1

host google.com结果是:-bash: host: command not foundnslookup 和 dig 命令也是如此。

输出:

[xxxx]$ sudo yum update
Loaded plugins: fastestmirror
http://ca.mirror.babylon.network/centos/7.2.1511/os/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: ca.mirror.babylon.network; Unknown error"
Trying other mirror.
http://mirror.netaddicted.ca/CentOS/7.2.1511/os/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirror.netaddicted.ca; Unknown error"
Trying other mirror.
etc...

防火墙命令——list-all

[xxxx]$ firewall-cmd --list-all
public (default, active)
  interfaces: enp3s0
  sources:
  services: dhcpv6-client http https ssh
  ports: 10000/tcp
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

谷歌公共名称服务器 ping 失败

[xxxx]$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
8 packets transmitted, 0 received, 100% packet loss, time 6999ms

本地网关 ping 不通

[xxxx]$ ping xxx.xxx.xx.xxx
...
11 packets transmitted, 0 received, 100% packet loss, time 9999ms

进一步规范和更新:该服务器连接到 IT 部门管理的大型网络。我目前正在联系一名 IT 员工,以确保该服务器的防火墙已打开。

我希望这些信息是相关且有用的。提前感谢您的时间。一旦我知道问题是否出在 IT 人员方面和防火墙配置上,我就会更新问题。

最后更新: 这个错误实际上是由于防火墙配置造成的。一旦 IT 人员允许访问,就不会再出现任何问题。

答案1

检查您的防火墙是否阻止了查询或响应:

sudo firewall-cmd --list-all

您可以尝试禁用防火墙来确定是否是该原因:

sudo systemctl stop firewalld

如果问题在于防火墙,您应该允许 DNS 服务,允许往返于端口 53 的 TCP/UDP 流量。

相关内容