Linux

Linux 上的輔助 IP 使用相同的網路遮罩或 /32

  • December 4, 2021

似乎(至少)有兩種方法可以將輔助 IP 地址添加到 Linux 上的介面。次要的,我的意思是它會接受到 IP 地址的流量,並且對該 IP 的連接的響應將使用它作為源,但是盒子發起的任何流量(例如,傳出 TCP 連接)都不會使用次要地址。

兩種方式都從添加主地址開始,例如ip addr add 172.16.8.10/24 dev lan. 然後我可以添加帶有/24(匹配主)網路遮罩的輔助地址或/32.

如果我用 a 添加它/24,它會被標記為次要的,因此不會用作傳出數據包的來源,但這會留下兩個地址被錯誤地添加到錯誤順序的風險。如果我添加它/32,則不會發生錯誤的順序,但它不會被標記為次要的,我不確定這可能會產生什麼不良影響。

所以,我想知道,哪種方法最不可能打破?(如果重要的話,這台機器上的主要服務是 MySQL,但它也執行 NFSv3。我正在添加第二台機器作為熱備用,並希望通過更改擁有輔助 IP 的方式在它們之間切換。)

如果我用 /24 添加它,它會被標記為次要的,因此不會用作傳出數據包的來源,但這會留下兩個地址被錯誤地添加到錯誤順序的風險。如果我用 /32 添加它,則不會發生錯誤的順序,但它不會被標記為次要的,我不確定這可能會產生什麼不良影響。

我不確定你在這裡的意思。當您的系統啟動時,您的網路介面以一種確定的方式進行配置。通過正確配置您的網路,您可以決定首先分配哪個地址,哪個分配為輔助地址。

如果您在 RedHat-ish 系統上,主網路配置文件ifcfg-eth0(例如)將在任何別名介面之前處理,例如ifcfg-eth0:0. 我不太確定 Debian-ish 系統上的行為,但看起來/etc/network/interfaces文件可能是按順序處理的,所以把你的別名定義放在主地址之後,你應該準備好了。

所以,我想知道,哪種方法最不可能打破?

如果您的兩個地址都在同一個網路上,我不知道任何一個地址或多或少都可能會中斷。對於它的價值,我通常使用 /32 網路遮罩配置輔助地址,因為主地址已經提供了必要的網路路由。

引用自:https://serverfault.com/questions/218250