路由器和 DHCP 伺服器上的子網路遮罩不同

路由器和 DHCP 伺服器上的子網路遮罩不同

今天遇到了一些有趣的事情,我仍然摸不著頭腦為什麼會發生這種情況。我試圖透過將網路遮罩從 /24 更改為 /20 來增加 dhcp 伺服器可用的 IP 位址數量。

這是第一個場景,我將路由器的子網路遮罩更改為 /20 以匹配我的 dhcp 伺服器的子網路遮罩。但是,我沒有更改任何具有靜態 IP 的工作站的子網路掩碼,它們仍保持在 /24。我將一些工作站和無線設備連接到網絡,所有這些設備都在正確的範圍內(使用 /20)並能夠存取網路。

我對第一個場景的問題是:不是所有設備都應該具有相同的子網路遮罩才能運作嗎?為什麼具有靜態 IP 位址和網路遮罩 /24 的工作站仍然可以運作?

然後我嘗試了第二種情況。這次路由器的子網路遮罩仍然是/24,我只是將DHCP伺服器的子網路遮罩修改為/20。結果?具有子網路遮罩/24 的靜態IP 的設備可以工作。使用子網路遮罩/20 的動態 IP 的裝置無法存取網路。我的問題是:如果前面的場景適用於兩個子網路。為什麼在這種情況下卻沒有呢?

我不確定這是否值得一提,但 DHCP 伺服器正在運行 ubuntu dhcp 伺服器。

答案1

此答案假設您的路由器的 IP 位址為 192.169.1.100(或 192.168.1.0-255 之間的任何 IP 位址)。

使用 /24 子網路遮罩時,您的 IP 位址範圍為 192.168.1.0-192.168.1.255(包括網路和廣播位址)。

使用 /20 子網路遮罩時,您的 IP 位址範圍為 192.168.0.0-192.168.15.255(包括網路和廣播位址)。

從具有任一子網路遮罩的主機的角度來看,192.168.1.100 都是有效的本機位址。它存在於 /20 和 /24 子網路中。主機不知道其他主機正在使用什麼子網路掩碼,它只知道自己的子網路掩碼,並使用它來確定哪些 IP 位址是本地的,哪些不是。任何 IP 位址在 /24 範圍內的主機belong對於任何主機來說都會顯示為本機子網,更重要的是在這種情況下,對於路由器來說,/24 子網路中的主機只能與 IP 位址也在 192.168.1.0-192.168.1.255 範圍內的其他主機通訊。這就是為什麼第一個場景有效但第二個場景不起作用。在第一種情況下,所有主機都可以與路由器通信,因為路由器使用 /20 子網路遮罩從具有任一子網路遮罩的主機的角度來看,它的 IP 位址都位於兩個子網路內。在第二種情況下,路由器只能與那些位於/24子網路內的IP位址通信,它無法與任何IP位址高於192.168.1.255的主機通信,因為這些IP位址位於192.168.1.0/24之外,這是第二種情況的路由器子網路。

答案2

子網路遮罩主要用於判斷本地網路上是否可以存取另一個IP位址,或是否需要通過路由器。具有舊 /24 子網路遮罩的工作站將能夠存取舊 /24 網路內的所有其他內容,因為錯誤的遮罩仍將為這些位址提供正確的答案。它們無法與新 /20 網路中不在舊 /24 網路中的 IP 位址進行通信,這就是為什麼我們說舊掩碼在新網路中不起作用。

在第二種情況下,由於路由器的遮罩仍為 /24,因此它將無法存取具有舊網路以外的 IP 位址的設備,因此這些設備將無法存取路由器。

相關內容