我的專用網路中有兩台設備。一台電腦的 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
.
在實體網路上發起的資料包將被每個連接的裝置接收。每個設備都會檢查每個資料包,看看它是否是發給它的。因此,重點是啟動資料包,這會在第一種情況下發生,但不會在第二種情況下發生。