![为什么对于某些主机,“ping”会返回“请求超时”?](https://linux22.com/image/1264217/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%AF%B9%E4%BA%8E%E6%9F%90%E4%BA%9B%E4%B8%BB%E6%9C%BA%EF%BC%8C%E2%80%9Cping%E2%80%9D%E4%BC%9A%E8%BF%94%E5%9B%9E%E2%80%9C%E8%AF%B7%E6%B1%82%E8%B6%85%E6%97%B6%E2%80%9D%EF%BC%9F.png)
对于某些主机,ping www.example.com
它可以解析其 IP,但为什么会因请求超时而失败?我也尝试增加 ping 响应时间,但结果仍然相同。
答案1
A平是 ICMP 数据包。相比之下,Web 流量或 HTTP 通常是端口 80 上的 TCP 数据包。给定的服务器可能正在为 Web 流量提供响应,但阻止 ICMP(或位于阻止 ICMP 的防火墙后面),因此您可以:
- 将 URL 解析为其 IP 地址
- 连接并查看网页内容
但您无法 ping 通该 IP 地址。响应“请求超时”是因为您的客户端发送了初始数据包,等待回复(永远不会回复),并在预设的超时时间后放弃。
答案2
因为它无法连接到主机。DNS 服务器知道主机应该具有的 IP,但这并不意味着该主机正在运行并接受连接。
答案3
也许主机实际上已关闭,或者可能是某些站点阻止了 ICMP 流量(PING 命令所依赖的协议)。
答案4
您可以尝试以下行:
systemctl stopfirewalld(停止防火墙)
有时防火墙会阻止 ping 响应
找到以下参考: