iT邦幫忙

1

FortiGate使用ECMP做多線路路由之心得分享

所謂ECMP指的是Equal-cost multi-path routing
這個是Fortigate OS 4.x版開始啟用的聯外多線路功能
因此,按字面描述當聯外有多筆方向為0.0.0.0的路由時
只要距離值相同,就會自動啟用ECMP功能
但是會按輪巡的方式,將來源IP分配給各個連外線路

後來為了解決各條連外線路頻寬大小不一
進階提供了ECMP負載平衡方法
有以下四種:

  1. 根據來源IP:Source IP based
  2. 權重負載平衡:Weighted Load Balance
  3. 溢出:Spillover
  4. 基於來源-目的IP:Source-Destination IP based
    並一直支援GUI畫面到OS 5.2.13,OS5.4以後須用到CLI做設定

實際來說,這些功能是很陽春
並植基於所謂的靜態路由 (但不能指定source)
因此並不如專業的線路負載平衡設備,如FortiWAN
可是如果需要針對來源去指派連外線路時
一旦啟用政策路由(route policy)
又會破壞其原本內定的路由規則,即
介面直接連接(包含VIP) > ECMP > 靜態路由
規則會不存在

常見的解決方法,是啟用路由優先權,指定流量優先線路
此舉雖會破壞ECMP的平衡
但卻能夠將目的為特定方向的流量導引去指定線路
而又保有線路備援存在的需要
特別適用於許多高中職國中小
可將主要流量用於一般電信線路,如Hinet
而將教網中心或政府公用系統之流量導給Tanet
如果Hinet斷網,則可以自動流量導回Tanet

話說回來,Fortigate在這方面的功能到了OS5.2
就開啟了WLLB新功能(Wan Link LoadBalance)
猜想是解決防火牆政策困擾
因為ECMP仍然要針對每一條連外線路設政策
但實際使用性並不是太好
(以小弟而言,當OS版本解決Zone的Bug後,多半外線負載平衡會改用Zone命名)
況且仍然不能解決指定來源的路由老問題
本以為OS5.4改命名為SD-WAN會改變 (software defined WAN)
沒想到只加了網際網路應用程式的路由
OS5.6持續無太多變化
直到現今FortiOS 6.0才看到指定來源路由的曙光


1 則留言

0
hsiang11
iT邦研究生 5 級 ‧ 2018-07-08 00:35:19

可以說說4種ECMP大致上的差異嗎?
政策雖好用,但是常常內部封包就開始大亂,路徑被改得很嚴重
我用過同距離 不同優先,主要連外是真的有解決
不過新版又出現會把ping回應封包丟到錯誤的優先介面問題
然後用wan1距離低於wan2,wan2設優先,流量卻又回到wan1去了,反而解了ping的問題
但是我還是不太理解 距離跟優先的選擇邏輯
到底哪種會比較優先

所以WLLB現在改叫SD-WAN了?
看了一下這功能覺得有前景
指定來源路由可以做到什麼?

mytiny iT邦大師 1 級‧ 2018-07-08 16:32:59 檢舉

可以參考這一篇,應該能解釋疑惑
Multipath Routing Basics
G大神順便可以翻譯成中文

SD-WAN可以做到指定來源到出口介面(OS 6.0以後)

hsiang11 iT邦研究生 5 級‧ 2018-07-08 17:21:39 檢舉

感恩 我在研讀看看

我要留言

立即登入留言