Networking
為什麼必須為 FreeBSD 中的“別名”地址設置 255.255.255.255 的網路遮罩?
來自關於虛擬主機主題的 FreeBSD 手冊:
對於給定的介面,必須有一個地址正確地表示網路的網路遮罩。屬於該網路的任何其他地址必須具有全 1 的網路遮罩(表示為 255.255.255.255 或 0xffffffff)。
誰能解釋為什麼會這樣?
此頁麵包含一個很好的解釋恕我直言:
由於別名在某種意義上是重複的標籤,因此系統需要知道標籤所代表的子網是否是新的,這由網路遮罩指示。使用“正常”網路遮罩,系統會被告知這是一個新子網,然後它可以正確設置內部表。如果子網不是新的,則如果網路遮罩為“正常”,則表的設置將不正確。
使用 255.255.255.255 的網路遮罩,系統知道這是現有子網的副本,因此將分配地址,就好像它已分配給環回介面一樣,具有“點對點”遮罩。
在大多數情況下,分配網路遮罩 255.255.255.0 似乎可行。但是,內部表將無法正確設置,如果刪除別名,則可能會出現問題。這可以通過在添加別名時添加適當的主機路由並在刪除別名時刪除路由來克服。但是,系統使用“點對點”網路遮罩可以正常工作,並且維護更容易。