答案1
您似乎无法访问 AlmaLinux 存储库服务器,或者您的系统的yum
.检查文件:其中参数/etc/yum.repos.d/*.repo
的值是多少?baseurl
如果这看起来正确,那么就该进行一些真正的网络故障排除了。
ping 8.8.8.8
仅证明 ICMP 数据包可以在您的系统和 Google 公共 DNS 服务器之间双向传送。现代防火墙可以轻松允许 ICMP,同时阻止 TCP 和 UDP,反之亦然。因此,对 DNS 服务器执行 ping 操作只能证明存在非常基本的 IP 和 ICMP 连接,但它确实存在不是证明你确实可以让服务器回答你的 DNS 查询。
所以你应该测试确切的事情例如,如果您想使用 8.8.8.8 作为 DNS 服务器,请使用例如 进行测试dig google.com @8.8.8.8
。如果这样说;; connection timed out; no servers could be reached
那就不好了。
下一步:普通(非诊断)程序可以解析您实际需要的主机名吗?您似乎正在尝试访问 AlmaLinux 存储库,因此请尝试getent hosts repo.almalinux.org
.响应应显示 repo.almalinux.org 的 IP 地址。如果没有响应(只是一个新的命令提示符),则您的系统无法解析该名称。resolvectl status
如果存在则运行;如果没有,请查看/etc/resolv.conf
。另请运行grep ^hosts /etc/nsswitch.conf
并验证答案是否至少包含关键字dns
或之一resolve
。
如果这也有效,请尝试curl -I https://repo.almalinux.org
。如果响应以类似 开头HTTP/1.1 200 OK
,您的系统将能够联系存储库服务器。
如果您可以解析主机名,但curl
失败,您可以尝试traceroute
使用TCP协议和您实际需要的端口,看看你能走多远。此类跟踪通常需要 root 权限。 HTTPS 端口为 443,因此命令为:
sudo traceroute -T -p 443 repo.almalinux.org
或者,如果您在 DNS 访问 8.8.8.8 时遇到问题,您可以使用以下命令进行测试:
sudo traceroute -T -p 53 8.8.8.8
DNS 将端口 53 与 UDP 和 TCP 结合使用:UDP 用于快速简单查询,但如果响应的数据多于单个 UDP 数据包所能容纳的数据(这种情况在地理分布式服务和 DNSSEC 中更为常见),并且客户端需要所有数据,使用TCP。
有了所有这些信息,您将能够提供包含更多有用事实的问题报告。