鏈路負載均衡的鏈路和NAT地址保持

之前,我們已經討論的在多出口鏈路負載均衡的多個相關問題,在這裏總結如下


大家可以看出;鏈路負載均衡深入探討時,其實是個話題很多,細節很多的技術主題,今天我們繼續討論鏈路負載均衡中的鏈路和NAT IP 會話保持,這也是一個比較細節但是非常重要的問題。


在實際部署中,大家有沒有遇到過部署鏈路負載均衡設備後,使用客戶報網銀或者網上營業廳,證券,基金等敏感業務不能使用的問題呢?這個問題我們一步步來分析


1)多鏈路出口的通常部署情況

如下圖;多個出口,甚至多個電信和網通出口;通常的策略是按照運營商歸屬性質分配;

如目的地址是電信的IP,則在多個電信鏈路中平均分配。

2)鏈路會話保持: 網銀應用失效的原因之一

在我們訪問網銀應用時,由於網銀對安全性要求較高;通常會要求整個會話過程中用戶必須使用同一源IP地址登錄。對遠端的網銀系統而言,這個源IP並不是客戶的內網IP,而是在鏈路疏導設備後NAT後的IP地址。

我們在訪問網銀時,通常會發送2個併發的會話;這2個會話對鏈路負載均衡設備,是需要分別處理的;很明顯,如果鏈路疏導設備沒有基於目的地址的鏈路保持,會將用戶2個請求分別發送到2條不同的電信鏈路中,當然NAT後的IP地址也不同,會造成訪問失敗。這種不正確的處理方式如下圖所顯示


基於目的地址的會話保持是所有鏈路負載均衡設備必須具備的功能,在實際應用中也必須開啓。


3)NAT 地址會話保持: 網銀應用失效的原因之二

即使在基於目的地址的保持啓用後,也有可能遇到網銀等應用失效的問題;這時通常是由於該鏈路有多個NAT IP 地址,而不同的會話雖然選擇了同一條鏈路;但是使用了不同的NAT 轉換IP地址造成。如下圖:

電信鏈路有5個可用的NAT IP地址1到5; 

在用戶訪問營業廳的2個併發會話如果分別使用了NAT IP 3 和4 ,那麼對於遠端服務器的效果,是和不做鏈路保持的效果一樣的,發現用戶會話中使用了2個不同的IP地址,會認爲該請求無效,造成訪問失敗。


4)正確的處理方式: 鏈路目的IP會話保持+NAT IP地址保持

如前描述,出口鏈路負載均衡正確的流量處理方式應該有2個保持功能

  • 基於目的IP地址的鏈路保持方式

  • NAT IP 地址的保持方式


5)NAT IP地址保持實現的方式

NAT IP地址的保持方式,有些廠商可能要通過詳細的acl 和單個NAT IP的一一綁定來實現;配置繁瑣而且無法真正確保NAT地址使用的均衡性。A10設備內置了簡單的client-sticky-nat一鍵設置功能;只需啓用該功能後即可實現;配置截圖如下:

在命令行裏的IP NAT 地址池和使用情況截圖;只需定義NAT地址池和啓用Client IP Sticky NAT功能後即有效;端口在用和歷史使用的統計也很平均。

某個特定用戶(內網IP 172.24.39.62)的會話截圖;

同一用戶仍舊根據鏈路調度方式,可以使用多個不同鏈路;

在使用每條鏈路時,會HASH選擇固定的一個NAT IP; 以徹底確保網銀/網上營業廳等等應用的正常使用。


(J.L)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章