Newsgroup: it.comp.os.linux.debian
Titolo: Problemi di routing

Ciao a tutti
ho un problema con una tabella di routing che non riesco a risolvere.
Ho un serverino debian collegato a due lan tramite una sola scheda di 
rete e un solo switch in qeusta maniera:
LAN1: eth0 - 
192.168.30.0/24
 (router 192.168.30.1)
LAN2: eth0:1 - 
192.168.1.0/24
 (router 192.168.1.1)
Ogni lan ha una propria line adsl per collegarsi ad interent.
Fin'ora il default gateway era il router 1 (192.168.30.1) e da qui il 
server forniva dei servizi all'esterno (server web, ftp, etc)
Adesso devo aggiungere un nuovo servizio, che per problemi legati alla 
banda deve uscire su internet utilizzando questo nuovo gateway, mantre 
gli altri servizi continueranno ad usare la connessione precedente.
Solo che se il dafault gw rimane quello di prima un utente internet che 
si collegasse al servizio manderebbe i pacchetti ad un indirizzo ip e si 
vedrebbe rispondere da un ip diverso. Quindi devo spiegare al server che 
  tutte le richieste che arrivano sull'interfaccia eth0:1 devono essere 
evase attraverso il gw 192.168.1.1, mentre per il resto delle 
connessioni si deve continuare ad usare il default gw cioè 192.168.30.1
Il problema è che non riesco ad impostare una tabella di routing per 
l'interfaccia virtuale.
Quello che facevo era:
ip route change dev eth0:1 via 192.168.1.1
ma in realtà la tabella viene sempre associata ad eth0 rendendo 
impossibile il funzionamento.
Dove sto sbagliando ?


Bel problema...
Quando ero giovane me lo sono posto anch'io ma non ho trovato una 
soluzione valida. Adesso come adesso non mi serve... ma mi sa che 
proverei a guardare se i pacchetti possono essere taggati in qualche 
modo (ricordo che ipfilter lo permette) e se c'e' la possibilita' di 
ruotare in modo diverso i pacchetti taggati.
Ad esempio (grossolanamente) potresti taggare tutti i pacchetti che 
originano dalla porta del nuovo servizio e dire di mandare solo quelli 
al nuovo gw. Potresti taggare anche i paccheti in entrata sulla nuova 
interfaccia (o quantomeno quelli che hanno come destinazione il nuovo 
IP) e fare in modo che le loro risposte escano dal nuovo GW.
Certo non credo che sia facile... perche' ad esempio se dall'esterno 
arriva un pacchetto di inizio connessione (flag SYN) e la porta del 
nuovo servizio e' chiusa... il server dovrebbe rispondere con un ICMP... 
e sarebbe ben complicato capire che quell'ICMP deve uscire dal nuovo GW.
Insomma ci sono un po' di problemucci.
Se qualcuno ne sa di piu' ci illumini che mi sembra una cosa interessante.
Bye


No ho deto una stupidaggine... in questo caso tornerebbe un pacchetto 
con il flag RST quindi dovrebbe funzionare... ma magari ci sono 
condizioni in cui e' necessario spedire un ICMP per connessioni TCP/UDP 
che arrivano sul nuovo IP.
Bye


Ah tieni conto anche che l'IP sorgente dei pacchetti originati dal tuo 
server non necessariamente e' quello della nuova interfaccia solo 
perche' il servizio e' in ascolto sul nuovo IP. Per cui è anche 
necesario che ci sia un modo per uscire con l'IP della nuova 
interfaccia. Alcune applicazioni server lo permettono tramite opzioni di 
configurazione, altrimenti temo che si debba usare sempre ipfilter per 
modificare l'ip sorgente (e anche qui ci sono un po' di magagne).
Bye

BigPincer ha scritto:

Prova a vedere se questo link ti può dare una mano:
http://lartc.org/howto/lartc.rpdb.html#LARTC.RPDB.SIMPLE
In teoria è possibile configurare il policy routing affinchè tutto 
quello che proviene dall'ip della eth0:1 esca dal gw che vuoi tu.
Ciao
Alessandro

 
http://lartc.org/howto/lartc.rpdb.html#LARTC.RPDB.SIMPLE
Scusate il ritardo, ma ho persino avuto noie con l'adsl.
In ogni caso ho risolto.
Ero già artrivato a quel documento, ma alla pagina successiva a quella che
mi hai indicato tu, dove c'è un esempio che sembra fatto apposta per il
mio caso.
Comunque non è stato sufficiente seguire quelle istruzioni, ho dovuto
anche ricompilare il kernel e abilitare tutte le opzioni di routing (che
forse avevo addirittura disabilitato io stesso qualche tempo fa quando mi
erano inutili).
Grazie a tutti !!