Portál AbcLinuxu, 19. dubna 2024 07:30


Dotaz: Balancing sitoveho provozu pres 2 providery na urovni paketu ...

10.11.2014 21:07 Bill Gates
Balancing sitoveho provozu pres 2 providery na urovni paketu ...
Přečteno: 530×
Odpovědět | Admin
Hoj, chtel bych se prosim zeptat na jednu takovou sitovou vec, muzu si to sice napsat v C++ ale mozna existuje uz neco opensource hotoveho pouzitelneho odladeneho. Mezi jednim mistem a druhym mistem mam k dispozici dva nezavisle wifi spoje od dvou provideru, mam tam protazenou OPENVPN vynucenou skrz HTTP proxy jednou linkou a naprimo druhou linkou a rad bych dosahl stavu ze budu mit nejakou virtualni GW v siti na cliPC (clientPC) nebo by tahle GW byla obecne nekde na lokalni siti na nejakem treba routovacim PC pro tyto ucely. Tato GW by byla fakticky jako proxy ale na siti by se to chovalo jako GW a delala by to ze by na urovni paketu balancovala zatez. Pakety posilala stridave skrz jednu VPN30 i druhou VPN31,. bylo by tam nejake vyhodnocovani optimalizace pruchodnosti, pokud jedna trasa selze, nic se nedeje, provoz plynule prejde na druhou trasu, nabizi se sdileni veskere dostupne rychlosti pro upload i download soucasne vsemi linkami, no a na VPN serveru se pakety zase poskladaji presne podle poradi a teprve poslou ven na net. Obdobny princip u opacneho smeru. Klientske PC se tedy bude fakticky z venku z netu tvarit jakoze je na serveru a ma verejku 12.34.56.78, pokud si tedy jako GW nastavi tu virtualni GW.

Cele schema

192.168.1.100          192.168.1.25 / 98.76.54.32          12.34.56.78

[ cliPC ]     [ SW ] = [ proxy GW2 wifi2 ] ----- [ N ]     [ server ]
[ VPN30 ]  == [ IT ]                             [ E ] --- [ VPN30  ]
[ VPN31 ]     [ CH ] = [       GW1 wifi1 ] ----- [ T ]     [ VPN31  ]
10.10.30.6>=HTTP proxyGW2                                  10.10.30.1
10.10.31.6>=GW1        192.168.1.22 / 23.45.67.89          10.10.31.1
Cesta 1

[ cliPC ]     [ SW ] = [ proxy GW2 wifi2 ] ----- [ N ]     [ server ]
[ VPN30 ]  == [ IT ]                             [ E ] --- [ VPN30  ]
[       ]     [ CH ]                             [ T ]     [        ]

Cesta 2

[ cliPC ]     [ SW ]                             [ N ]     [ server ]
[       ]  == [ IT ]                             [ E ] --- [        ]
[ VPN31 ]     [ CH ] = [       GW1 wifi1 ] ----- [ T ]     [ VPN31  ]

Nevite nekdo o necem takovem, at neobjevuju kolo? Diky ..

PS: Jak klientske PC tak server je muj oblibeny Debian.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.11.2014 00:09 NN
Rozbalit Rozbalit vše Re: Balancing sitoveho provozu pres 2 providery na urovni paketu ...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nekolik veci.

Nejedna se o zadnou novinku.

Klienty obou stran bych do toho netahal, podstatne je pouze to, ze maji svou privatni branu a sit. Zameril bych se na reseni verejne casti.

Dokazu si predstavit tri koncepty. Zalozni linku - failover, slouceni linek - agregace a vyrovnavani zateze - loadbalance. Koncept se odviji od pouzite koncove technologie.

Ma kazda linka samostatny router, nebo jsou obe linky privedene do jednoho boxu?

Jako WAN brana slouzi Wifi HW, nebo samostatny linux/router?

Reseni je mozne postavit jak na L2(libovolny NHRP protol, LACP etc.), tak na L3 urovni(OSPF) a ro bud proprietarne v ramci HW, nebo OSS na linuxu.

11.11.2014 10:12 Bill Gates
Rozbalit Rozbalit vše Re: Balancing sitoveho provozu pres 2 providery na urovni paketu ...
Jako wan slouzi wifi HW (ubiqity m5hp). Je to NAT jako v podstate v kdejake domaci siti. Kazda linka ma tedy svou nezavislou wifi, ktera funguje jako NAT a na vnitrni siti jsou tedy k dispozici dve gateway. To zabaleni provozu do VPN se mi libi .. kvuli drzeni spojeni i pri vypadcich, kompresi, sifrovani, drzeni poradi paketu, mam s tim dobre zkusenosti, ale je mozne ze ta VPN je zbytecna.

Ten stav s temi VPN je uz ted, jen balancing mam manualni, vyberem HTTP proxy na strane serveru, tedy bud 10.10.30.1:3128 nebo 10.10.31.1:3128, cimz balancuju na urovni pozadavku aplikace... na dva downloady paralelne je to dobre.. Nebo na masivni download a poslech internetoveho radia pres druhou linku. Na urovni paketu by to byla naprosta pecka, bylo by prepinani plynule zautomatizovano.

Kdybych si to "rozhazovatko/balancovatko" psal sam, tak asi bych tu funkcnost tech VPNek jako P2P spoje naplno zuzitkoval. Vami navrhovane reseni neznam ale zkusim pohledat a prostudovat. Spise se klanim k OSS reseni, protoze HW ktery by tohle umel bude pravdepodobne z tech drazsich, musi se koupit, napajet elektrikou a kdesicosi :). Jakekoliv tutorialy, nebo odkazy k tematice, ktere by mi mohly uniknout pri mem hledani na googlu budou urcite uzitecne a predem za ne dekuji.
11.11.2014 12:12 NN
Rozbalit Rozbalit vše Re: Balancing sitoveho provozu pres 2 providery na urovni paketu ...
Tak m5hp, zadnou pouzitelnou feature nema(pokud se pletu info pls.), takze by to slo napriklad udelat tak, ze z obou pripojeni udelas bridge a na obou stranach linux bond z obou rozhrani a budes mit transparentni reseni na L2. Take muzes pouzit SW jako keepalived pro transparentni L3 reseni. V obou pripadech je jedno co nad tim bezi za provoz. Osobne bych se rozkladani mezi proxy vyhnul a uprimne jsem tve reseni uplne nepochopil..
11.11.2014 09:52 honza
Rozbalit Rozbalit vše Re: Balancing sitoveho provozu pres 2 providery na urovni paketu ...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, jestli jsem správně pochopil tak ti stačí obyčejný load-balancing per packet, v tom případě koukni na tenhle link jak to udělat jednoduše v linuxu: http://lartc.org/howto/lartc.rpdb.multiple-links.html.

Nejjednodušší bude, když obě OpenVPN budou navázány na server(PC), které bude provádět load balancing. Jakýkoliv další klient, pokud to budeš chtít hnát přes OpenVPN jako alternativní GW, tak si nastaví default tenhle server a je to.

Další možností je např. nainstalovat si shorewall a přes webové rozhraní si to "naklikat"
11.11.2014 11:05 blondak | skóre: 36 | blog: Blondak | Čáslav
Rozbalit Rozbalit vše Re: Balancing sitoveho provozu pres 2 providery na urovni paketu ...
Hmm, to jsem používal asi tak 3 hodiny a musel jsem od toho ustoupit, protože mi pak některé HTTP aplikace nefungovali podle očekávání, protože se během sezení měnili IP adresy a pokud si web kontroluje session vs IP tak je to nepoužitelné, místo toho jsem použil modul pro iptables HMARK a markoval spojení na routoval pakety na základě této značky. Nicméně ani toto není zcela ideální a load není zcela vyvážený jako v případě použití load balancing, ale u mě to prostě fungovalo lépe.
Každý problém ma své logické, snadno pochopitelné nesprávné řešení.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.