MikroTik RouterOS 實作 Web Load Balancer 負載平衡 (TCP、UDP皆可) L4

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 可以正常上網,否則可能會無法運作。


  2016-11-07      ez      Mikrotik RouterOS
Let’s Encrypt 免費 SSL 使用 IIS 安裝憑證

Let's Encrypt 是一個於2015年三季度推出的數位憑證認證機構,將通過旨在消除當前手動建立和安裝憑證的複雜過程的自動化流程,為安全網站提供免費的SSL/TLS憑證。Let's Encrypt 憑證簽發為每三個月一次,所以 90 天必須更新一次,可以設定排成自動更新,所以不必擔心。

申請 Let's Encrypt 憑證必須驗證網站是否正常,所以網站需要能正常存取,不可離線申請憑證。

首先必須下載憑證軟體:https://github.com/Lone-Coder/letsencrypt-win-simple/releases

修改網站 web.config,因為 Let's Encrypt 會產生驗證檔案到網站目錄內,但檔案開頭為 . 所以需要修改 web.config 才能存取檔案。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension="." mimeType="text/plain" />
        </staticContent>
    </system.webServer>
</configuration>

將憑證軟體解壓縮,執行

letsencrypt.exe --accepttos --manualhost 網域名稱 --webroot 網站資料夾路徑

//例如
letsencrypt.exe --accepttos --manualhost www.ez2o.com --webroot D:\WebRoot


  2016-11-07      ez      IIS、  好用軟體、  安裝教學
Zen Load Balancer 免費 Web Net 負載平衡 設定 HTTPS 安全性

本篇增加 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 分


  2016-10-30      ez      Linux、  好用軟體、  安裝教學
Zen Load Balancer 免費 Web Net 負載平衡 設定 HTTPS

本篇使用 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,點擊下圖框選的圖示,上傳憑證


  2016-10-29      ez      Linux、  好用軟體、  安裝教學
Zen Load Balancer 免費 Web Net 負載平衡 設定 備援機制 HA, High Availability 高可靠性

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 效果。


  2016-10-29      ez      Linux、  好用軟體、  安裝教學
Zen Load Balancer 免費 Web Net 負載平衡 設定 網頁伺服器

網頁伺服器過多人就會造成卡住,此時就須要有多台伺服器才能應付需求,要如何整合伺服器資源,就需要透過 Load Balancer 負載平衡 裝置,自動分配資源到各台伺服器。

安裝可以參考上篇:

https://www.ez2o.com/Blog/Post/Free-Zen-Load-Balancer-Setup

本篇使用 Zen Load Balancer 分配 Http Server 流量,依照下圖結構為範例。


  2016-10-28      ez      Linux、  好用軟體、  安裝教學
Zen Load Balancer 免費 Web Net 負載平衡 安裝教學

網頁伺服器過多人就會造成卡住,此時就須要有多台伺服器才能應付需求,要如何整合伺服器資源,就需要透過 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/


  2016-10-28      ez      Linux、  好用軟體、  安裝教學
Webduino 故障 異常 修復

也不知道什麼原因,Webduino 壞掉了!!

不管執行什麼程式,包括最基本的亮燈炮都沒作用。

心想不會這樣就毀了吧!才用沒幾次,並且價錢比 Arduino 貴很多。

以下開始教各位如何判斷故障問題點:

 

測試一:

Webduino 接上電源後,Webduino 板子上的紅色燈泡會開始閃逤,過一陣子會熄滅,表示 Webduino 與伺服器連線成功。

如果一開始接上電源,Webduino 板子上的紅色燈泡沒有閃逤,表示 ESP-01 壞了,請洽原廠。

如果接上電源,Webduino 板子上的紅色燈泡一直閃逤沒有停止,有可能 WiFi 連接異常 或 Webduino 伺服器異常,請先檢查 WiFi 是否正常,如果確定正常,過一陣子再使用 Webduino 吧!因為伺服器異常無解!!


  2016-05-29      ez      物聯網、  Webduino、  Arduino
自製 ez2o Smart Power 使用 Arduino + ENC28J60 + LCD1602

使用 Arduino + ENC28J60 + LCD1602 自製的 ez2o Smart Power,此為初版之後版本會將程式公開,可以自行製作 ez2o Smart Power。

將一些有可能當機的電子設備(例如:伺服器、監視器)連接上本產品,當機時就可以透過網路將電源重新啟動,連接在本產品插座上的產品也會跟著重新啟動。
對於遠距控制,省時省力,特別是電子產品放置於不易到達的位置時 (如電腦機房、國外、裝潢包覆等),不論是對於IT人員或是數位家庭都能提供便利的數位應用。

 

以下為自製的 ez2o Smart Power,因為是自製產品想要長整樣都可以。

必須準備以下零件才能製作網路電源,Arduino、ENC28J60 (網卡)、LCD1602 (螢幕)、5V 4路繼電器模組 (2路、1路都可以)、110V轉5V變壓器、DS18B20 (測溫用)、電阻、插座、保險絲開關、無段按鈕、外殼。


  2016-05-27      ez      作品、  物聯網、  Arduino