2011/5/7 <[email protected]>

> Salutare,
>
> Nu reusesc sa-i dau de cap unei chestii, desi am sapat ceva dupa ea:
> Doua placi de retea, eth0 192.168.0.1/30 cu gw .2, eth1 192.168.1.1/30 cu
> gw .2
> For the sake of argument, nu exista ruta default.
> Vreau sa adaug cate o ruta catre subnet-ul 10.0.0.0/30 prin fiecare placa.
>

E cam prea general ce zici tu. In zona asta lucrurile sunt complexe. Ar fi
bine sa-ti definesti cat mai exact ce vrei sa se intample.

Probabil vrei "equal cost multipath routing" aka ECMP. Pentru asta trebuie
sa ai configurat kernelul (CONFIG_IP_ROUTE_MULTIPATH), vezi ca e setare
separata daca vrei si route-caching sa suporte asta.
Daca ai asta, poti sa adaugi rute "egale" astfel:
ip route add $dest nexthop via $gw1 nexthop via $gw2

Daca ai si quagga, AFAIK trebe compilat manual cu un parametru ca sa suporte
rute ECMP.

Be advised, "balansarea" functioneaza per-connection, nu per-packet.


>
> root@S1:~# ip route add 10.0.0.0/30 via 192.168.0.2
> root@S1:~# ip route add 10.0.0.0/30 via 192.168.1.2
> RTNETLINK answers: File exists
>
> Deci a doua ruta nu o adauga.
> Am incercat si cu src si cu from si cu tabele diferite si ip rule, dar
> ceva nu iese undeva.
>
>
Auch. N-ai ce sa cauti la src si la from, alea fac altceva.

A doua comanda iti da eroare pentru ca tu adaugi 2 rute, si te lasa. De
fapt, tu ai nevoie de o singura ruta, mai speciala (multipath equal-cost).
Vezi comanda ce-am zis-o mai sus.

Te sfatuiesc calduros sa studiezi pana intelegi mai bine cum functioneaza
routingu in kernel, altfel n-o sa reusesti prea multe :)

Then again, s-ar putea sa nu vrei ECMP. Ala e la layer3.
Daca ai 2 placi conectate in acelasi segment si vrei sa faci load-balancing
+ failover intre ele (adica la layer2), atunci ai nevoie de "bonding" sau
"port-trunking".

-- 
www.flo.ro
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui