Ping 失败“目标主机无法访问”

Ping 失败“目标主机无法访问”

我正在尝试为我的 Debian 虚拟机设置静态 IP 地址。在我的/etc/networking/interfaces文件中,我添加了:

iface ens33 inet static  
    address 192.168.75.XXX
    gateway 192.168.0.1
    netmask 255.255.255.0

/etc/resolv.conf文件中我添加了nameserver 8.8.8.8。我认为我的问题是,除非我启用了该服务,否则在运行或NetworkManager时不会显示任何内容。我尝试通过运行以下命令向路由表添加路由:。这将填充路由表,现在该表如下所示:routeip route showip route add 192.168.75.0/24 via 192.168.75.XXX (my static ip) dev ens33

目标网关 Genmask 标志 指标参考使用 Iface
                                                                                  
192.168.75.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33

当我运行 ping 时,仍然出现相同的错误:“目标主机无法访问”。我该如何修复此问题?

答案1

在 中/etc/networking/interfaces,在每个部分中,您设置一个网络掩码来定义您的机器所属的子网。这里:255.255.255.0 表示 /24。换句话说,您子网上的地址从 192.168.75.1 到 192.168.75.254。

gateway行指定了要访问该子网外的计算机必须使用的路由器地址。显然,路由器必须是位于同一子网的计算机,即 IP 地址在 192.168.75.1 到 192.168.75.254 之间的计算机。

您已指定gateway 192.168.0.1。这意味着路由器位于子网之外。这就是您无法 ping 子网 192.168.75.0/24 之外的任何机器的原因(“目标主机无法访问”)。

您正在使用虚拟机。您的路由器可能是您的主机的 IP 地址。这取决于您的虚拟机的配置。

最后一件事:

ip route add 192.168.75.0/24 via 192.168.75.XXX (my static ip) dev ens33

是错误的。如果您想手动声明路由器(而不是文件interfaces),请使用以下命令:

ip route add default via 192.168.75.YYY (the IP of your router) dev ens33

(默认表示“任何没有已知路由的地址”)

答案2

当您的机器发出的 ping 数据包无法找到目标机器时,目标主机不可达是一种常见的 ICMP 错误消息。

看起来您的机器上的某些设置阻止了 ping 数据包发现到目标 IP 的路由。

好吧,我看你通过将网络类型改为桥接模式解决了这个问题。所以我觉得我最好写一个通用答案,因为你的问题已经解决了。

收到 ping 回复“目标主机无法访问”的常见原因是防火墙的保护设置过高。除非您运行的是桥接防火墙,否则简单的配置错误就可能阻碍 ping 数据包正常工作。

您可以通过禁用防火墙并再次 ping 目标 IP 来验证。

第二个常见原因是网络连接松动。来自这个来源

我们可以解决这个问题,方法是断开调制解调器、路由器和 PC 上的电源线和以太网线。重新连接它们并打开设备电源。这称为电源循环。

相关内容