[Linux-Biella] multiple default routing

Paul TT linux@ml.bilug.linux.it
Wed, 08 Sep 2004 19:58:44 +0200


allora, risolsi (risolvemmo, dato che ero a fare sto lavoro con luca rosPo):
nel caso interessi/serva a qualkuno lo lascio scritto ai posteri........

presupposto base e' avere compilate nel kernel sotto Device 
drivers->networking support->networking options->ip:advanced router il 
policy routing e le sue due sottopzioni.
poi funziona cosi':
in verita' vi dico, al posto dei comandi 'vecchi' ifconfig e route si 
puo' fare tutto quanto col comando ip del pkg iproute2.
tralasciando le righe cmd al posto di ifconfig e della dft route data 
con route, il problema di girare alcune cose da una parte e alcune altre 
altrove e' stato cosi' risolto:

iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 443 -j MARK  
--set-mark 1

dove ovviamente la 443 e' la porta che mi interessa gestire, 1 e' un 
mark che ho deciso di usare (poteva essere un qualsiasi altro numero)
eth0 -> rete locale
eth1 -> default route
eth2 -> route per la 443

va editato il file /etc/iproute2/rt_tables
e aggiunta in fondo una table a ns uso e consumo, con un indice diverso 
dalle altre tables gia' definite' in tale file, compreso tra 1 e 255
indi aggiungero' una riga siffatta:

200   https
200 e' un num arbitrario posso anke mettere 2, o 42, o 50, vabbeh avete 
capito
poi scrivo:

ip route add default via xxx.xxx.xxx.xxx dev eth2 table https
dove xxx e' l'indirizzo del router vs internet della eth2 e la table e' 
quella in cui andare a vedere se ricado in questa regola di routing
e poi:

ip rule add fwmark 1 lookup https

che vuol dire aggiungi una route per la tabella https, la quale come 
rule comprende i pacchetti con fwmark uguale a 1
volendo posso restringere le regole a un host solo o a una sottorete:
ip rule add from 192.168.1.1 table https
ip rule add from 192.168.1.0/24 table https


-- 
Gli uomini non sospettano
quale terribile carico stiano
trasportando a valle.

public gpg key: gpg --keyserver pgp.mit.edu --recv-key 2E61343C