Shunze 學園 >資訊設備專區 >Array > 《分享》Inbound Link Load Balance 哈囉,還沒有註冊或者登入。請你[註冊|登入]
« 上一篇主題 下一篇主題 » 顯示成列印模式 | 增加到我的最愛
發表新主題 發表回覆
作者
主題
shunze
工友伯伯


註冊日期: 2002 04
來自: 潮汐終止之地
文章: 2370

shunze 離線
《分享》Inbound Link Load Balance引用回覆 編輯/刪除文章 搜尋由  發表的其他文章 回報給版主 IP 位置 回此頁最上方

在Link Load Balance的架構中,所謂的 Inbound/Outbound 是這樣看的,
從內部intranet到APV,再透過APV的鏈路分派邏輯,將流量導向外部,叫做 Outbound。
相反的,從外部internet透過APV的鏈路分派邏輯,透過外部線路連結到對外服務的主機,叫做 Inbound。

Outbound Link Load Balance 的設定,請參考 這篇 教學。
而在 Inbound Link Load Balance 的設定上,首先要有一個觀念,
Inbound Link Load Balance 一定是透過DNS的分派來完成。

試想,若對外服務主機是透過外部實體IP來進行,而不是FQDN,
外部訪客透過實體IP來連結服務時,絕對是進到該IP對應的ISP線路,
不可能跑到另一條線路上!
在這樣的情況下,只會從一條線路進來,就談不上所謂 Inbound Link Load Balacne 了。

所以在 Inbound Link Load Balacne 的概念中,對外服務主機一定是透過 FQDN 來提供對外服務。
然後把該FQDN的DNS的解析工作交給APV,由APV對該 FQDN 分別於兩條ISP線路上的實體IP設定對應的DNS記錄。
藉由APV的輪循分派邏輯,把外部訪客的flow透過DNS解析,導引到對應的線路上,完成 Link Load Balacne。



Inbound 與 Outbound LLB在外部線路的設定與health check是相同的,
不過如前所述,Inbound 多了DNS的設定,
若對外服務的主機不是單一主機,而是一群主機做輪循,那麼還要加上SLB的設定,
然後把DNS對應到該主機或SLB。

以下為雙WAN的示範環境,我們逐一來設定Inbound LLB。

ISP1線路,IP 172.17.1.1,Mask 255.255.0.0,GW 172.17.0.254
ISP2線路,IP 172.18.1.1,Mask 255.255.0.0,GW 172.18.0.254
兩條線路的權重分別為100與50
內部網段10.10.1.0,Mask 255.255.255.0
APV內網IP 10.10.1.104

對外服務SLB的後端主機分別為10.10.1.105,10.10.1.106,10.10.1.107
以round robin輪循分派。
真實IP為172.17.1.10對應ISP1
真實IP為172.18.1.10對應ISP2
服務之FQDN為test.abc.com


配置IP及Default Route
我們給Port1配上內部IP 10.10.1.104/24
Port3配上線路1的IP 172.17.1.1/16
Port4配上線路2的IP 172.18.1.1/16
ip address port1 10.10.1.104 255.255.255.0
ip address port3 172.17.1.1 255.255.0.0
ip address port4 172.17.1.1 255.255.0.0
ip route default 172.17.0.254



配置鏈路
設定介面在ADVANCED LOAD BALANCE \ Link Load Balance \ OutBound Settings中進行。
第一步先分別對兩個WAN配置其對應之鏈路。








透過icmp對鏈路做health check,在要設定check的Link Route上連點滑鼠兩下。



然後按下 ADD 新增該Link的check。








啟用health check。




設定SLB
SLB的設定可參考 這篇,這邊我們以指令來設定。
slb real http "r_web01" 10.10.1.105 80 1000 tcp 1 1
slb real http "r_web02" 10.10.1.106 80 1000 tcp 1 1
slb real http "r_web03" 10.10.1.107 80 1000 tcp 1 1
slb group method "g_web" rr
slb group member "g_web" "r_web01" 1
slb group member "g_web" "r_web02" 1
slb group member "g_web" "r_web03" 1

然後設定兩筆VIP對應SLB Group for兩條線路。
第一條線路VIP 172.17.1.10







第二條線路VIP 172.18.1.10








設定DNS
我們要分別對兩條線路的服務IP設定DNS記錄。
DNS的設定要在ADVANCED LOAD BALANCE / Link Load Balance / InBound Settings中設定。









DNS的TTL調整可在ADVANCED LOAD BALANCE / Link Load Balance / InBound Settings中進行。

預設是60秒。

然後把test.ab.com的DNS委派給APV來解析。








設定Inbound的輪循方式
Inbound Method的調整可在ADVANCED LOAD BALANCE / Link Load Balance / InBound Settings中來進行。




其它
啟用ipflow,可以讓內部對外同一flow,保持同一線路外出。
啟用rts,可以讓外部服務回傳時,採用與原發起服務相同之線路。

這兩項需在SYSTEM CONFIGURATION / Basic Networking / Routing / RTS/IPFLOW/ERoutes 中進行設定。



測試
可在外部透過tracert進行test.ab.com的路由追蹤測試,看看與我們規劃是否相同。
或是經一段時間測試,再由statistics來比對流量數據。



透過CLI指令來設定Inbound LLB
設定Link Route
llb link route "ISP1" 172.17.0.254 100
llb link route "ISP2" 172.18.0.254 50
llb link health checker icmp "ISP1" "172.17.0.254"
llb link health checker icmp "ISP2" "172.18.0.254"
llb link health on

設定SLB
slb real http "r_web01" 10.10.1.105 80 1000 tcp 1 1
slb real http "r_web02" 10.10.1.106 80 1000 tcp 1 1
slb real http "r_web03" 10.10.1.107 80 1000 tcp 1 1
slb group method "g_web" rr
slb group member "g_web" "r_web01" 1
slb group member "g_web" "r_web02" 1
slb group member "g_web" "r_web03" 1
slb virtual http "vip1" 172.17.1.10 80
slb policy default "vip1" "g_web"
slb virtual http "vip2" 172.17.1.10 80
slb policy default "vip2" "g_web"

設定DNS
llb dns host test.abc.com 172.17.1.10 100
llb dns host test.abc.com 172.18.1.10 50
llb dns ttl test.abc.com 60

設定Inbound Method
llb method inbound wrr

其它
ip ipflow on
ip rts on



♥順子老婆的網拍,請多關照∼

If you don't like something, change it.
If you can't change it, change your attitude.
Don't complain!




2014-08-09, 20:19 shunze 的個人資料 把 shunze 加入好友列表 發送Email給 shunze 瀏覽 shunze 的網站 MSN : shunze@gmail.com
  « 上一篇主題 下一篇主題 »
發表新主題 發表回覆
跳到:

Powered by: Burning Board 1.1.1 2001 WoltLab GbR