有什麼方法可以確定站點上是否正在使用負載均衡器?
標題就差不多了。是否有任何特定行為表明某個站點上存在負載均衡器?
編輯:如果不是不可能的話(不喜歡這個詞),這將是非常困難的,因為擁有 LoadBalancer 的全部意義在於使客戶端與它的互動透明且基本上不可見。話雖如此,這是我的原始文章:
我為一個相當大的站點管理負載均衡器。唯一表明我們的訪問者正在訪問任何特定應用程序伺服器的跡像是,我們實際上將伺服器的特定名稱放在了他們登錄頁面的底部。這有助於我們解決他們遇到的問題。
除此之外,如果我們不遵循該策略,我只能想到一件事會讓您“了解”我們正在執行負載均衡器這一事實。以下是您如何判斷的方法,但這需要一些運氣。
假設負載均衡器設置為將所有流量轉發到一台伺服器或另一台伺服器。或者至少它將一台伺服器之間的 ssh 流量轉發到另一台伺服器。即使您可能沒有登錄憑據來登錄任何一個框,但如果您嘗試登錄,兩者都會為您提供不同的密鑰。因此,如果您第一次嘗試通過 ssh 登錄,系統會詢問您是否你想接受密鑰。然後,如果您在第二次或第三次請求中運氣好,您將被告知有一個不同的密鑰(即它是另一個盒子)。在 *nix 系統上,您經常被警告這可能是由於中間人攻擊造成的。
所以有兩件事必須到位:
- 遠端伺服器上的 SSH
- SSH 的 LB
因此,如果您在相對較短的時間內獲得了兩個密鑰,您可能會假設系統管理員沒有更改它們,而是您剛剛與負載均衡器後面的兩台單獨的機器進行了通信。
注意:還有另一件物品,但它是在黑暗中真實拍攝的。您可以嘗試找出與該伺服器分組的 IP 塊。然後假設在這些特定 IP 地址之一上放置在 LB 上(實際上它位於這些 IP 之一上)。
例如,負載均衡器位於 XXX.XXX.XXX.5。然後將設置 LB 以擷取至少一個額外 IP 地址的所有流量。它通常不會轉發 XXX.XXX.XXX.5 的流量(我擁有的商業硬體肯定不會這樣做)。因此,您可以指望存在和管理地址。
如果 LB 設置為允許來自所有外部主機的管理員,則您可以將 /admin 之類的內容附加到 IP 地址,直到找到 LB。這假定 LB 使用該路徑進行管理。