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.
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.
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.
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.
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.
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.
Uzupełniamy:
Chain: srcnat
Out. Interface: ether1 (nasz WAN1)
Przechodzimy do zakładki Action i wybieramy masquerade w polu Action, zatwierdzamy OK.
Dokładnie taką samą czynność wykonujemy dla WAN2 i WAN3. Wybieramy dodanie nowej pozycji i uzupełniamy:
Chain: srcnat
Out. Interface: ether2 (nasz WAN2)
Przechodzimy do zakładki Action, wybieramy masquerade i zatwierdzamy OK.
Dodajemy kolejną pozycje dla WAN3 i uzupełniamy:
Chain: srcnat
Out. Interface: wlan2
Przechodzimy do zakładki Action, wybieramy masquerade i zatwierdzamy OK.
Tak powinny wyglądać nasze masquerady:
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)
Następnie przechodzimy do zakładki Action i wybieramy Action: mark connection oraz uzupełniamy pole New Connection Mark: wan1_con.
Tę czynność powtarzamy dla każdego WANu. Klikamy dodanie nowej pozycji i uzupełniamy:
Chain: input
In. Interface: ether2 (WAN2)
Przechodzimy do zakładki Action i wybieramy Action: mark connection oraz uzupełniamy New Connection Mark: wan2_con.
Powtarzamy dla WAN3, klikamy dodanie nowej pozycji i uzupełniamy:
Chain: input
In. Interface: wlan2
Przechodzimy do zakładki Action i uzupełniamy Action: mark connection oraz New Connection Mark: wan3_con.
Ł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
Przechodzimy do zakładki Action i uzupełniamy Action: mark routing oraz New Routing Mark: to_wan1.
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
Przechodzimy do zakładki Action i wybieramy Action: mark routing oraz uzupełniamy New Routing Mark: to_wan2.
Następnie dla WAN3, klikamy na dodanie nowej pozycji i uzupełniamy jak poprzednio:
Chain: output
Connection Mark: wan3_con
Następnie przechodzimy do zakładki Action i uzupełniamy Action: mark routing oraz New Routing Mark: to_wan3.
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)
Przechodzimy do zakładki Action i wybieramy Action: accept.
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
Następnie przechodzimy do zakładki Action i wybieramy Action: accept.
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
Przechodzimy do zakładki Action i wybieramy Action: accept.
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
Wybieramy zakładkę Advanced i uzupełniamy:
Per Connection Classifier: both addresses, 3 / 0
Przechodzimy do zakładki Extra i uzupełniamy Dst. Address Type: local, Invert zaznaczone.
Przechodzimy do zakładki Action i uzupełniamy:
Action: mark connection
New Connection Mark: wan1_con
Tę czynność powtarzamy dla każdego WANu. Klikamy dodanie nowej pozycji i kolejno uzupełniamy:
Chain: prerouting
In. Interface: bridge1
Przechodzimy do zakładki Advanced i uzupełniamy:
Per Connection Classifier: both addresses, 3 / 1
Przechodzimy do zakładki Extra i wybieramy Dst. Address Type: local, Invert zaznaczone.
Przechodzimy do zakładki Action i uzupełniamy:
Action: mark connection
New Connection Mark: wan2_con
Powtarzamy dla trzeciego WANu, klikamy dodanie nowej pozycji i uzupełniamy:
Chain: prerouting
In. Interface: bridge1
Przechodzimy do zakładki Advanced i uzupełniamy:
Per Connection Classifier: both addresses, 3 / 2
Przechodzimy do zakładki Extra i uzupełniamy Dst. Address Type: local, invert zaznaczone.
Następnie wybieramy zakładkę Action i uzupełniamy:
Action: mark connection
New Connection Mark: wan3_con
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
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
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
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
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
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
Ż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.
Następnie wybieramy IP > DHCP Server i klikamy dodanie nowej pozycji. Ustawiamy:
Interface: bridge1
Address Pool: pool1
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
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.