Networking

從 vm 可以訪問網關,但網路中的其他機器不可訪問(目標主機不可訪問)

  • July 11, 2020

我是虛擬化領域的新手。我正在使用 esxi 來管理我的虛擬機。我有2個網路,一個是帶有網關的本地網路,192.168.0.1另一個是我係統的主網路。我有三個虛擬機,其中兩個被分配了靜態 IP 地址,它們也可以訪問本地網路。第三個 vm 沒有靜態 ips,但我想讓它訪問本地網路。我已將這兩個網路添加到 esxi 中的所有 vm,並更改了網路腳本文件,如下所示:

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.101vm2 ping 並192.168.0.102vm1 ping 。但我無法192.168.0.103從他們那裡 ping 通。而且我還能夠從vm3192.168.0.1 ping 網關( ),但是當我嘗試 ping 其他人(即:)時,它會導致Destination host unreachable錯誤。如果有任何想法提到我在這裡做錯了什麼或缺少什麼,我將不勝感激。192.168.0.101

您的主機有 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 地址。

引用自:https://unix.stackexchange.com/questions/597943