WAN failover kisvállalkozásnál hogyan?

Tudom, hogy volt itt mar téma a WAN failover / loadbalancing, a kérdésem az lenne, hogy egy kisvállalkozásnál ezt hogy érdemes megcsinálni?

1. Vannak SOHO routerek amik tudnak 3G sticket fogadni és erre valamilyen szinten failovert kivitelezni. Mennyire megbízható ez, tudtok-e típust ajánlani?
2. Mikrotik RouterOS esetén láttam leírásokat, hogy tud ilyet. Melyik a legkisebb Mikrotik ami tudja ezt? Kell, hogy két "WAN" portja legyen, vagy bármelyik portot be lehet konfigurálni, hogy a második WAN portként működjön? Lásd itt https://wiki.mikrotik.com/wiki/Advanced_Routing_Failover_without_Script…
3. Elvileg OpenWrt is tudja, de a gyakorlatban ez nekem nem igazán akar működni :(

Egyéb ötlet, tapasztalat? Sajnos a fő kapcsolatunk (UPC) mostanában állandóan haldoklik és a főnökség szeretne valamilyen megoldást ami biztosítja a folyamatos internet kapcsolatot (ez vagy 3G, vagy valamilyen optikai szálas szolgáltató Digi v T-online lesz).

Köszi!

Hozzászólások

Még egy kérdés: jól sejtem, hogy csak a második megoldás tudja a loadbalancinget? Bár 3G-s backup kapcsolat esetén sok érteme nincs, mert azt csak akkor érdemes használni, ha a fő kapcsolat nem elérhető. Viszont fix optikai szolgáltatónál már lenne értelme a load balancingnek.. ha jól láttam, a kliens gépek belső IP-je alapján dobja szét a kapcsolatokat egyik vagy másik irányba.

Nálam Unifi USG van, dupla WAN port van rajta, alapból (GUI) tudja a failovert/loadbalancet. A második kapcsolat egy 4G sticken jön, ami egy rPi-be van dugva, az meg az eth0-án osztja meg ezt a netet és van dugva az USG-be.

Mikrotiknél szerintem nem vas hanem inkább sw függő a dolog. A Level 5 az tudja biztosan a failovert, szerintem az alacsonyabb szintűek is tudják, de erre nem vennék mérget.

Mindenképp 3G sticket szeretnél második WAN-nak? Lehet jól jön ha a második WAN-nak is van fix ip-je.

Arra érdemes figyelni, hogy ha USB-s 3G/4G stick-el csinálod, akkor csak ~40Mbit-et fog tudni (failover-nek szerintem bőven elég), ha ki akarod hajtani, akkor MikroTik SXT-LTE (vagy most már wAP LTE is), az kihajtja a 150/50 Mbit-et - viszont ez kizárólag az LTE kapcsolatra elég, a fő router-nek kell egy másik.

Akármelyik port akármire konfigurálható. Igényeidhez, teljesítményhez érdemes megnézni a különböző típusok blokkdiagramját: van amelyiknél a port-ok egy switch chip-en keresztül mennek a prociba (össz. 1 Gbit), a komolyabbaknál külön külön (portonként 1 Gbit)

Sima failover elég egyszerű, elég ha különböző route distance-t adsz a 2 kapcsolatnak, a kisebbiket fogja használni, amíg tudja. A load balancing már keményebb dió (packet mark-ok, routing), de össze lehet rakni. Viszont, ha nincs rá feltétlen szükség (sávszél miatt), akkor szerintem ne menj bele, maradj a tiszta failover-nél!

----------------------------------^v--------------------------------------
"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"

Nálam otthon van valami hasonló beállítva.

3 routert használok hozzá. Eredetileg azért lett egy külön router, mert a szolgáltatótól kapott routereken nem lehet mac-hez rendelni ip címet.

Telekom D-Link kábeles hgw,
saját belső címe 192.168.0.1
dhcp kikapcsolva,
wifi kikapcsolva.
port átirányítás felvéve, hogy távolról elérjem kábelneten a gépeimet.

Telenor Huawei b525 4g router,
saját belső címe 192.168.0.2
dhcp kikapcsolva.
Ezt használom wifi ap-ként is a mobil eszközeimhez (elég jó 3 streames ac wifije van).

Bármilyen lede/openwrt router, nekem épp egy Tp-Link wr841n friss stabil ledével. De eredetileg egy nexx wt3020f-fel próbáltam ki a működést.
saját belső címe 192.168.0.3
Wan portba nincs dugva semmi.
Wifi kikapcsolva.
DHCP ezen van bekonfigurlva, hogy a hálózatra lépő eszközöknek ip-t adjon. Mac - ip hozzárendelés.
Saját magát reklámozza ezzel gatewayként, és dns szernerként a google-ét használom a szolgáltatóké helyett. Az advanced dhcp opcióknál fel lehet vinni, hogy mit reklámozzon a klienseknek (6,8.8.8.8,8.8.4.4). Régebben, amikor egy netkapcsolatom volt, akkor nem magát, hanem a netkapcsolatért felelős routert reklámoztattam vele átjárólként (pl: 3,192.168.0.1), de a dinamikus váltáshoz persze mostmár saját magát reklámozza (192.168.0.3).
Static route-ként van felvéve, hogy melyik valódi internetre kötött routerre passzolodjanak tovább az adatok:
interface: lan, host-ip or network: 0.0.0.0, ipv4 netmask: 0.0.0.0, ipv4 gateway: 192.168.0.1, metric: default(0), mtu: default(1500), route type: unicast.
Jelenleg csak manuálisan váltok másik irányba (átírom a ipv4 gateway címet), de lehetne okosítani, hogy dinamikusan csinálja, vagy bizonyos címeket az egyikre, másokat a másikra.

Magában a dhcp szolgáltatásban ezt nem lehet szépen kezelni, mert újra kell csatlakoztatni az eszközöket, hogy újra kérjék a hálózati paramétereket és átjáró címét. Így viszont ez a router a kliensek számára az átjáró, de a static route miatt tovább vannak pattintva a kívánt routerre a csomagok.
Egyébként a netforgalom nem megy be ebbe a routerbe, csak a valódi irányt mondja meg. Szóval nem kell gigabitesnek lennie a gyorsabb nethez sem a segéd routernek.
Amint a static route-ben átállítom a címet, azonnal hat az összes forgalomra, attól kezdve a publikus ip cím a másik routeré.
Értelemszerűen az élő kapcsolatok megszakadnak váltáskor, de netszakadás esetén egyébként is szakadna.

Természetesen a wifis forgalom is azon a neten megy, ami épp a static route szerint a kimenő irány. Nem számít, hogy a 4g router része fizikailag.

Lehet az is működne, ha kisebb súlyozással (metric) felvenném a static route-be a másodlagost, s fennakadás esetén arrafelé menne a forgalom, de nem próbáltam.
A port átirányítási szabályokat persze a tartalék routerre is felvehetném, hogy azon át is be tudjak menni. A lede/openwrt eszköz egyúttal kezelheti a dinamikus dns szolgáltatót is, hogy frissüljön a cím.

Egyszerű és filléres megoldás, főleg, hogy a szolgáltatós routerek egyébként is megvannak.

Minimális linux ismerettel és pár soros scripttel megoldható szerintem, hogy automatizálva legyen. Ha más nem ping segítségével. De akár egy webes felület is lehet, ahol gizike megnyomja a nagy piros gombot a manuális váltáshoz. A fantáziádra bízom :)

De ahogy írtam, az is működhet (többen javasolták az általam olvasott oldalakon), hogy magasabb metric értékkel fel lehet venni a tartalékot. Csak magam nem próbáltam még ki ezt, hogy mi kell ahhoz, hogy a tartalék felé menjenek a csomagok. Főleg azért, mert ha az elsődleges nem szakad le, csak valamiért nincs forgalom, akkor nem esküdnék meg rá, hogy váltanak a kliensek.
szerk: ja amott rosszul írtam, szóval a kisebb (0, rövidebb út) az elsődleges útvonal és a nagyobb értékű a másodlagos.

Ja egyébként failover esetén érdemes lehet másik cég mobilos megoldását használni, mint a vezetékes kapcsolat cége. Legalábbis nem zárnám ki, hogy a közeli mobil torony netjét nem-e arról a kábelszakaszról kapja ugyanazon cég mobilszogláltatása is :) Bár ez itthon leginkább telekom esetén lehet, a többi mobilosnak talán nincs kábelese.

Az iparibb megoldásoknál általában keresztül kell vezetni a forgalmat egy dobozon, amiben gondolom hasonló logika alapján van valami felkonfigurálva a portokra. Nekem leginkább az volt meglepő a megoldásban, hogy nem kell keresztülvezetni rajta és egészen egyszerű. Persze a load balancingnál bonyolultabb a helyzet, ott eleve olyan nat táblát kell fenntartania, ami tudja melyik gép melyik kapcsolata milyen neten át megy épp.

De ahogy írtam, az is működhet (többen javasolták az általam olvasott oldalakon), hogy magasabb metric értékkel fel lehet venni a tartalékot. Csak magam nem próbáltam még ki ezt, hogy mi kell ahhoz, hogy a tartalék felé menjenek a csomagok.

Elárulom: az kell, hogy kivedd az elöl levő routing entry-t. Ergó ez, amit többen javasoltak, kurvára nem alkalmas az itt felvetett problémára.

Minimális linux ismerettel és pár soros scripttel megoldható szerintem, hogy automatizálva legyen. Ha más nem ping segítségével.

Szerintem az a probléma, hogy még sosem próbáltad ezt a pár soros scriptet megírni. Mondjuk ping segítségével. Akkor rájöttél volna, hogy közel sem pár soros lesz az a script, sőt, vannak itt alapvető, koncepcionális nehézségek is... (hint: mit fogsz pingetni, és hogyan oldod meg, hogy tudjad pontosan, melyik kapcsolatot nézed éppen?)

Egy ideig én is tűnődtem a pár soros script dolgon, de mivel nem értek hozzá, így hamar bele is tört a bicskám.
Helyette a conntrackd+keepalived párossal és két VM-el szépen össze tudtam tákolni Active-Backup módban, és még működik is. Próbálkoztam a corosync-el is de az valamiért nem volt olyan szimpatikus mint az előbbi kombó.

udv
letix
-----------------------------------------
Linux parancsok, kezdőknek

A ping az aktuális static route kapcsolaton megy ki. Ha nincs kapcsolat, akkor vált a másikra (sed -del kicseréli, szolgáltatást restartolja), hogy mi az aktuális, azt is ki lehet olvasni a konfig fájlból. Semmi extra. Azzal lehet bonyolítani, hogy mondjuk állapotot tároljon, s megadjuk mennyi próbálkozás után váltson, ha egyik sem megy, akkor mi legyen. Meg persze érdemes lehet többféle címmel is tesztelni, ha netán a címzettnél lenne épp valami kiesés.

Meg sms küldést is lehet betenni a mobil routeren át.

Persze nem bűn elolvasni, hogy máshol hogy csinálják
https://documentation.meraki.com/MX-Z/Firewall_and_Traffic_Shaping/Conn…
https://wiki.mikrotik.com/wiki/Failover_Scripting
...

Igen, ez valóban egyszerű, de mikor váltasz vissza? Ha beszarik a tartalék vonal is? Ez nyilván nem túl komfortos, ha a tartalékvonal sokkal gyatrább (mondjuk egy combos kábelnet helyett egy mobilnet). Ha viszont hasonló tudású vonalaid vannak, akkor meg a full aktív-passzív felállás fog fájni (kihasználatlanul áll a másik vonal).

"A ping az aktuális static route kapcsolaton megy ki."

Kivéve, ha a -I segítségével megkéred, hogy ne tegye, hanem fixen menjen ki valahol. Akkor akár egyszerre is tesztelheted a kettőt, az segít azon, hogy pl mikor kell visszaváltani. Ezzel együtt nem biztos, hogy ilyesmit scripttekkel vakarnék össze, HA-ban könnyű hibázni. Meg persze azt is sokan elfelejtik, hogy mi a budget, meg mi a valódi igény, simán lehet, hogy bőven jó, hogy "gizike, ha elmegy a net, akkor ezt a pirosat kihúzni, ezt a kéket meg ide az 5ös portba (meg is jelöltem) bedugni, aztán tessék telefonálni."

Természetesen vannak jobb, iparibb, kulcsrakészebb megoldások :)

Ez meg egy egyszerű, megfelelő megoldás otthonra, meg oda, ahol a főnöknek magasak az elvárásai, de pénzügyi keretet nem biztosít hozzá :)
Amúgy meg tényleg, sokszor valóban csak az kell, hogy valami egyszerű módon át lehessen billenteni a tartalékra, hogy ne álljon le az élet.

Nálunk van a Telekomnak ilyen szolgáltatása, kifejezetten kkv-re kihegyezve, rá lehet kérdezni.

Én ajánlom a Ubiquiti EdgeRouter eszközeit is. Gyárilag támogatott a WAN failover/loadbalancing. Stabilan működnek, és kapsz firmware update-teket. Debian/Vyatta fut rajta, scriptezhető, és gyárilag van root-od rá. A hasonló hardverű Mikrotikeket teljesítményben lenyomják kis csomagméret, nagy pps mellett.

https://www.ubnt.com/products/#edgemax

Itthon 1Gbps DigiNet van, 800 Mbps-et mértem már vele NAT mögül.

https://www.msdist.co.uk/product_MikroTik-RouterBOARD-hEX-PoE.php

A load-balancing-ra a Mikrotik a PPC-t (https://wiki.mikrotik.com/wiki/Manual:PCC) hasznalja, amit kb pont annyira "konnyu" konfigolni, mint egy Linux boxot, viszont legalabb nem olcso.

https://wiki.mikrotik.com/wiki/Manual:PCC
https://aacable.wordpress.com/2011/06/04/mikrotik-4-wan-load-balance-pc…

Ha van szabad gep, akkor inkabb ezt:
pfSense Multi-Wan: https://doc.pfsense.org/index.php/Multi-WAN

Teljes lepesrol lepesre leirassal:
https://www.cyberciti.biz/faq/howto-configure-dual-wan-load-balance-fai…

pfSense gyonyoruen elmegy, mint virtualis gep 1GB rammal.
Nalunk most 5 van ilyenbol, 2 db site-to-site.

A gond az lehet hogy a pfSense nem nagyon tamogat USB modemet, arra viszont jo megoldas lehet egy Raspberry, mert azon meg eleg jo a 3G/4G modem support.

Köszi a segítséget, úgy tűnik megvan a jelölt, egy Mikrotik router formájában. Mivel nekem olcsó és lehetőség szerint kevés buherálást, konfigolást igénylő megoldás kellett, ezért az egyedi raspberry+3G+operwrt megoldást kihúztam (jelenleg is openwrt van egy SOHO routeren és a 3G modemet beállítani nem sikerült (játék egy kb 3 éves, lebutított ppp daemon paramétereivel és hasonlók). A pfSense és OPNSense szintén (megbízható x86 hardver kell alá, míg nekem inkább egy "appliance" jellegű doboz kell). Így maradt a Mikrotik illetve az EdgeRouter mint alternatívák. A Mikrotikot azért választottam, mert egy dobozban tudja a 3G modem kezelését, a Wifi-t és képes multi-wan routerként működni. Ha nem kellene 3G modem kezelés illetve a Wifi-t is külső AP-vel oldanám meg, az EdgeRouternek úgy tűnt jobb a doksija, a szoftver-frissítése és a hardveres teljesítménye is, szóval akkor azt választottam volna.

Még 1x köszi!

Olyan esetre gondoltam ahol 2 ADSL van bekötve eltérő szolgáltatóktól. Így mindkettő PPPoE. A neten nem találtam egyértelmű választ arra, hogy a pfSense tudja ezt. A példákban maximum az egyik WAN PPPoE, illetve olyan "példában" ahol mindkét WAN PPPoE lenne ott mindkét WAN ágban van router így a pfSense oldalán már egyik WAN ág sem PPPoE...

Mikrotiknel barmelyik jo ha etherneten jonnek az uplinkek (USB-s dongle cuccokkal nincs tapasztalatom), az egyik ugyfelemnel sima heX van (a gigabites portok miatt nem volt jo a lite).
Barmelyik portra konfiguralhato WAN.
Elesben tesztelve tobbszor is (koszi UPC), tokeletesen mukodik a failover.