PDA

Visualizza la versione completa : firewall in uscita


marco60
21-01-2005, 00:24
Ciao a tutti, avrei bisogno di un grande aiuto.
Dovrei reindirizzare nella rete locale, l'uscita verso internet a 2 schede di rete. Mi spiego, ho una macchina con 3 schede di rete. 1 rete interna , le altre 2 collegate a 2 router con 2 adsl.
La mia domanda, come posso indirizzare la richiesta della rete a 2 schede, in modo che se chiedo http://html.it, sia indirizzata su eth1 e se chiedo www.google.it indirizzata a eth2 ??
Spero di essere stato abbastanza chiaro, in poche parole avrei bisogno di utilizzare 2 servizi adsl, di cui 1 essendo a pagamento, lo vorrei utilizzare solo esclusivamente per i siti a cui devo accedere solo con quella linea, mentre il resto del traffico vorrei che si adoperasse la normale flat. Nella macchina è installato fedora 2 con il firewall di linux. Mi serve solo il filtraggio del pacchetto in uscita.
Spero in voi tutti, grazie

GiorgioM
21-01-2005, 01:06
sei stato chiaro ed è interessante. una risposta non ce l'ho, aspetto di essere illuminato anche io :madai!?:

(intanto ci penso)

Boromir
21-01-2005, 10:15
La logica è quella del traffic shape . Ovvero ti con la catena di MANGLE ti marchi i pacchetti ad esempio :
per le richieste che hanno come destinazione determinati siti (qundi una regola per ogni sito) vengo marcati gli altri no.
A questo punto puoi tramite le regole do routing prendere i pacchetti marcati e falli uscire con la eth1 e gli altri con la eth2.

Ora tutte le sintassi sinceramente non le so. Ma credo che come logica possa andare.

GiorgioM
21-01-2005, 10:22
quindi si deve procedere con iptables??? fin la' sotto.. pensavo che qualche cosa in user space potesse gestire le richieste (non so, la butto li', squid?)

Boromir
21-01-2005, 10:28
Un 'idea potrebbe essere questa ma non ci mettere la mano sul fuoco



modprobe iptable_mangle
modprobe ipt_MARK
iptables -t mangle -A PREROUTING -d IP_GOOGLE \
-m mark -j MARK --set-mark 1 --mark 1
Così l'hai marcato ... ora provo a cercare come riprendere i pacchetti marcati e discriminarli in fase di routing

Boromir
21-01-2005, 10:33
finito il puzzle :


# echo 201 adsl1.out >> /etc/iproute2/rt_tables
# ip rule add fwmark 1 table adsl1.out
# ip rule ls
0: from all lookup local
32764: from all fwmark 1 lookup adsl1.out
32766: from all lookup main
32767: from all lookup default


#ip route add default via ip_eth_adsl1 dev eth1 table adsl1.out

In questo modo tutti i pacchetti marcati li mandi sulla table adsl1.out e lui sa che li deve far uscire dalla eth1 ovvero la dsl privilegiata.

GiorgioM
21-01-2005, 10:37
bello :sbav:

Boromir
21-01-2005, 10:40
Logicamente nella catena di mangle dovrai riempirla con tutti gli ip dei siti "privilegati" ... ora non mi ricordo se puoi fare le regole con iptables per dominio , quindi invece che ip mettere www.google.it etc ! Cmq così dovresti aver risolto !

gigyz
21-01-2005, 12:06
esatto è un problema di routing, maggiori info su www.lartc.org

marco60
21-01-2005, 18:50
Un grazie a tutti quanti, purtroppo fino alla prossima settimana non posso fare la prova, appena posso vi farò sapere come è andata, se tutto è ok.
Grazie ancora per il vostro impegno

Loading