單一伺服器中的虛擬IP

單一伺服器中的虛擬IP

我想設定如下

我有兩個具有不同靜態IP的ISP,終止於具有兩個NIC的單一伺服器,為此NIC創建虛擬IP,想要將我的本地Web服務綁定到此虛擬IP,這樣如果任何ISP失敗將不會影響我的Web伺服器存取從外面。我怎麼才能用Linux做到這一點。

答案1

對於單一 IP 位址,您無法按照您設想的方式進行操作。

為了使其在 IP 位址層級運作,您需要有一個自治系統編號 (ASN)並運行 BGP 動態路由協議,告訴世界上所有的互聯網骨幹路由器如何到達您的虛擬 IP。

不幸的是,單一 IP 位址實際上太小,無法以這種方式動態路由。大多數 ISP 不會接受來自家庭/小型企業客戶的傳入 BGP 公告,即使您克服了這一障礙,Internet 路由器也會忽略單一 IP 位址的 BGP 公告。為了保持其路由效能,並且不讓主幹路由器的路由表成長到荒謬的長度,主幹路由器將只想處理較大的 IP 位址空間區塊。

要真正擁有這樣的虛擬 IP,您需要是一個相當大的組織,擁有相當大的公共 IP 位址區塊(/24 符合條件)。能夠相互接受其他組織的流量通過您的網絡鏈接路由也會有所幫助。

當然,如果您的兩個ISP 都是同一家網路骨幹供應商的客戶,並且您願意協商並支付客製化解決方案的費用,那麼可能會安排一些事情......但對於大多數人來說,這會浪費大量時間透過選擇不同的方法可以更容易地實現金錢和精力。


為單一伺服器實施 ISP 故障轉移的更現實的策略是使用任何可用的動態 DNS 服務。您的每個上行鏈路都擁有一個公用(不一定是靜態)IP 位址,並且您可以使用 DDNS 用戶端來更新 Web 伺服器的完全限定主機名稱的 DNS A 記錄,以指向目前活動的 IP 位址。

如果上行鏈路發生故障,您只需更新 A 記錄,等待舊記錄的生存時間到期(大多數動態 DNS 服務將 TTL 保持得很短 - 例如 60 秒左右),然後即可再次存取。當然,這樣做會導致任何現有連線斷開,因為您的 IP 位址會在故障轉移時發生變化。但是,如果您的 ISP 確實進行了任何狀態防火牆,那麼即使您擁有虛擬 IP,它也會在故障轉移時發生。

或者,您可以從任何主要雲端運營商租用雲端伺服器,並讓他們處理冗餘網路連結和所有複雜性 - 按照他們的規模,他們幾乎必須理所當然地這樣做。

相關內容