On Tuesday 06 February 2007 10:15:38 pm Riccardo Riva wrote:
> ----- Original Message -----
> From: "Fabio Muzzi" <kurgan@xxxxxxxxxx>
>
> > Veramente devo ancora pensare quale possa essere, algoritmicamente e
> > non
> > "a naso" un metodo per capire se una delle due linee e` giu`
> > (escluso, si
> > intende, il semplice ping al primo hop di la` dalla ATM, che non e`
> > detto
> > che sia la soluzione migliore).
Potresti provare questa cosa qui (MOLTO UNTESTED) che usa ip(8):
# Link 1
Iface1=eth1
IP1=
Mask1=
Gateway1=
# Link 2
Iface2=eth2
IP2=
Mask2=
Gateway2=
# Qui si toglie il default gateway da main e la si mette prima
ip rule add prio 50 table main
ip route del default table main
ip rule add prio 201 from $IP1/$Mask1 table 201
ip rule add prio 202 from $IP2/$Mask2 table 202
# link 1
route add default via $GW1 dev $Iface1 src $IP1 proto static table 201
route append prohibit default table 201 metric 1 proto static
# link 2
route add default via $GW2 dev $Iface2 src $IP2 proto static table 202
route append prohibit default table 202 metric 1 proto static
# Multipath
ip rule add prio 221 table 221
route add default table 221 proto static \
nexthop via $GW1 dev $Iface1 weight 2 \
nexthop via $GW2 dev $Iface2 weight 3
route flush cache
L'idea è che metto la main table prima a 50, di solito è a 32766 ma la metto
prima senza default gateway in modo che il resto del routing compreso il NAT
continui a funzionare; scrivo due tabelle per il routing diretto tramite
ciascun link; poi aggiungo una multipath con due alternative pesate (mi
piacerebbe, per amor di simmetria, poter specificare due pesi UGUALI ma pare
che non funzioni).
Messo su il gioco, se si vuole essere avvisati bisogna lanciare
ip monitor all
filtrare l'output (in alternativa si può essere più fini indicando appositi
parametri invece di all) e notificare a piacimento. Se qualche furbone
ammazza gli ICMP, che so, pensando che DESTINATION_UNREACHABLE non serva,
lungo il percorso di andata e ritorno, ho paura che questo gioco vada a
pallino. Ribadisco: MAI PROVATO. Mi piacerebbe sapere se e come funziona.
P.S. Se qualcuno ritrova l'articolo originale gli sarei molto grato, l'ho
preso da vecchi appunti e non ritrovo la fonte.
Davide Bolcioni
--
There is no place like /home.
|