MikroTik WAN Load Balancing

Configurare noua (How To)

Situatie

Unele dintre cele mai solicitate cerinte sunt implementări multi-WAN și echilibrarea sarcinii. Din păcate, la fel de ușor ca majoritatea soluțiilor pe MikroTik, acestea nu sunt simple. Mulți furnizori precum Ubiquiti au vrăjitori (wizard) pe care îi puteți folosi în timpul configurației inițiale a dispozitivului pentru a configura mai multe WAN și echilibrarea încărcăturii, dar asta nu a ajuns încă la RouterOS. Aceste implementări bazate pe vrăjitor (wizard) sunt încă complexe, dar această complexitate este ascunsă administratorilor de dispozitiv.

Folosind o configurație multi-WAN echilibrată în sarcină ne ajută să îndeplinim câteva obiective de proiectare:

  • Failover în caz de eșec ISP
  • Măriți lățimea totală de bandă disponibilă pentru utilizatori
  • Distribuie utilizarea lățimii de bandă între furnizori

Ceva care trebuie remarcat înainte de a merge mai departe – acesta este un subiect destul de complex. Echilibrarea multi-WAN și încărcarea sarcinii ne impune să configurăm mai multe gateway-uri și rute implicite, conexiuni și marcaje ale routerului reguli Mangle și mai multe reguli NAT de ieșire. Dacă nu sunteți familiarizat cu firewall-urile MikroTik, rutarea și NAT-ul, atunci ar fi mai bine să opriți acest lucru până când veți avea timp să revizuiți aceste subiecte.

Solutie

Pasi de urmat

Setare router

Un singur router MikroTik este conectat la două ISP-uri (RDS și UPC) pe Ether1, respectiv Ether2, și la un LAN pe ether3. Traficul din rețeaua LAN va fi NAT în ambele porturi WAN și echilibrat. Vezi topologia de mai jos:

Configurați adresele IP locale:

/ip address
add address=1.1.1.199/24 interface=ether1 comment="RDS"
add address=2.2.2.199/24 interface=ether2 comment="UPC"
add address=192.168.1.1/24 interface=ether3 comment="LAN Gateway"

Setați gateway-urile implicite:

/ip route
add dst-address=0.0.0.0/0 check-gateway=ping gateway=1.1.1.1,2.2.2.1

NAT (masquerade) în porturile WAN:

/ip firewall nat
add action=masquerade chain=srcnat comment="RDS" out-interface=ether1
add action=masquerade chain=srcnat comment="UPC" out-interface=ether2

În acest moment, puteți opri configurarea routerului și lucrurile ar funcționa bine într-o situație de reîncărcare. Dacă unul dintre cei doi furnizori ar coborî, celălalt ar fi folosit. Cu toate acestea, nu există o echilibrare a încărcării, iar aceasta este strict o soluție numai pentru reîncărcare. Majoritatea organizațiilor nu ar dori să plătească pentru un al doilea circuit doar pentru a-l folosi doar atunci când primul se oprește.

Marcaj de ieșire la intrare

O problemă pentru a avea mai mult de un WAN este că pachetele care vin într-o interfață WAN ar putea ieși pe cealaltă. Acest lucru poate cauza probleme și poate rupe rețelele bazate pe VPN. Vrem ca pachetele care aparțin aceleiași conexiuni să intre și să iasă în același port WAN. În cazul în care un furnizor ar coborî conexiunile din portul respectiv ar muri, atunci va fi restabilit la celălalt WAN. Marcarea conexiunilor care vin în router pe fiecare WAN:

/ip firewall mangle
add action=mark-connection chain=input comment="RDS Input" in-interface=ether1 new-connection-mark="RDS Input"
add action=mark-connection chain=input comment="UPC Input" in-interface=ether2 new-connection-mark="UPC Input"

Acest lucru ajută routerul să țină evidența portului în care a venit fiecare conexiune.

Acum vom folosi marcajul de conexiune creat doar pentru pachetele care intră IN pentru a declanșa o marcă de rutare. Această marcă de rutare va fi utilizată mai târziu într-un traseu care indică o conexiune care este portul furnizorului pentru a ieși OUT .

add action=mark-routing chain=output comment="RDS Output" connection-mark="RDS Input" new-routing-mark="Out RDS"
add action=mark-routing chain=output comment="UPC Output" connection-mark="UPC Input" new-routing-mark="Out UPC"

Conexiunile care au fost marcate apoi obțin o notă de rutare, astfel încât routerul poate orienta așa cum ne dorim. În pasul următor, routerul va trimite pachete în conexiunile cu respectivele marcaje interfața WAN corespunzătoare.

Marcarea rutelor LAN

Unele reguli speciale Mangle sunt necesare pentru a spune routerului să încarce echilibrul îndreptat prin router din LAN. Modul în care funcționează această echilibrare a sarcinii este dincolo de domeniul de aplicare al acestui articol, dar este suficient să spunem că se întâmplă o mulțime de hashing. Dacă doriți să aflați mai multe, consultați documentația MikroTik .

Aceste reguli spun routerului să echilibreze traficul venind în ether3 (LAN), îndreptându-se către orice adresă non-locală (! Locală) de pe Internet. Apucăm traficul în lanțul de pre-rutare , astfel încât să-l putem redirecționa către portul WAN pe care îl dorim pe baza mărcii de rutare.

Următoarele comenzi echilibrează traficul LAN ether3 în două grupuri:

add action=mark-routing chain=prerouting comment="LAN load balancing 2-0" \
    dst-address-type=!local in-interface=ether3 new-routing-mark=\
    "Out RDS" passthrough=yes per-connection-classifier=\
    both-addresses-and-ports:2/0
add action=mark-routing chain=prerouting comment="LAN load balancing 2-1" \
    dst-address-type=!local in-interface=ether3 new-routing-mark=\
    "Out UPC" passthrough=yes per-connection-classifier=\
    both-addresses-and-ports:2/1

NOTĂ : Marcajele de rutare de mai sus sunt aceleași în acest pas ca în pasul precedent și corespund rutelor pe care urmează să le creăm.

Rute speciale implicite

În acest moment am marcat conexiunile care vin în rețele WAN și am folosit acele mărci de conexiune pentru a crea mărci de rutare. Pașii de echilibrare a încărcăturii LAN de mai sus creează și mărci de rutare și corespund cu ceea ce face pasul următor. Creați rute implicite care să acopere traficul cu marcajele de rutare pe care le-am creat mai sus:

/ip route
add distance=1 gateway=1.1.1.1 routing-mark="Out RDS"
add distance=1 gateway=2.2.2.1 routing-mark="Out UPC"

Notă : Aceste rute sunt aplicate doar cu o marcă de rutare potrivită. Pachetele nemarcate folosesc cealaltă regulă de rută implicită creată în timpul configurării routerului .

Rutele care au venit în conexiunea RDS obțin o notă de conexiune. Acea marcă de conexiune declanșează o marcă de rutare. Marcajul de rutare se potrivește cu marcajul din ruta de mai sus, iar pachetul retur iese din interfața în care a intrat.

Tip solutie

Permanent

Voteaza

(28 din 68 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?