MikroTik RouterOS 的可控性非常的高,並且有內建 Script 功能,如果內建找不到的功能,大部分都可以用 Script 做出來。
如果 Script 也無法做出來,可以透過程式呼叫 MikroTik RouterOS API + VM,所以基本上是沒有任何限制的,只要你寫得出來皆可。
MikroTik RouterOS 的官方教學都只提到 外網負載平衡,並沒有實際運用在 內網負載平衡,Web Load Balancer 可以實作 L4 或 L7 ,本篇實作 L4 的 Web Load Balancer。
要做 Load Balancer 需要分配封包到不同機器,MikroTik RouterOS 提供兩種封包分配方式:
NTH:
如果有兩台伺服器,第一個封包會分配到第一台,第二個封包會分配到第二台,第三個封包會分配到第一台,以此類推。
PCC:
如果有兩台伺服器,用戶進入會依照 Source IP、Source Port、Destination IP、Destination Port 產生一組 hash,依照這組 hash 固定分配到第一台或第二台。
上敘兩種方法 NTH 及 PCC,會發現 NTH 並不適合作 Web Load Balancer,這樣會造成 session 異常,所以必須採用 PCC 方式,以下就採用 PCC 進行設定。
下圖為範例結構:
WAN:1.1.1.1
MikroTik RouterOS LAN:192.168.1.1
Web Server1:192.168.1.2
Web Server2:192.168.1.3
※ 實作以下範例,請確定 NAT 已設定正常,就是 Web Server 可以正常上網,否則可能會無法運作。
本篇增加 Zen Load Balancer 的 SSL 安全性
安裝可以參考:
https://www.ez2o.com/Blog/Post/Free-Zen-Load-Balancer-Setup
基本設定可以參考:
https://www.ez2o.com/Blog/Post/Free-Zen-Load-Balancer-Web-Server
HTTPS設定可以參考:
https://www.ez2o.com/Blog/Post/Free-Zen-Load-Balancer-HTTPS
開始 SSL 檢測網站:https://www.ssllabs.com/ssltest/
發現得分為 F,Cipher Strength 不到 60 分
本篇使用 Zen Load Balancer 新增 Https Server,以下將說明如何 安裝憑證、新增伺服器、增加安全性。
安裝可以參考:
https://www.ez2o.com/Blog/Post/Free-Zen-Load-Balancer-Setup
基本設定可以參考:
https://www.ez2o.com/Blog/Post/Free-Zen-Load-Balancer-Web-Server
開啟 Zen Load Balancer Master 管理後台,切換到 Manage> Certificates,點擊下圖框選的圖示,上傳憑證
Load Balancer 可以備援其他網路設備,但如果 Load Balancer 故障也會造成服務掛點,此時就需要建置 HA, High Availability 高可靠性,簡單來說就是有兩台 Load Balancer 設備,當 Master 故障時自動切換到 Slave 讓運作不會中斷。
Zen Load Balancer Community Edition 版本就提供了 HA 功能,真是佛心啊!
安裝可以參考:
https://www.ez2o.com/Blog/Post/Free-Zen-Load-Balancer-Setup
基本設定可以參考:
https://www.ez2o.com/Blog/Post/Free-Zen-Load-Balancer-Web-Server
本篇使用兩台 Zen Load Balancer 建置 HA,依照下圖結構為範例。
上圖代表有兩台 Zen Load Balancer 設備,一台 Master 一台 Slave,Master IP 為 192.168.100.36,Slave IP 為 192.168.100.37,兩台共用 192.168.100.35,正常時 Master 持有 192.168.100.35,當 Master 異常時 Slave 持有 192.168.100.35,這樣就可以達到 HA 效果。
網頁伺服器過多人就會造成卡住,此時就須要有多台伺服器才能應付需求,要如何整合伺服器資源,就需要透過 Load Balancer 負載平衡 裝置,自動分配資源到各台伺服器。
安裝可以參考上篇:
https://www.ez2o.com/Blog/Post/Free-Zen-Load-Balancer-Setup
本篇使用 Zen Load Balancer 分配 Http Server 流量,依照下圖結構為範例。
網頁伺服器過多人就會造成卡住,此時就須要有多台伺服器才能應付需求,要如何整合伺服器資源,就需要透過 Load Balancer 負載平衡 裝置,自動分配資源到各台伺服器。
Load Balancer 通常搭配硬體裝置販賣,流量需求越大價格越貴,一台要價十到百萬都有,本篇就介紹免費的 Zen Load Balancer 是一個開放的 TCP、UDP、HTTP 及 HTPPS 負載平衡器,提供了 L7 內容交換以及 L4 負載平衡。Zen Load Balancer 提供了完善的網頁操作介面,我們可以利用網頁管理介面進行設定,也可以利用其圖表瞭解伺服器的運作相關資訊。
首先須到官網下載 Zen Load Balancer Community Edition 此為免費版,另外也有付費版 Zen Load Balancer Enterprise Edition。
官方網址:https://www.zenloadbalancer.com/community/downloads/