尝试从另一台虚拟机 ping 一台虚拟机的 IP:目标主机无法访问

尝试从另一台虚拟机 ping 一台虚拟机的 IP:目标主机无法访问

我有 2 个虚拟机。一个充当客户端,另一个充当服务器。对于服务器虚拟机,我设置了如下 IP 地址:

sudo ifconfig enp0s8 192.168.0.73/24 up

对于客户端虚拟机,我设置 IP 地址如下:

sudo ifconfig enp0s8 192.168.0.77/24 up

我试图确保客户端和服务器都位于内部网络的同一子网中。

然后我尝试从客户端虚拟机 ping 服务器的 IP,如下所示:

ping 192.168.0.73

然而,我不断得到目标主机不可达错误

两个虚拟机都有 2 个网络适配器。第一个网络适配器是仅主机适配器(两个虚拟机具有相同的 MAC 地址),第二个网络适配器是内部网络适配器(两个虚拟机具有相同的网络名称和 MAC 地址)。

我究竟做错了什么?

答案1

你做错的是两台机器的MAC相同。不要那样做。在同一网络上的不同系统上使用相同的 MAC-ID 会产生各种令人惊讶和不可预测的结果。

所以,我猜正在发生的事情是这样的:

  • 平 192.168.0.73
  • 192.168.0.73 是什么 MAC-ID?执行 ARP 请求
  • 啊! MAC-ID是我自己的适配器;所以不需要在网络上发送
  • 在我自己的适配器上,我收到一个发往 192.168.0.73 的 ICMP 回显请求,但我的是 192.168.0.77。所以我不会回答这个请求(没有乒乓球)。

因为 Linux(像我所知道的所有操作系统一样)保留了 ARP 缓存,所以您可以使用以下命令查看该机器的 IP 地址到 MAC-id 的转换:

arp -a

相关内容