Stránka 1 z 1

Dva poskytovatelé podle cilove adresy

Napsal: 19 Sep 2013 13:33
od xelvis
Ahoj všichni,
nenašel jsem nikde řešen stejný dotaz, pokud se pletu prosím o odkaz na konkrétní vlákno.

Potřeboval bych rozdělit datový tok mezi dva poskytovatele, ovšem tak aby z LAN přes ISP1 tekl veškerý datový tok mimo jedné specifické cílové IP adresy. Tato by měla komunikovat přes ISP2.

V praxi to vypadá tak, že uživatelé komunikují přes ISP1. V případě však, že chtějí komunikovat s nějakou konkrétní IP například seznam.cz (77.75.76.3) bude datový tok komunikující s touto IP probíhat výlučně přes ISP2 (ISP1 tedy nesmí být potřeba). Pokud z důvodu výpadku ISP1 nepojede internet, nic se neděje, protože služba na IP 77.75.76.3 by nikdy přes ISP1 neměla fungovat.

Zařízení: Mikrotik RB750
Interface: eth0_ISP1, eth1_ISP2, eth2_LAN
ISP1 = Wifi poskytovatel
ISP2 = O2

Předem děkuji za pomoc.

Re: Dva poskytovatelé podle cilove adresy

Napsal: 19 Sep 2013 17:35
od Majklik
/ip route add dst-address=77.75.76.3 gateway=6.6.6.6 distance=1
Místo 6.6.6.6 dát adresu brány na lince O2.
Pokud v případě, že padne spojení k O2, se nesmí k té IP přistupovat skrz ISP1, tak je třeba ještě pro danou IP přidat blokovací routu:
/ip route add dst-address=77.75.76.3 type=unreachable distance=5

Re: Dva poskytovatelé podle cilove adresy

Napsal: 26 Sep 2013 13:05
od rado3105
Mozes riesit aj len niektore sluzby...hovori sa tomu policy base routing...ako pisal majklik + co chces cez tuto linku presmerovat - oznacis si ju ako linka2 a pustis tam povedzme http....alebo urcite ip, to nastavis v mangle: prerouting, action: routing, mark: linka2...

Re: Dva poskytovatelé podle cilove adresy

Napsal: 26 Sep 2013 14:11
od Majklik
Pokud chci něco jen na základě služeb, tak ano, musím se patlat s mangle a počítám s tím, že to občas v nějakých případech nefunguje (vysvětlení je hluboce v kernelu v síťové části). Pokud chci směrovat na základě třeba zdrojových IP adres, tak je vhodnější použít policy pravidla, než to manglovat:
/ip route rule add action=lookup-only-in-table src-address=10.9.8.0/24 table=linka2
/ip route add gateway=1.2.3.4 distance=1 routing-mark=linka2
/ip route add type=unreachable distance=5 routing-mark=linka2

Je jen k naštvání, že tohle neumí ROS i pro IPv6.

Re: Dva poskytovatelé podle cilove adresy

Napsal: 26 Sep 2013 14:20
od rado3105
Funguje to aj pre adress listy v mikrotiku?

Re: Dva poskytovatelé podle cilove adresy

Napsal: 26 Sep 2013 14:30
od Majklik
Ne, v tom /ip route rule nejde použít address listy, musí se to tam namlátit. Nejde ani do jendoho pravidla dát víc adres.

Re: Dva poskytovatelé podle cilove adresy

Napsal: 26 Sep 2013 14:39
od rado3105
tak toto je problem v pripade viacerych rozsahov.....
v com je zle implementovany ten policy based routing v mk?

Re: Dva poskytovatelé podle cilove adresy

Napsal: 26 Sep 2013 14:44
od hapi
počkat... jakto že nejdou adres listy? v mangle dám routing mark podle dst. listu, v routách udělám jednu routu na ten mark a posekáno... je to tak?

Re: Dva poskytovatelé podle cilove adresy

Napsal: 26 Sep 2013 14:53
od Majklik
hapi píše:počkat... jakto že nejdou adres listy? v mangle dám routing mark podle dst. listu, v routách udělám jednu routu na ten mark a posekáno... je to tak?


Ano, pokud značkováníí pro policy routing děláš pomocí /ip firewall mangle ...., tak address listy jdou používat. Nicméně tento mechanismus má určitá ale, kdy takto nastavené router mark se v některých případech ignoruje a routeuje se, jak kdyby tam nebyl. Je to "implementační vlastnost" v kernelu. Proto, pokud chci rozhodovat o routingu na základě jen IP zdrojových nebo cílových adres a ne třeba portů (tam musím přes mangle), tak je lepší než:
/ip firewall mangle add chain=forward src-address=10.9.8.0/24 action=mark-routing new-routing-mark=linka2

Používat přímé poslanání do policy routingu přes:
/ip route rule add action=lookup-only-in-table src-address=10.9.8.0/24 table=linka2

Je nutno dodat, že jsou situace, kdy nefunguje ani jedna zmíněná varianta (není v main route tabulce routa směřující někam segment 10.9.8.0/24 aspoň dle defualt routy), pak je nutno používat Mikroťácké rozšíření VRF, které je celkem imunní proti všem hazardním stavům.

rado3105 píše:tak toto je problem v pripade viacerych rozsahov.....
v com je zle implementovany ten policy based routing v mk?


Musíš mlátit víc pravidel:
/ip route rule add action=lookup-only-in-table src-address=10.9.8.0/24 table=linka2
/ip route rule add action=lookup-only-in-table src-address=192.168.1.0/24 table=linka2
/ip route rule add action=lookup-only-in-table src-address=172.16.2.0/24 table=linka2
....

Je to pořadí provádění některých operací při vyhodnocování, fakticky to celé probíhá v obráceném pořadí, než by člověk intuitivně čekal. Na wifi má MKčko pro některé případy coelkem rozepsáno důkladně kdy a jak to selhává (minimálně případ nejednoznačné main routy).

Re: Dva poskytovatelé podle cilove adresy

Napsal: 13 Oct 2013 15:49
od rado3105
Takze majklik mal pravdu, povedzme ked mate viac liniek a date niektore pravidla prvsie neznamena ze tie sa budu brat ako prve alebo pojde to aj cez tie dalsie....