Newsgroup: it.comp.reti.ip-admin
Titolo: firewall per due accessi ADSL

Salve a tutti,
ho una lan aziendale con rete 10.0.1.0 255.255.255.0 ed un server di
posta exchange con ip 10.0.1.2; due accessi adsl e quindi due router
ed i due accessi hanno le seguenti reti pubbliche: xxx.xxx.xxx.xxx
255.255.255.248 e yyy.yyy.yyy.yyy 255.255.255.248
Sul firewall linux ho messo tre schede di rete:
eth0 con ip lan
eth1 con ip della rete xxx.xxx.xxx.bbb e gateway xxx.xxx.xxx.aaa
(indirizzo del router telecom)
eth2 con ip della rete yyy.yyy.yyy.bbb e gateway yyy.yyy.yyy.yyy.aaa
(indirizzo del router telecom)
in questo modo se faccio un print delle route del firewall, lui mi
mette come default gateway yyy.yyy.yyy.aaa
A questo punto sulla eth2 riesco ad uscire dalla lan su internet con
regola di postrouting
iptables -t nat -A POSTROUTING -o eth2 -s 
10.0.1.0/24
 -j SNAT --to
yyy.yyy.yyy.bbb
cioè mescherando la lan aziendale con ip pubblico di eth2, dopodichè
ho fatto tutte le mie regole sulla catena di FORWARDING per impedire
l'accesso da internet sul LAN e per permettere ai clients della  LAN
di fare traffico verso INTERNET solo su http e ftp
La mia necessità ora è di far fare traffico al server di posta
aziendale con ip 10.0.1.2 solo sull'ADSL con rete xxx.xxx.xxx.xxx,
quindi di reindirizzare i pacchetti provenienti su eth0 destinati alla
porta 25 su eth1, ho provato con la regola di PREROUTING
iptables - t nat -A PREROUTING -p tcp -i eth0 --dport 25 -j DNAT --to
xxx.xxx.xxx.bbb (ip di eth1)
però i pacchetti non escono, secondo me perchè manca una route che
dica al firewall dove indirizzare i pacchetti che arrivano su eth1, ma
in che modo ?
Ho provato ad aggiungere un'altra default per eth1 sul gateway a mano,
con: route add -net xxx.xxx.xxx.bbb netmask 0.0.0.0 gw xxx.xxx.xxx.aaa
dev eth1 ma poi stranamente non funziona più nemmeno la prima messa da
lui automaticamente tranne che se cancello tutte le regole del
firewall ed imposto tutte le ACCEPT di default, come devo procedere ?
Insomma spero di essere stato chiaro
Ciao
Sandro

 porta 25 su eth1, ho provato con la regola di PREROUTING
Ti occorre questo:
http://lartc.org/
bye G.L.
-- 
« E' assolutamente evidente che l'arte del cinema
  si ispira alla vita, mentre la vita si ispira alla TV »
(Woody Allen)

 in che modo ?
- marcamento dei pacchetti nella table mangle;
- iproute2.
Ovvero, il link indcatoti da Reinassance. :)

 Ovvero, il link indcatoti da Reinassance. :)
Ehm... "Renaissance".   :-)
bye G.L.

...

--------------------
Fa lo stesso :))
Grazie all'informazione del sito che mi hai dato ho fatto un bel passo
in avanti rispetto a ieri e ciņč adesso imposando sul firewall come
dafault gatway l'indirizzo del router1 oppure l'indirizzo del router2
i clients della rete navigano o su uno o sull'altro mentre ieri no.
Nel caso in cui utilizzo il router1 come default gateway imposto come
regola di postrouting
iptables -t nat -A POSTROUTING -o eth1 -s $LAN/24 -j SNAT -- to
$IPETH1
Nel caso in cui utilizzo il router2 come default gateway imposto come
regola di postrouting
iptables -t nat -A POSTROUTING -o eth2 -s $LAN/24 -j SNAT -- to
$IPETH2
se perņ voglio far navigare la rete su router1 e solo una macchina
(server di posta aziendale) su router 2 come devo fare ?
Suppondendo di impostare come default gateway il router1 Ho provato
con il PREROUTING impostando
iptables -t nat -A PREROUTING -p tcp -s $ipserverposta -i eth0 --dport
80 -j DNAT --to ipeth2
ma sembra non funzionare, sai darmi qualche indicazione ?
Grazie ancora
Sandro

 ma sembra non funzionare, sai darmi qualche indicazione ?
No, perche' non me ne sono mai occupato, anche se sapevo
per certo che occorreva iproute2...     :-)


 (server di posta aziendale) su router 2 come devo fare ?
Allora: nel post di ieri dichiaravi che quel che volevi era
:reindirizzare i pacchetti provenienti su eth0 destinati alla
:porta 25 su eth1
per l'ip 10.0.1.2
E' questo quel che vuoi, giusto?
In tal caso:
iptables -t mangle -I PREROUTING -i eth0 -s 10.0.1.2 -p tcp --dport 25 -j MARK --set-mark 0x4
Questa fa si' che tutti i pacchetti in ingresso sulla eth0, provenienti da 10.0.1.2 e destinati
alla porta TCP 25 vengano "marcati" 0x25 (la scelta del valore di marking e' arbitraria, in
questo caso).
A questo punto, entra in gioco iproute2: 
echo 201 smtp_out >> /etc/iproute2/rt_tables
ip rule add fwmark 0x4 table smtp_out
ip route add default dev eth2 table smtp_out
e poi metterai l'opportuna regola di nat in POSTROUTING.
Fammi sapere.

 vengano "marcati" 0x25
Intendevo 0x4, ovviamente.

 Ehm... "Renaissance".   :-)
E dai...una typo (metatesi) alle 1:40 del mattino me lo puoi concedere. :-p 

 mattino me lo puoi concedere. :-p
Che ti sei bevuto a pranzo :-) ??

 bye G.L.
Ok, fa niente, con un (bel) po' di prove sono arrivato alla soluzione :)
Grazie mille per l'indicazione perchè senza quella ero proprio fuori strada
Ciao
Sandro