Fortigate WAN 負載平衡練習

我的架構圖如上,就是簡單兩個LAN和兩個WAN做負載平衡。

第一種方法:平常用Seednet線路,Seednet線路不通的時候走Hinet線路。
(PS:以下LAB我內對外政策都全開,做PAT上網。)

先設定路由,
0.0.0.0/0.0.0.0  192.168.5.254 AD值為10
0.0.0.0/0.0.0.0  192.168.4.254 AD值為11
由於到Seednet線路的AD值比Hinet線路好,所以路由表會選擇 192.168.5.254。

這時候我們再去新增線路品質偵測,讓他去ping hinet dns,如果失敗的話就判斷線路不通,移除路由表。

為什麼我們要用線路偵測還不是用介面up和down來判斷呢?因為通常你的防火牆都是接在小烏龜上,所以就算介面是up,還是無法上網,因為ISP遠端機房有問題,通常都是用線路偵測來判斷,如果無法到達168.95.1.1,我們就認為無法上網,要趕緊切換線路。

確實從Seednet 118開頭切到 36開頭Hinet線路,並且掉了6個封包才切換。

查看LOG有看到兩行,
Link Monitor changes state from ok to failed, protocol: ping
Static route is removed. Route: (192.168.5.253->168.95.1.1 ping-down)

路由表目前出現的 0.0.0.0/0.0.0.0  192.168.4.254 AD值為11 這條,所以員工都會這邊走。

等到Seednet線路OK之後又會切回來,因為過程差不多,這裡我就不示範了。

這種方式比較屬於備用線路,台灣老闆比較不喜歡,怎麼可以買一條線路都不去用他,所以我沒有客戶這樣設定過。

第二種方法:全體員工(172.16.100.0/24)用Hinet線路,只有大頭(172.16.200.0/24)走Seednet線路。

首先先設定一條預設路由往192.168.4.254 Hinet Gateway丟。
然後設定一條政策路由,172.16.200.0/24(大頭)都往192.168.5.254 Seednet Gateway丟。
(PS:政策路由強制力比靜態路由高,設定不好會導致所有流量都往WAN丟,正常的LAN也無法Routing,我這邊只是偷懶的設法,實際上不會這樣設定。)
員工(Server 2008)確實走118開頭(Hinet),大頭(Server 2012)走36開頭(Seednet)。
這時候確實設定就結束了,但是你的工作也不保了。
我們把Seednet的線路切斷,讓他ping不到168.95.1.1。
大頭們要看公司股票一秒鐘幾十萬上下,你讓他無法上網,他就讓你沒有工作。
所以我們再去線路偵測設定Seednet斷了把介面down,就會再走回原本的路由表。
LOG出現,Link Monitor initial state is failed, protocol: ping,然後大頭們還可以走Hinet線路出去,工作又暫時保住了,線路正常會切回來我就不示範了。
第三種方法:公司買兩條線路就隨便走,任一條斷了還是可以上網。
我們這時候要使用 ECMP (Equal Cost Multiple Path)
就是兩條路由的AD值一樣的時候,可以兩條都走。
主要支援四種load-balancing方式。
我們先設定靜態路由 0.0.0.0/0.0.0.0 到 192.168.4.254和192.168.5.254 AD都是10。
也設定好線路偵測到 168.95.1.1,最後看路由表確實有兩條。

使用者電腦掉了8個封包之後有切回來,LOG有看到
Link Monitor changes state from ok to failed, protocol: ping
Static route is removed. Route: (192.168.5.253->168.95.1.1 ping-down)
然後靜態路由 0.0.0.0 0.0.0.0 192.168.5.254被移除了,所以大家只能走  192.168.4.254,切回來我就不示範了。

最後說一下Fortigate在5.0版本以後有新的設定方式,原因很簡單。

先不說其他的,我只有兩條LAN到兩條WAN,政策就有四條,大家也知道通常上網的政策都差不多,等於說你的WAN越多你的政策就越多,管理起來也越麻煩。
首先我們先把政策和剛剛的線路偵測砍掉,因為政策綁在介面上會無法設定。

先設定好線路偵測,設定完之後他會成立一個wan-load balance虛擬介面。

由於預設閘道以後都是他控制,我們只要設定一條丟給這個介面就可以了。

最後內到外政策兩條到wan-load balance做PAT就可以了。

查看路由表,確實有兩條預設閘道到192.168.4.254(Hinet),和192.168.5.254(Seednet)。

我們把Seednet切斷讓他不能到168.95.1.1,確實也被移除路由表。

結論:
防火牆的WAN負載平衡只是堪用,如果要比較專業進階的設定還是要購買像是AscenLink這類的設備,比方說你有五條WAN的話,他可以只走WAN2+WAN3之類的設定。