Spojování konektivity

Vaclav Stepan w na linux.fjfi.cvut.cz
Pátek Září 2 16:10:31 CEST 2005


Tak me napada - mozna by bylo jednodussi o tom uvazovat opacne.
Ne, ze mate dve linky a ty chcete sloucit, ale opacne.
Tedy ze data z jednoho uzlu (Vas pocitac) chcete rozdelit do
dvou linek. Toz:

(1) Pouzit multipath routing bez equalize:
==========================================

ip route add default scope global \
  nexthop via xx.xx.xx.xx
  nexthop via yy.yy.yy.yy

Tohle by predpokladalo, ze mate dve GW -- a pri kazdem novem lookupu
aplikace dostava stridave prvni a druhou GW:
for i in 1 2 3 ; do ip route get 91.91.91.$i ; done
91.91.91.1 via A dev eth0  src ...
    cache  mtu 1500 advmss 1460
91.91.91.2 via B dev eth0  src ...
    cache  mtu 1500 advmss 1460
91.91.91.3 via A dev eth0  src ...
    cache  mtu 1500 advmss 1460

Muzete mit samozrejme dve rozhrani a udelat:
ip route add default scope global \
  nexthop dev eth0 \
  nexthop dev eth1

A pak to vzdy pujde z te adresy, kterou ma to rozhrani.
Funguje to jen tak, ze kdyz otevrete novy stream, dostanete stridave
prvni a druhou GW. Ne, ze pulka paketu pujde tam a druha jinudy.

(2) Totez s equalize (nutno zapnout v kernelu):
===============================================
ip route add default equalize ...

To by melo rozhazovat kazdy packet, lec to tady v jadre nemam,
takze to nezkusim.

Jak to udelat s src a jednou sitovkou nevim, bud to zatim nejde, nebo
se mi nedari spravne formulovat prikaz pro iproute.

Pekny den

Vaclav Stepan


Další informace o konferenci Linux