轉自《網(wǎng)絡運維與管理》201406-11
配置F5交換機的問題在于,與平時所學的交換機、路由器思路完全不同,拿到設備后,完全不知如何下手。
網(wǎng)絡拓撲圖如下:
兩臺web服務器對外提供服務,Ip地址為:192.168.192.10-20/24,外網(wǎng)地址192.168.27.100的80端口進行負載均衡的訪問。
F5配置最簡單負載均衡,需要配置的參數(shù)有Node(節(jié)點)、Pool(資源池)、和VirtualServer(虛擬服務器),它們的關系式,先配置Node,然后配置VS。Node是最基本的定義,如每個服務器就是一個Node,負載均衡Pool是一組Node接收和處理流量的一組設備,如web服務器集群。BIGIP系統(tǒng)將客戶機流量請求發(fā)送到Pool成員中的任一服務器上(Node),然后將Pool與BIGIP系統(tǒng)中的Virtualserver相關聯(lián),最后,BIGIP系統(tǒng)將進入Virtual Server中流量傳輸?shù)絇ool成員,Pool再傳達給Node。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Virtual Server重要參數(shù)
F5的核心就是Virtual Server。
1、VS Type
在配置VS時,VS的Type有Performance L4、StandardVS、Forwarding IP 和 FastHttp。一般企業(yè)中常見的是前三種,考慮到盡量減少F5負載均衡引入對應用系統(tǒng)的影響,在可能的情況下,建議優(yōu)先選用PerformanceL4類型的VirtualServer。在一些必須使用Standard的情況下,必然需要在F5設備上啟用7層功能,包括Cookie會話保持、SessionID會話保持、Header會話保持、基于交易的長連接拆分等應用場景。另外,在應用系統(tǒng)需要使用F5實現(xiàn)Syn攻擊防護時,可以采用Standard VirtualServer。在明確后臺應用基于HTTP協(xié)議時,建議在Standard的基礎上關聯(lián)BIGIP內(nèi)置的標準HTTPProfile。對于非HTTP協(xié)議的應用,需要在VS上關聯(lián)的其他Profile或者iRules根據(jù)實際的業(yè)務需求進行確定。
下面對每個VS的類型進行深入的說明:
第一種: Performance L4 模式(4層數(shù)據(jù)的轉發(fā))
PerformanceL4模式如圖2所示,其中TMM只是負責客戶端連接的分配和轉發(fā),不改變TCP連接中的任何參數(shù),即客戶端連接與服務器攔截是1:1的關系。一般企業(yè)中常是這種模式,因為轉發(fā)速率快。但在一些7層數(shù)據(jù)包的情況下,如HTTP,建議使用StandardVS模式。
第二種 Standard VS模式
在這種模式下,客戶端與服務器端的TCP連接完全獨立,同時F5默認情況下以客戶端源IP和后臺建立連接,在打開SNAT的情況下用SNAT地址和后臺建立連接。StandardVS的端口永遠對外開放,無論后臺是否有服務器在工作。也就是說,如果VS開放的端口是80,在Node A和NodeB都down的情況下,虛IP的80端口還是可以telnet通的,只不過網(wǎng)頁訪問不了了。
第三種: Forwarding IP
一般用于內(nèi)外網(wǎng)連接,沒有PoolMember,轉發(fā)完全取決于本地路由。默認情況下,F(xiàn)5沒有路由功能,需要建立一個全0的VS去開啟F5的路由功能,其中,如果想控制只有內(nèi)網(wǎng)可以訪問外網(wǎng),而外網(wǎng)不能訪問內(nèi)網(wǎng),可以通過調(diào)整“VLANand Tunnel Traffic”參數(shù)來實現(xiàn)。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2. VSProfile
VSProfile 是依賴于VS的存在,是對于VS的流量進行格式化處理。如果VS上配置了TCPProfile,那么對于UDP的連接,F(xiàn)5是不會接受的。
tcp參數(shù)中IdelTimeout值(多長時間連接里面沒有數(shù)據(jù)流量時就刪除連接表)必須要與服務器相配合,否則會出現(xiàn)錯誤。如果F5上此值為150s,而IIs服務器為300s,就會產(chǎn)生大量錯誤。
3、 VS里面的Address Translation和 Port Translation ,默認情況下都是 enabled。
Address Translation的含義是如果外面訪問的主機和VS IP不一樣,就需要開啟此參數(shù),比如VSIP地址是192.168.27.100,真實機器為192.168.27.10,那么需要開啟AddressTranslation,而企業(yè)應用中,這參數(shù)一般是開啟的,除非特殊的上面介紹的Fowarding IP模式不需要開啟。
Port Translation參數(shù)的意思是VS地址是192.168.27.100的8080端口對應真實地址的80端口,那么需要開啟PortTranslation
4、SNAT Pool???
內(nèi)網(wǎng)需要訪問公網(wǎng)進行NAT轉換。當配置SNATAutoMap的時候,表示請求從哪個VLAN發(fā)出去,則SNAT的源地址為VLAN上的SelfIp,比如外網(wǎng)用戶(192.168.27.1)訪問內(nèi)網(wǎng)服務器(192.168.192.10),在開啟SNATAutoMap的情況下,訪問的源IP將轉變?yōu)镕5的內(nèi)網(wǎng)SelfIP(192.168.192.2)去訪問。當一個vlan上有多個SelfIP存在的時候,SNAT的源地址是在多個SelfIP之間輪詢。
5、會話保持
在大多數(shù)電子商務的應用系統(tǒng)或者需要進行用戶身份認證的在線系統(tǒng)中,一個客戶與服務器經(jīng)常經(jīng)過多次的交互過程才能完成一筆交易或者是一個請求的完成。由于這幾次交互過程是密切相關的,服務器在進行這些交互過程的某一個交互步驟時,往往需要了解上一次交互過程的處理結果,服務器進行下一步操作時需要,就要求所有這些相關的交互過程都由一臺服務器完成,而不能被負載均衡器分散到不同的服務器上。
F5BigIP支持多種的會話保持方式,其中包括:簡單會話保持(源地址會話保持)、HTTP Header的會話保持,基于SSLSession ID的會話保持,I-Rules會話保持以及基于HTTP Cookie的會話保持,此外還有基于SIPID以及Cache設備的會話保持等。下面重點介紹一下基于源地址會話保持和基于HTTP Cookie的會話保持。
源地址會話保持就是基于訪問的源地址,如果一直是該IP在訪問,則一直定向到一臺服務器。比較重要的是會話保持時間,默認是180s,可以根據(jù)具體需要進行修改。
但是存在的問題就在于當多個客戶是通過代理或者地址轉換的方式來訪問服務器時,由于都分配到同一臺服務器上,會導致服務器之間的負載嚴重失衡。另外一種情況是客戶機數(shù)量很少,但每個客戶機都會產(chǎn)生多個并發(fā)訪問,對這些并發(fā)訪問也要求通過負載均衡器分配到多個服務器上,這時,基于客戶機源地址的會話保持方法也會導致負載均衡失效。
這里就出現(xiàn)了第二種會話保持的功能基于Cookie的會話保持,這個常用于HTTP/HTTPs復雜均衡,即一個用戶訪問一個網(wǎng)站,在客戶沒有清除Cookie的情況下,F(xiàn)5總會命中同一臺服務器,這就防止了比如用戶訪問網(wǎng)銀時,需要跳轉頁面時,跳轉到另外一臺服務器上,導致交易失敗的情況發(fā)生。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6、 One Connect
在使用VS Standard模式,并且一般和Cookie的會話保持一起使用時,OneConnect實現(xiàn)連接聚合降低服務器的總連接數(shù)。
7、HA 介紹
實現(xiàn)Redundant機制。

兩臺BigIP 之間的通信機制可以共同兩種方式進行:
串口數(shù)據(jù)線方式:通過互相檢測對端的心跳信號,來判斷對端設備的工作狀態(tài),在每一臺BigIP設備內(nèi),都有專用的WatchDog芯片來產(chǎn)生心跳信號和檢測對端的心跳信號。
網(wǎng)絡數(shù)據(jù)線方式:兩臺BigIP距離較遠的時候采用這種方式。通過System->High Availability進行修改。當采用網(wǎng)絡數(shù)學線方式進行心跳線時,需要開啟Network Failover,注意Peer ManagementAddress 需要填寫Management端口的IP,不管此端口是否連線,而實際控制HA的地址可以在Unicast進行填寫。
在啟用Network Failover后,可以配置LANFailsafe的功能,可以使BigIP檢測到在相應VLAN沒有流量(像對端交換機端口Down掉或者掉電停機)時,F(xiàn)5設備可以即時切換,進入HighAvailability -> Failsafe -> Vlan failsafe即可對此進行配置。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
經(jīng)驗總結:
1、拿到F5首先就是要激活,通過向導可以很簡單的進行激活,但是記住一定要能上網(wǎng),最好在上架前完成激活工作。
2、打開瀏覽器使用https://192.168.1.245設備管理ip可以登錄到F5設備。默認用戶名和密碼均為admin。
3、創(chuàng)建相應的VLAN,并將接口加入相應的VLAN,Network -> VLANS 。
Name : 設置這個VLAN的名字;
Tag:保留為空;
Interface:定義Avalilable 中顯示的端口有選擇性的劃分到這個vlan中,指定端口后,單擊<< 選人Untagged 欄即可。
點擊 Finished 完成。
4、在劃分完VLAN后,即可對每個VLAN進行IP地址的定義,方法如下:點擊左側導航條中的 Networks ->Self IPs。
5、配置路由,點擊左側導航條中的 Networks -> Routes .
Type:定義配置的是默認網(wǎng)關還是靜態(tài)路由。
Destination: 定義目標網(wǎng)段。
Netmask :定義目標網(wǎng)段的掩碼;
Resource: 定義網(wǎng)關地址。
點擊Finished 完成。
6、Pool 配置:點擊左側導航條中的Local Traffic -> Virtual Servers ->Pools;
Name 定義創(chuàng)建的Pool的名字。
Health Monitors 定義該Pool使用的健康檢查機制,此處為TCP。
Load Balacing Method定義該Pool使用哪種負載均衡算法 --我們選用observed-member(觀察法)。
New Members 定義該pool下真實的服務器的IP和Port。
點擊 Finished 完成。
7、Virtual Server 配置,Local Traffic -> VirtualServers,這里面的參數(shù)可以參見之前介紹的進行填寫,并將管理相應的Pool。并配置相應的F5輪詢方式,常用的是輪詢(RoundRobin)。
8、配置Monitor 的作用是檢查服務器的健康狀態(tài),然后關聯(lián)的相應的Pool,Local Traffic ->Monitors。
9、配置Redundant,這在前面已介紹。
愛華網(wǎng)



