网关可从虚拟机访问,但无法访问网络中的其他计算机(目标主机不可访问)

网关可从虚拟机访问,但无法访问网络中的其他计算机(目标主机不可访问)

我在虚拟化领域还很陌生。我正在使用 esxi 来管理我的虚拟机。我有 2 个网络,一个是带有网关的本地网络192.168.0.1,另一个是我系统的主网络。我有三个虚拟机,其中两个分配了静态 IP 地址,并且它们还可以访问本地网络。第三个虚拟机没有静态 IP,但我希望它能够访问本地网络。我已将两个网络添加到 esxi 中的所有虚拟机中,并更改了网络脚本文件,如下所示:

vm1-文件:ifcfg-ens224:

TYPE=Ethernet
BOOTPROTO=none
NAME=ens224
DEVICE=ens224
ONBOOT=yes
IPADDR=192.168.0.101
PREFIX=29
GATEWAY=192.168.0.1

VM2:文件:ifcfg-ens224:

TYPE=Ethernet
BOOTPROTO=none
NAME=ens224
DEVICE=ens224
ONBOOT=yes
IPADDR=192.168.0.102
PREFIX=29
GATEWAY=192.168.0.1

VM3:文件:ifcfg-ens224

TYPE=Ethernet
BOOTPROTO=none
NAME=ens224
DEVICE=ens224
ONBOOT=yes
IPADDR=192.168.0.103
PREFIX=29
GATEWAY=192.168.0.1

我能够192.168.0.101从以下位置ping 通虚拟机2192.168.0.102虚拟机1。但我无法192.168.0.103从他们那里 ping 通。而且我还可以192.168.0.1从以下位置 ping 网关 ( )虚拟机3,但是当我尝试 ping 其他人(即192.168.0.101:)时,结果是目标主机不可达错误。对于任何提到我在这里做错了什么或缺少什么的想法,我将不胜感激。

答案1

您的主机的 IP 地址为:192.168.0.103/29、192.168.0.102/29 和 192.168.0.101/29。整个 /29 子网包含 192.168.0.97-192.168.0.102 范围内的地址。IP 192.168.0.103/29 不是提供给主机的有效 IP,它是广播 IP。此外,网关的 IP 为 192.168.0.1,因此该子网中的主机不知道它,因为它驻留在完全不同的子网中。

分解它:

Address:   192.168.0.103         11000000.10101000.00000000.01100 111
Netmask:   255.255.255.248 = 29  11111111.11111111.11111111.11111 000
Wildcard:  0.0.0.7               00000000.00000000.00000000.00000 111
=>
Network:   192.168.0.96/29       11000000.10101000.00000000.01100 000 (Class C)
Broadcast: 192.168.0.103         11000000.10101000.00000000.01100 111
HostMin:   192.168.0.97          11000000.10101000.00000000.01100 001
HostMax:   192.168.0.102         11000000.10101000.00000000.01100 110
Hosts/Net: 6                     (Private Internet)

您需要重新设计网络寻址以使 IP 地址有效。您可以使用这样的子网计算器

对您来说最简单的解决方案是将前缀从 29 更改为 24,这样范围就很宽,并且包含您已经为计算机和网关设置的所有 IP 地址。

相关内容