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
