更改IP後無法ping通內網

更改IP後無法ping通內網

我的專用網路中有兩台設備。一台電腦的 IP 為 10.42.0.1,另一台電腦的 IP 為 10.42.0.173。

我可以從一台計算機 ping 到另一台計算機,反之亦然。

如果我想透過 ifconfig 將 IP 從 10.42.0.173 更改為 10.42.0.43:

ifconfig eth0 10.42.0.43 netmask 255.255.255.0 broadcast 10.42.0.255 

我仍然可以 ping 通。

但是當我想將其從 10.42.0.173 更改為 10.42.1.43 時

ifconfig eth0 10.42.1.43 netmask 255.255.0.0 broadcast 10.42.1.255 

我可以從 10.43.1.43 ping 到 10.42.0.1 但無法從另一端 ping 通(從 10.42.0.1 到 10.42.1.43)

可能是路由表的問題。但我不知道如何設定。

答案1

您的第一台裝置的 IP 位址10.42.0.1很可能具有 24 位元子網路遮罩 ( 255.255.255.0)。為了讓它在10.42.1.255沒有網關的情況下也能看到,您必須將子網路遮罩設定為 24 位元或更少(255.255.254.0或更少)兩個都機器

答案2

網路遮罩錯誤。

ifconfig eth0 10.42.0.43 netmask 255.255.255.0 broadcast 10.42.0.255 
I can still have ping.

即網路 10.42.0,
有 254 個主機,從 10.42.0.1 開始,到 10.42.0.254 結束。
廣播是10.42.0.255



But when I want change it from 10.42.0.173 for example to 10.42.1.43 by
ifconfig eth0 10.42.1.43 netmask 255.255.0.0 broadcast 10.42.1.255 

那是一個完全不同的網路。廣播位址為 10.42.1.255,10.42.0.255
只是一個常規主機 IP。


請將兩者置於同一 LAN 上。使用相同的網路遮罩。

答案3

電腦10.42.1.43/255.255.0.0認為對方在其網路中 10.42.x.x/255.255.0.0。它會假設對方處於連線狀態 10.42.0.1/255.255.0.0,因此會愉快地啟動 ping 封包。

然而,反過來,因為10.42.0.1/255.255.255.0的 IP 10.42.1.43不在其網路中,並且沒有任何將封包傳遞到 的路由規則10.42.1.x。因此 ping 將會失敗,因為沒有網路路由可供選擇。換句話說,10.42.0.1 不知道如何將網路封包傳送到10.42.1.x.

在實體網路上發起的資料包將被每個連接的裝置接收。每個設備都會檢查每個資料包,看看它是否是發給它的。因此,重點是啟動資料包,這會在第一種情況下發生,但不會在第二種情況下發生。

相關內容