我在虚拟化领域还很陌生。我正在使用 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 通虚拟机2并192.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 地址。