close
Blogtrottr
Mobile01最新文章
 
MikroTik RouterOS Load Balancing - Pros & Cons
Dec 30th 2014, 09:55

因為在RouterOS中,所有的port都可以是WAN或LAN,所以我們可以將其中幾個port當成WAN來使用,這時候如果有申請不同ISP的線路,就可以做負載平衡(同一個ISP則意義不大,除非都是單獨拉專線,否則真要斷線也是一起斷)。

要在RouterOS達成Load Balancing,最後一步一定是透過Policy Route來決定路由,但如何作分配呢?有三種作法可以參考:

一、ECMP (Equal Cost Multi-Path)
有關ECMP的詳細步驟,可以參考MikroTik ECMP load balancing with masquerade

主要是在Default Gateway將所有可連接的Gateway寫在一起

/ip route
add dst-address=0.0.0.0/0 gateway=10.1.1.254,10.2.1.254,10.3.1.254 check-gateway=ping


Pros
.擁有簡單的容錯移轉機制,一旦其中一條路徑斷了,自然改由其他剩餘有效路徑來平均分配

Cons
.要特別注意並增加連線至RouterOS本身的Policy Route,因為來自A路徑的封包可能會經由B路徑出去,這時原本預計收到來自A路徑封包的設備會丟棄來自B路徑封包,造成連線失敗。
.有些ISP內的主機(譬如DNS)僅提供給該ISP的線路,這時經由不同ISP線路出去的request可能不被接受。

二、NTH <第N個封包或連線>
有關NTH的詳細步驟,可以參考MikroTik NTH load balancing with masquerade

主要是在防火牆標記這裡,指定封包或連線的次序。

譬如我們利用NTH=3,1來讓每三個封包中的第一個標記為Gateway_1;利用NTH=3,2來讓每三個封包中的第二個標記為Gateway_2;利用NTH=3,3來讓每三個封包中的第三個標記為Gateway_3

/ip firewall mangle
add action=mark-packet chain=prerouting new-packet-mark=Gateway_1 nth=3,1 passthrough=yes
add action=mark-packet chain=prerouting new-packet-mark=Gateway_2 nth=3,2 passthrough=yes
add action=mark-packet chain=prerouting new-packet-mark=Gateway_3 nth=3,3 passthrough=yes


或者也可以透過順序的調整,利用NTH=3,1來讓每三個封包中的第一個標記為Gateway_1;利用NTH=2,1來讓後面兩個封包中的第一個標記為Gateway_2,第二個標記為Gateway_3

/ip firewall mangle
add action=mark-packet chain=prerouting new-packet-mark=Gateway_1 nth=3,1 passthrough=no
add action=mark-packet chain=prerouting new-packet-mark=Gateway_2 nth=2,1 passthrough=no
add action=mark-packet chain=prerouting new-packet-mark=Gateway_3


Pros
.能完整的根據區網內的所有來源平均分配負載

Cons
.區網內的Server對外服務要注意路徑
.如果任何一條路徑斷了,其設定的路由標記將無作用,改由Default Route出去,增加Default Route的負載。

三、PCC (Per Connection Classifier)
有關PCC的詳細步驟,可以參考MikroTik PCC,如果想了解PCC運作原理,可以參考How PCC Works,簡單說就是把Source IP、Source Port、Destination IP、Destination Port取需要的整數相加後,再將其總和的個位數除以指定值,而得到的餘數來作決定。

主要是在防火牆標記這裡,根據來源/目標的位置與埠的組合運算,來各別指定給予連線標記。

譬如我們將Source IP與Source Port相加後,其總和的個位數除以3得到的餘數若為0,則該連線標記為Gateway_1;若為1,則該連線標記為Gateway_2;若為2,則該連線標記為Gateway_3

/ip firewall mangle
add action=mark-connection chain=prerouting new-connection-mark=Gateway_1 per-connection-classifier=src-address-and-port:3/0

add action=mark-connection chain=prerouting new-connection-mark=Gateway_2 per-connection-classifier=src-address-and-port:3/1

add action=mark-connection chain=prerouting new-connection-mark=Gateway_3 per-connection-classifier=src-address-and-port:3/2


Pros
.因為判斷條件變化性多,當區網內設備夠多時,能以類似Random的方式動態平均分配負載

Cons
.因為是採用餘數制,區網內設備少時,有機會負載集中落在其中幾條,譬如10.0.0.3:443與10.0.0.6:80就落在同一條。
.如果任何一條路徑斷了,其設定的路由標記將無作用,改由Default Route出去,增加Default Route的負載。

延伸閱讀
[開箱] MikroTik CCR1016-12G
MikroTik RouterOS VPN (PPTP/L2TP/OpenVPN/SSTP/SSH Tunnel)
MikroTik RouterOS QoS (Queue/HTB/PCQ)
MikroTik RouterOS IGMP Proxy w/ CHT MOD
MikroTik RouterOS Hairpin NAT - Pros & Cons
MikroTik RouterOS Hotspot
MikroTik RouterOS User Manager - RADIUS

This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.

You are receiving this email because you subscribed to this feed at blogtrottr.com.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 jmuko90 的頭像
    jmuko90

    2016【韓劇】奶酪陷阱劇情簡介及人物介紹奶酪陷阱 EP03 預告奶酪陷阱 線上看奶酪陷阱(捕鼠器裡的奶酪) 第1集

    jmuko90 發表在 痞客邦 留言(0) 人氣()