NAT技術三
在第二篇NAT介紹文章中,提供了NAT的負載均衡的配置。但是,那種簡單的負載均衡有較多的侷限性:
1、 不檢查內部服務器的狀態,可能會造成路由黑洞。
2、 不能靈活調整服務器的負載
爲了解決這些問題,開始提出新的技術,引入了服務器負載平衡(Server Load Balancing)技術。該技術提供兩種工作模式:定向模式和分派模式。
一、定向模式:
在定向模式中,給服務器指定一個IP地址,真實的服務器不知道這個地址。在數據包進行轉發的時候,需修改數據包中的IP地址,並重新進行CRC計算,再進行數據包的轉發。
具體配置如下:
Router(config)#ip slb serverfarm Web_server (1)
Router(config-slb-sfarm)#nat server (2)
Router(config-slb-sfarm)#real 10.1.1 .1 (3)
Router(config-slb-real)#weight 10 (4)
Router(config-slb-real)#faildetect numconns 8 numclients 3 (5)
Router(config-slb-real)#retry 60 (6)
Router(config-slb-real)#maxconns 2000 (7)
Router(config-slb-real)#inservice (8)
Router(config-slb-real)#exit
Router(config-slb-sfarm)#real 10.1.1 .2 (9)
Router(config-slb-real)#weight 15
Router(config-slb-real)#faildetect numconns 8 numclients 3
Router(config-slb-real)#retry 60
Router(config-slb-real)#maxconns 3000
Router(config-slb-real)#inservice
Router(config-slb-real)#exit
Router(config)#ip slb vserver Out_server (10)
Router(config-slb-vserver)#serverfarm Web_server (11)
Router(config-slb-vserver)#virtual 200.1.1.1 tcp 80 (12)
Router(config-slb-vserver)#delay 10 (13)
Router(config-slb-vserver)#idle 1200 (14)
Router(config-slb-vserver)#inservice (15)
命令詳解:
(1) 建立一個真實服務器羣組,羣組名Web_server
(2) 該羣組使用定向模式提供服務。默認情況下真實服務器羣組使用分派模式(如下一個圖例配置情況就是分派模式。
(3) 真實服務器的IP地址
從(4)--(8)是配置真實服務器的一些連接特性
(4) 權重10。該命令的意思是:10.1.1 .1服務器我承擔的流量爲10/(10+15)。15爲另一臺服務器的權重
(5) 在認定該服務器失效前,路由器給服務器所發送的最多連接失敗數
(6) 指定在服務器失效後,路由器多長時間檢測一次服務器
(7) 該服務器最大連接數。這個參數設定是根據服務器的性能決定的
(8) 在這個羣組中啓用該服務器
(9) 建立羣組中的另一臺真實服務器
(10) 建立虛擬服務器,指定虛擬服務器名Out_server
(11) 指定哪個服務器羣組處理該虛擬服務器的流量
(12) 配置虛擬服務器地址及其協議和端口號
(13) 連接終止後路由器上保持該SLB表項的時間
(14) 空閒超時值
(15) 啓用虛擬服務器
二、分派模式:
處於分派模式時,真實的服務器上配置兩個地址:一個是自已的地址,一個是虛擬IP地址。當路由器進行數據轉發的時候,不需要對數據包的IP地址轉換,直接把數據包分發。注意,在分派模式的時候,中間的交換機必須是二層交換機。
具體配置如下:
Router(config)#ip slb serverfarm Web_server
Router(config-slb-sfarm)#real 10.1.1 .1
Router(config-slb-real)#weight 10
Router(config-slb-real)#inservice
Router(config-slb-real)#exit
Router(config-slb-sfarm)#real 10.1.1 .2
Router(config-slb-real)#weight 15
Router(config-slb-real)#inservice
Router(config-slb-real)#exit
Router(config)#ip slb vserver Out_server
Router(config-slb-vserver)#serverfarm Web_server
Router(config-slb-vserver)#virtual 200.1.1.1 tcp 80
Router(config-slb-vserver)#inservice
分派模式的配置和定向模式很多都是相同的。分派模式中只少了一條命令:
Router(config-slb-sfarm)#nat server
注:如果大家對NAT技術很感興趣,我很願意和大家分享更多的NAT技術。NAT還需要有很多的網絡優化方案。