MikroTik Load Balancing rozłożenie na trzy łącza.

Load Balancing – jest to równomierne rozłożenie ruchu sieciowego na kilka łącz internetowych. W tym artykule przedstawiam rozłożenie na trzy łącza w systemie MikroTik oraz kompletną konfiguracje jako router. Load balancing ma o wiele więcej zalet niż dzielenie łącza po ip czy usługach. Pierwsza i najważniejsza różnica jest taka iż podczas awarii jednego lub w tym przypadku dwóch łącz automatycznie bez ingerencji administratora ruch zostanie przełączony na trzecie działające łącze bez utraty pakietów i łączności z internetem. Jest to naprawdę nie zauważalne dla użytkownika. Kolejną zaletą jest sumowanie prędkości, czyli jeżeli mamy trzy łącza po 20 mbit/s sprawdzając speedtestem prędkość wynosi 60 mbit/s. Po za tym nie znalazłem podobnego artykułu a szukałem naprawdę długo więc postanowiłem napisać go sam.

Urządzenie które zostało użyte do testu to RouterBoard 435G + dwie karty radiowe, R52N-m do odbioru internetu jako trzeci WAN3 oraz R52 skonfigurowana jako ap bridge do rozsyłania internetu bezprzewodowo w sieci lokalnej. MikroTik jest zresetowany do ustawień fabrycznych poprzez wydane polecenie w terminalu: system reset no-defaults=yes . Następnie dodałem adres ip i bramę domyślną łącza pierwszego na porcie ether1 dlatego że mój pc jest podłączony do routera do którego jest podłączony także RB 435G, w celu zalogowania się poprzez winbox. Zmieniłem także identity na LB.

Przechodzimy do konfiguracji. Logujemy się do RB przez winboxa i opisujemy interfejsy żeby w dalszym etapie było wszystko jasne i czytelne.

20_1

Na początek dodajemy nowego bridga aby połączyć interfejsy naszego lanu czyli wlan1 i ether3. W tym celu wybieramy Bridge > + . Przechodzimy do zakładki STP i zmieniamy Protocol Mode: none i zatwierdzamy OK.

20_2

Następnie dodajemy porty do naszego bridga. Przechodzimy do zakładki Ports i klikamy dodanie nowej pozycji. Wybieramy ether3 zatwierdzamy OK, następnie dodajemy nową pozycje i wybieramy wlan1 i zatwierdzamy OK.

20_3

Następnie dodajemy adresacje na nasze interfejsy. Na WAN1 czyli ether1 adres został dodany wcześniej. Adresy na WAN2 i WAN3 będą przydzielane dynamicznie z DHCP. W tym celu wybieramy IP > DHCP Client i klikamy dodanie nowej pozycji. Wybieramy Interface: ether2 i zatwierdzamy OK. Następnie jeszcze raz klikamy dodanie nowej pozycji i wybieramy Interface: wlan1 i zatwierdzamy.

20_4

Następnie dodajemy adres na interfejs bridge sieci lokalnej. Wybieramy IP > Addresses > + i klikamy dodanie nowej pozycji. Uzupełniamy adres ja przyjąłem 192.168.2.254/24 wybieramy Interface: bridge1 i zatwierdzamy Apply, pole Network powinno uzupełnić się samo.

20_5

Teraz przechodzimy do konfiguracji firewalla w celu dodania masquarady na każde z naszych łącz. W tym celu wybieramy IP > Firewall przechodzimy do zakładki NAT i wybieramy dodanie nowej pozycji.

20_6

Uzupełniamy:
Chain: srcnat
Out. Interface: ether1 (nasz WAN1)

Przechodzimy do zakładki Action i wybieramy masquerade w polu Action, zatwierdzamy OK.

20_7

Dokładnie taką samą czynność wykonujemy dla WAN2 i WAN3. Wybieramy dodanie nowej pozycji i uzupełniamy:
Chain: srcnat
Out. Interface: ether2 (nasz WAN2)

20_8

Przechodzimy do zakładki Action, wybieramy masquerade i zatwierdzamy OK.

20_9

Dodajemy kolejną pozycje dla WAN3 i uzupełniamy:
Chain: srcnat
Out. Interface: wlan2

20_10

Przechodzimy do zakładki Action, wybieramy masquerade i zatwierdzamy OK.

20_11

Tak powinny wyglądać nasze masquerady:

20_12

Przechodzimy do zakładki Mangle w celu markowania ruchu dla każdego łącza. Klikamy na dodanie nowej pozycji i kolejno uzupełniamy:
Chain: input
In. Interface: ether1 (WAN1)

20_13

Następnie przechodzimy do zakładki Action i wybieramy Action: mark connection oraz uzupełniamy pole New Connection Mark: wan1_con.

20_14

Tę czynność powtarzamy dla każdego WANu. Klikamy dodanie nowej pozycji i uzupełniamy:
Chain: input
In. Interface: ether2 (WAN2)

20_15

Przechodzimy do zakładki Action i wybieramy Action: mark connection oraz uzupełniamy New Connection Mark: wan2_con.

20_16

Powtarzamy dla WAN3, klikamy dodanie nowej pozycji i uzupełniamy:
Chain: input
In. Interface: wlan2

20_17

Przechodzimy do zakładki Action i uzupełniamy Action: mark connection oraz New Connection Mark: wan3_con.

20_18

Łańcuch input mamy skonfigurowany więc przechodzimy do konfiguracji łańcucha output. Nadal w zakładce Mangle klikamy dodanie nowej pozycji i uzupełniamy:
Chain: output
Connection Mark: wan1_con

20_19

Przechodzimy do zakładki Action i uzupełniamy Action: mark routing oraz New Routing Mark: to_wan1.

20_20

Tę czynność również wykonujemy dla każdego WANu, więc klikamy na dodanie nowej pozycji i uzupełniamy:
Chain: output
Connection Mark: wan2_con

20_21

Przechodzimy do zakładki Action i wybieramy Action: mark routing oraz uzupełniamy New Routing Mark: to_wan2.

20_22

Następnie dla WAN3, klikamy na dodanie nowej pozycji i uzupełniamy jak poprzednio:
Chain: output
Connection Mark: wan3_con

20_23

Następnie przechodzimy do zakładki Action i uzupełniamy Action: mark routing oraz New Routing Mark: to_wan3.

20_24

Następnie musimy zaakceptować połączenia z każdego WANu do naszej sieci lokalnej czyli bridge1. Wybieramy dodanie następnej nowej pozycji i uzupełniamy:
Chain: prerouting
Dst. Address: 192.168.4.0/24 (adres sieci pierwszego wanu WAN1)
In. Interface: bridge1 (nasz LAN)

20_25

Przechodzimy do zakładki Action i wybieramy Action: accept.

20_26

Tę czynność wykonujemy dla każdego WANu. Klikamy dodanie nowej pozycji i uzupełniamy:
Chain: prerouting
Dst. Address: 192.168.0.0/24 (adres sieci drugiego wanu WAN2)
In. Interface: bridge1

20_27

Następnie przechodzimy do zakładki Action i wybieramy Action: accept.

20_28

Została jeszcze jedna regułka, klikamy dodanie nowej pozycji i uzupełniamy:
Chain: prerouting
Dst. Address: 192.168.3.0/24 (adres sieci trzeciego wanu WAN3)
In. Interface: bridge1

20_29

Przechodzimy do zakładki Action i wybieramy Action: accept.

20_30

Następnie markujemy ruting połączeń za pomocą Per Connection Classifier dla pierwszego łącza, więc klikamy dodanie nowej pozycji i kolejno uzupełniamy:
Chain: prerouting
In. Interface: bridge1

20_31

Wybieramy zakładkę Advanced i uzupełniamy:
Per Connection Classifier: both addresses, 3 / 0

20_32

Przechodzimy do zakładki Extra i uzupełniamy Dst. Address Type: local, Invert zaznaczone.

20_33

Przechodzimy do zakładki Action i uzupełniamy:
Action: mark connection
New Connection Mark: wan1_con

20_34

Tę czynność powtarzamy dla każdego WANu. Klikamy dodanie nowej pozycji i kolejno uzupełniamy:
Chain: prerouting
In. Interface: bridge1

20_35

Przechodzimy do zakładki Advanced i uzupełniamy:
Per Connection Classifier: both addresses, 3 / 1

20_36

Przechodzimy do zakładki Extra i wybieramy Dst. Address Type: local, Invert zaznaczone.

20_37

Przechodzimy do zakładki Action i uzupełniamy:
Action: mark connection
New Connection Mark: wan2_con

20_38

Powtarzamy dla trzeciego WANu, klikamy dodanie nowej pozycji i uzupełniamy:
Chain: prerouting
In. Interface: bridge1

20_39

Przechodzimy do zakładki Advanced i uzupełniamy:
Per Connection Classifier: both addresses, 3 / 2

20_40

Przechodzimy do zakładki Extra i uzupełniamy Dst. Address Type: local, invert zaznaczone.

20_41

Następnie wybieramy zakładkę Action i uzupełniamy:
Action: mark connection
New Connection Mark: wan3_con

20_42

Zostało nam jeszcze ustawienie routingu, w tym celu wybieramy IP > Routes i klikamy dodanie nowej pozycji. Kolejno uzupełniamy:
Dst. Address: 0.0.0.0/0
Gateway: 192.168.4.254 (brama domyślna WAN1)
Distance: 1

20_43

Zatwierdzamy OK. Dodajemy bramę drugiego łącza, klikamy dodanie nowej pozycji i kolejno uzupełniamy:
Dst. Address: 0.0.0.0/0
Gateway: 192.168.0.1 (brama domyślna dla WAN2)
Distance: 2

20_44

I dla naszego trzeciego łącza klikamy na dodanie nowej pozycji i uzupełniamy:
Dst. Address: 0.0.0.0/0
Gateway: 192.168.3.1 (brama domyślna WAN3)
Distance: 3

20_45

Następnie dodajemy trzy pozycje dla routing mark. Klikamy dodanie nowej pozycji i uzupełniamy:
Dst. Address: 0.0.0.0/0
Gateway: 192.168.4.254 (brama domyślna WAN1)
Distance: 1
Routing Mark: to_wan1

20_46

Następnie dla drugiego wanu, klikamy dodanie nowej pozycji i uzupełniamy:
Dst. Address: 0.0.0.0/0
Gateway: 192.168.0.1 (brama domyślna WAN2)
Distance: 1
Routing Mark: to_wan2

20_47

Kolejno dla trzeciego łącza, klikamy dodanie nowej pozycji i uzupełniamy:
Dst. Address: 0.0.0.0/0
Gateway: 192.168.3.1 (brama domyślna dla WAN3)
Distance: 1
Routing Mark: to_wan3

20_48

Żeby wszystko działało poprawnie dodamy jeszcze serwer DHCP dla naszej sieci lokalnej. Najpierw pool w tym celu wybieramy IP > Pool i wybieramy dodanie nowej pozycji. Uzupełniamy pole Adresses: 192.168.2.10-192.168.2.20 i zatwierdzamy OK.

20_49

Następnie wybieramy IP > DHCP Server i klikamy dodanie nowej pozycji. Ustawiamy:
Interface: bridge1
Address Pool: pool1

20_50

Zatwierdzamy OK. Przechodzimy do zakładki Networks, klikamy dodanie nowej pozycji i kolejno uzupełniamy:
Address: 192.168.2.0/24
Gateway: 192.168.2.254
Netmask: 24

20_51

Teraz po podłączeniu kablem do ether3 lub bezprzewodowo do wlan1 powinniśmy uzyskać adres ip dynamicznie z naszego serwera DHCP. Po podłączeniu pc możemy sprawdzić rozłożenie ruchu na nasze trzy łącza internetowe. Łącza są sumowane także zwiększa się prędkość pobierania.

Poniższy film przedstawia pełną konfiguracje powyższego artykuły LoadBalancing w systemie MikroTik z rozłożeniem na trzy łącza internetowe.