跳到主要內容

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之類的設定。



























留言

這個網誌中的熱門文章

FortiGate 網路基本設定

這是Fortigate小台型號60D,他沒有一般的USB console port,所以我們要用mini USB搭配官方軟體FortiExplorer,軟體模擬console登入。



FortiExplorer可以到官方下載,http://www.fortinet.com.tw/resource_center/product_downloads.html 。

USB和軟體都安裝好插入之後他會自動開啟。



進入Command-line Interface,主要是看出廠預設的設定檔。

 edit "lan"
        set vdom "root"
        set ip 192.168.1.99 255.255.255.0
        set allowaccess ping https ssh http fgfm capwap
        set type switch
        set listen-forticlient-connection enable
        set snmp-index 10
    next

這說明了我們可以插在lan port然後透過192.168.1.99 web介面去管理。



設定192.168.1.0/24同網段,插在lan port上然後連https://192.168.1.99,預設帳號密碼是 admin 沒密碼。



先到Netwok Interface裡面編輯Wan1,就是跟我們小烏龜接的地方,這次範例是用PPPOE撥號連線。



輸入好Hinet提供的連線方式,按下OK,這裡要特別注意一個選項 Retrieve default gateway from server ,一定要打勾,他才會把PPPOE拿到的Default Gateway寫入路由表,不然會沒有Default Gateway可以到ISP。



確實拿到一個浮動IP 111.243.63.46。



這時候其實修改Software Switch lan的內部Default Gateway IP就可以了,但是我們仔細觀察一下。

Software Switch lan裡面的成員有 wifi 和 internal。
Hardware Switch internal裡面的成員有 internal1~ interna…

交換器Console的連線方法

如果我們要進去交換器打指令的話,通常都是使用console port。



購買產品的原廠通常都會送一條console線,Cisco和大多數廠商像是 D-link和Zyxel都通用,但是我有遇過Sonicwall 腳位不太一樣,所以不能通用,算是很少數。



舊的主機板後面都有 DB9 的母頭,所以Console線是 DB9 的公頭,插入就可以用了。



筆電因為沒有DB9的接頭,所以我們會買一條 RS232 轉 USB 線來用,就像現在超薄筆電很少有網路孔所以都是用USB轉網路孔。



所以最後接起來我們會拿到一條RJ45對USB的線。



接上筆電之後,要到裝置管理員找連接埠,如果看到驚嘆號的話表示沒有找到驅動程式,要到 RS232 轉 USB 的製造廠商的官網去下載安裝,我測過Win10的相容性已經很好了,通常都是隨插即用,COM數字多少是浮動的,所以每次要連線前最好先進來確認一下。



最後還要去看交換器連線 baud rate 多少,常見的為9600、57600、115200,不相同的話還是可以連,可是會出現亂碼。



連線軟體隨個人喜好,像PuTTY就是一款免費的軟體,有些人會偏好付費的SecureCRT,我們按照此設定連線。



測試連線成功了,我們終於可以打指令設定交換器。



COM不是只能同時有一個喔,像我為了要同時設定多台,我買了二個RS232一轉四COM的裝置,所以我可以開八個PuTTY來連線八台交換器。

Windows AD 架設

首先先改Windows Server 電腦名稱為DC01,然後重開機。



AD的架構是要透過DNS解析的,所以我們把慣用DNS伺服器指向自己 127.0.0.1 。



新增角色及功能精靈裡,點選Active Directory 網域服務。



安裝好之後點選伺服器管理員上方驚嘆號部屬後設定,來設定AD。



我們點選新增樹系,此範例的網域名稱為corpnet.lin0204.tw。



這裡可以看到因為AD的服務和DNS是綁在一起的,所以一定要安裝,DSRM是一個救援修復模式密碼可以給之後記起來,不太會用到。





NetBIOS 網域名稱預設是會取最左邊的單字,所以以此範例來說是 corpnet ,但不好識別,我們改成lin0204。





接下來就等安裝完成重開機。



我們這邊有一台用戶端電腦要加入網域,首先先把DNS指向DC01那台,不然沒辦法解析AD。



電腦名稱為PC01,加入到網域 corpnet.lin0204.tw。



加入網域必須要授權,我們給他administrator的密碼。



重開機之後,第一個畫面是登入 PC01\user 的密碼,這個是本機帳號,但我們要登入網域帳號,所以必須按切換使用者。



我們使用 netbios\帳號 的方式登入,所以是 lin0204\administrator 。



我們用指令 whoami 確定目前的電腦登入帳號為 lin0204\administrator ,並且此台用戶端電腦有加入網域。



我們回到DC01,然後使用工具,Active Directory 使用者和電腦工具。



加入網域的電腦預設會放在 Computers的容器(OU)裡,所以我們看到PC01。



網域控制站則會放在 Domain Controllers 的容器(OU)裡,所以我們看到有一台DC01。



我們前面有提到網域的架構和DNS是習習相關的,畢竟名稱解析都要靠DNS幫忙,所以加入網域的電腦名稱預設會自動登記在DNS裡,大家才解析的到。