Két internet előfizetés párhuzamos használata

 ( manfreed | 2017. június 17., szombat - 12:37 )

Úgy alakult, hogy két internet előfizetés került a lakásba. Kíváncsi volnék a javaslataitokra, tanácsotokra hogy volna érdemes úgy beállítani, hogy mindkettőből a legtöbbet tudjam kihozni.

Így használnám:

Adott egy munkagép, ezen dolgozom, és fontos, hogy mindig elérhető legyen az internet. Az utóbbi pár hétben többször tapasztaltam rövid kieséseket, amiket szeretnék elkerülni, illetve szeretném, ha ilyenkor a másodlagos net besegítene.

Adott egy szerver is, amin futnak kintről elérhető szolgáltatások (jelenleg az elsődleges előfiz. ip-jén keresztül). Ugyanitt fut némi torrent is, aminél előnyös lehet kihasználni a két kapcsolat sávszélességét egyszerre.

Vannak még telefonok, laptop, okostévé, nem fontos, hogy mindkét hálózathoz kapcsolódjanak, elég ha az elsődlegeshez.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Elvileg az Asus rt-ac66u b1 kezel dual wan-t (de még gyakorlatban nem próbáltam soha).

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

Jó hardvernek tűnik, de reméltem, hogy van olcsóbb megoldás. Szoftveres megoldásban ne reménykedjek?

Openwrt-cuccokkal talán olcsóbban is megoldható, de ennyi pénzért ez a hardver+szoftver-kombó barátinak tűnik (asus-merlin firmwarerel használnom, erre a hardverre a nagyobbik típusra (rt-ac68) való firmwaret kell rátölteni - az pedig egy cirka 45-50e forintos cucc.)

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

A router, amit írtál 30e-40e körül találtam meg az árukeresőn, tényleg nem drága, de most nem igazán fizetnék plusz hardverre.

Persze ha nincs más, nyilván ez lesz a megoldás.

Igazából abban reménykedtem, hogy meg tudom oldani beruházás nélkül, szoftveresen, ami közvetlenül azon a gépen tudna működni, ahol használom a netet (a munkagépemen). Két ethernet port adott, kábelek adottak, ha szoftveresen meg lehetne oldani, akkor megspóroltam egy csomó pénzt. Az nem is érdekes, hogy a hálózat többi gépével mi van, azok mehetnek csak az egyik hálózaton. Sajnos pont ehhez a részéhez nagyon nem értek.

Bocsi, hogy skót irányba tolom :)

A routolás átirányítással gyak. simán megoldható, a load balancing már trükkösebb lesz (Windows alatt nem sok esélyt látok rá).

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

Szerencsére nem windows-t használok :) Lentebb linkelt gyu valamit, az alapján indulok el, hátha.

Amit te keresel:
http://lartc.org/howto/
Kifejezetten ez a fejezet érdekes neked:
http://lartc.org/howto/lartc.rpdb.multiple-links.html

Persze, ha járatos vagy a netfilter/iptables terén is, akkor lehet tovább turbózni/customizálni a megoldást! ;-)
A fenti inkább csak az alapok, hogy hol érdemes az infók olvasásának nekikezdeni!

Konkrétan arra gondolok, hogy a 4.2.2-es fejezet hülyeség.
A kernel működési modelljét hibáztatja az inkompetenciájáért a szerző.

Ha dinamikusabb döntést akar a két route tábla között, akkor tegye azt fwmark alapján, és netfilterrel meg már annyi kifinomult lehetőség van markolgatásra, hogy a füled ketté áll! ;-)

Igen, ide eljutottam tegnap, össze is dobtam egy scriptet a minta alapján, de nem jött össze. Ráadásul desktop gép lévén rögtön a networkmanager is bekavart. Most épp kemény meló folyik, de délután tudok konkrétumokat mondani.

Ha maradunk az Asus vonalon, az Asus RT-N18U is tudja ezt.

--
-- Üvegfiú - Csontkemény harc
Tégy Jót!®

Én mikrotik-re szavaznék.
Mondjuk arra hogy "szakadozik" (értsd packet loss) szerintem nem nagyon van orvosság - ha "szakadt" az viszont egyértelműen detektálható.

Nyilván ha egy kapcsolat megszakad, azzal nincs mit tenni, de F5 után legalább tudom folytatni másik kapcsolaton.

Már egy TPL 1043-mal, + openwrt-vel megoldható volt ez...
Azt kell eldöntened, hogy load-balance vagy failover konfigurációt akarsz, mert (a szerver eléréshez) a DNS bejegyzéseket (és szolgáltatásokat) annak megfelelően kell kialakítanod. (Feltételezve, hogy dinamikus címeket kapsz.)

Csak felületesen sejtem mit takarnak ezek a fogalmak, tudnál segíteni pontosan mit takarnak ezek?

load balance - terheléselosztás, valamilyen elv szerint osztja el a terhelést. Ez lehet pl. olyan, hogy páros IP címre X kapcsolatot használja, páratlanra Y kapcsolatot. De ez csak egy példa, sok más is lehet
failover - van egy elsődleges és egy backup kapcsolatod, azaz ha az első megszakad akkor átáll a tartalékra.

Akkor jól sejtettem, valamelyest a kettő keveréke volna az igazi.

Ha jól értem Gyu megoldásából kiindulva (vagy legalábbis az elvet követve) talán összehozható egy script, ami a loadbalance részét megoldja a route tábla módosításával. (bocsi, ha pontatlan terminológiát használok, ez a része nekem nagyon kimaradt)

A failover pedig sejtésem megoldható (amatőr módon) egy scripttel, ami figyeli az interface-ek állapotát, és pingel valami külső szolgáltatást (azokra az esetekre amikor a hálózat ép, csak épp nincs net) és módosítja a route-olást aszerint, hogy épp melyiken van.

Hints:
- networkmanagert küldd el a h...l f...ára. Legalábbis beszéld le arról, hogy a te két internet felé néző interfészeddel akarjon bármit barmolni. Már nem emlékszem hogy kell megoldani, de google ad rá jó találatokat, hogy network managert lebeszéljünk arról, hogy bizonyos interfészeket ő managelni akarjon.
Amúgy, ha más interfészeid meg nem lesznek, akkor a komplett nework-managert agyon lehet verni. (kicsit gonoszkodva: Lénár' Pöteringgel együtt!)

- /etc/network/interfaces -t írd meg jól. Amikor hasonlót csináltam, én oda vettem fel minden okosságot.
Az rt_tables -be egyszer írsz be, és onnantól már néven tudod nevezni a tábláid.

- a két interfészed meg gondolom static. ill, még előfordulhat, hogy dhcp-n kap mind a kettőn ip-t. Az még trükkös lehet :/ Tegyük fel az egyszerű esetet, hogy nem az.
Ebben az esetben kb. valami ilyesmi az interfaces-ed

auto lo
iface lo inet loopback
up iptables-restore </etc/iptables.szabalyaid.txt

auto eth0
iface eth0 inet static
address ...
netmask ...
gateway ...
up ip rule list | grep -q fwmark\ 0x1 || ip rule add fwmark 1 table tabla1
up ip route list table tabla1 | grep -q ... || ip route add ...
up ip route list table tabla1 | grep -q ... || ip route add ...
# ha akarod, akkor down-nal ki is veheted a szabalyokat

auto eth1
iface eth1 inet static
address ...
netmask ...
gateway ...
up ip rule list | grep -q fwmark\ 0x2 || ip rule add fwmark 2 table tabla2
up ip route list table tabla2 | grep -q ... || ip route add ...
up ip route list table tabla2 | grep -q ... || ip route add ...
# ha akarod, akkor a down-nal ki is veheted amit betettel

A tabla1-ben kell kb 1 route a local networkre, meg 1 az azon az interfeszen levo defaultroute-ra.
A tabla2-ben kell 1 route az ottani local networkre, meg 1 az ottani defaultrouter-ra.

A döntéseket, loadbalanceingot meg fwmark-kal mangle táblában, ahogy jól esik.

Amire figylej: conmark-ot célszerű használni!
Ha egyszer egy tcp kapcsolatot elkezdtél kiépíteni az egyik interfészen, akkor utána a kapcsolat minden vonatkozó (pl. related icmp-k) csomagját is arrafelé küldd.

DNS-t célszerű, kifejezetten csak az egyik felé küldeni. Bár a legtisztább, ha saját magadnak rezolvolsz mindent egy localhost-on futó dns-szerverrel.

Egy openwrt-s eszközöm van, amin most részben hasonló a konfig. Ott csak egy uplink-em van, DE van egy vpn-em is, és bizonyos forgalmakat, specifikusan a vpn-en szeretnék ki-be-küldeni.
Ott a /etc/firewall.user -em néz ki így, némi anonimizálás után:
ip rule list |grep -q fwmark\ 0x1 || ip rule add fwmark 1 table vpn
ip rule list |grep -q 172.28.33.40 || ip rule add from 172.28.33.40 table vpn
ip route list table vpn | grep -q tap0 || ip route add default via 192.168.4.1 dev tap0 table vpn
iptables-save |grep -q vpn1 || iptables -t mangle -A fwmark -s 172.28.33.39/32 -p tcp -m tcp --sport 22 -m comment --comment vpn1 -j MARK --set-mark 1
iptables-save |grep -q vpn2 || iptables -t mangle -A fwmark -s 172.28.33.39/32 -p tcp -m tcp --sport 49000:49010 -m comment --comment vpn2 -j MARK --set-mark 1
iptables-save |grep -q vpn3 || iptables -t mangle -A fwmark -s 172.28.33.39 -d 5.135.189.lol -m comment --comment vpn3 -j MARK --set-mark 1

Van, hogy a vpn interfész elbomlik, újraindul, etwas. Olyankor csak újra lefuttatom ezt a scriptet, és mindent rendberak. Azért is ez a sok grep-feltételes parancs.
Pár magyarázat:
* cgnat mögött vagyok, nincs publikus ipv4 címem. Így egy a vpn túloldalán lévő DNAT szabály + a wrt saját konfigjában lévő szabály együtt megoldja, hogy ami kintről beforwardolódik az egyik illumos-zónámba (jail-nek kb megfelelő konténer). Viszont visszafelé is a vpn-en kellene route-olódjanak a csomagok, és ebben a nyavajás wrt-ben valamiért a connmark-kal meg a gyári 3.10-es kerneljével nem bírtam zöldágra vergődni. így a vpn1 kommentű szabály segít abban, hogy az olyan csomagnak, ami a zóna ssh szerere felől jön, az is a vpn-be route-olódjon.
* Ugyanez még a 49000-49010 porttartományra. Szerettem volna, ha tudok "tesztnek" "szolgáltatást" tenni, (szemi-)"publikusan" elérhető formában. Az, hogy ilyen eldugott portokra teszem, nem zavart, nem az volt a lényeg.
* Ha a zóna felől, egy bizonyos IP felé menne a forgalom, akkor azt is a vpn-en kereszül route-olja.

Ill, ami az fwmark-on kívül volt: ha az ip rule szabályaiban nem szerepel a 172.28.33.40-es cím, akkor lefuttatja ezt is: ip rule add from 172.28.33.40 table vpn
Vagyis minden forgalom, ami a 172.28.33.40 felől jön (ő egy virtualboxban futó linuxban lévő lxc), az bármerre is menne a neten, az mindig a vpn-en keresztül megy ki. (túloldalt, értelemszerűen, a tőlem jövő forgalom snat-al van a net felé engedve)

Remélem, sikerült még némi muníciót adni! ;-)

A témában még, egy sokkal rövidebb, lényegretörőbb cookbook:

https://blog.khax.net/2009/12/01/multi-gateway-balancing-with-iptables/

En nem szarakodnek. A stabilabb netet hasznalnam pornoletoltesre, a masikat meg munkara


------------------------
Jézus reset téged

+1

+1

B*meg :D
Nem bírom abbahagyni a röhögést

Ubiquiti EdgeRouter X-et vettem itthonra, de egy RouterBOARD hEX Lite SOHO router is jó választás, de ezt időigényesebb beállítani.

Openwrt használok instabil Telekom 50mbit és Telenor korlátlan 4g. Olyan modemmel ami hálózati kártyák enteriőr látszik. Szóval kb hasonló a tiedhez.
Következő a tapasztalat. Openwrt multilan megoldása jó, csak minden biztonsági szolgáltatások ki kellett kapcsolni nálam, mert állandóan offline állapotba kerül mindkét wan. Amióta minden watchdog funkciot kinullaztam, mtu 1400 rá atállítottam atomstabil. balamce helyett beállítottam az útvonalakat kezzel. Ha megáll az egyik wan úgyis észreveszem.
Viszont nagyon figyelni kell a prioritásra, a sorrendet először nem értettem miért nem úgy működik ahogy szeretném. Majd egy délután pihentem felfedeztem a kis nyilakat. Éjjel fáradtan simán elsiklottam felette.
Olyan amatőrök mint én kicsit pilotavizsgas, de be lehet allitani
Fentebb említettek hogy a pornót a stabil lábra. :)
Nos nekem egyik wan http,https másikon pld YouTube. Online játékok a jobb pingen általában telekom. De ket klikk atrakni a telenorra. A router Asus rt-14u Valami kínai chipsetet van benne 10-12e Ft, de csak 100megas! Viszont itt a balkánon (Bp) sosem lesz gigás net.
nagyon oda kell figyelni mert pld az asus rt-n18u ugyan rendelkezik openwrt támogatással, de a wifi része nem!
Telóról írtam faradtan bocs