[Tech] Stranezza su IPTables
St0rM
storm@elemental.it
Mar 3 Lug 2001 23:16:23 CEST
Salve!
Giocando con iptables, ho notato una cosa che mi sembra un po' strana.
Siccome e' TROPPO strana per i miei gusti, ho concluso che ci deve
essere qualcosa che io non ho capito, quindi tento di spiegarvlea nella
speranza che qualcuno di voi mi sappia dire COSA non va...
Allora: io ho una banale rete con un PC ad ip fisso e due pc in rete
locale in masquerading. Per i fanatici ecco l'ascii =)
+----------+ +------+ +-----+
| | | | | |
| GW | | A | | B |
+----------+ +------+ +-----+
| | | |
| +-----------------+-----------+
| 192.168.100.1 .2 .3
|
IP Pubblico
Ok. Ora, per fare il masquerading, volevo usare per bene il SNAT
piuttosto che la regola MASQ che fa troppe cose da sola e non mi piace
non avere il controllo di quello che succede =)
Quindi ho definito delle regole che impostano l'SNAT sulla tavola nat
nel POSTROUTING.
Tutto ok, ma non funzionava, in quanto i pacchetti che tornavano
indietro, venivano bloccati dalla regola banale nel FORWARD che vieta ai
pacchetti esterni provenienti dall'interfaccia pubblica di GW di
accettare pacchetti diretti alla rete locale.
Credo che il problema sia che il SNAT quando riprende i pacchetti
indietro ne cambia la destinazione nell'indirizzo di rete locale PRIMA
che questo passi nelle regole di forwarding.
In pratica, io pensavo che il pacchetto di ritorno dopo il MASQ
attraversasse le regole in quest'ordine:
INPUT->(cambio di IP destinatario) ->OUTPUT
invece sembra seguire quest'altro ordine:
(cambio di IP destinatario)->FORWARD
come un normale pacchetto forwardato.
Questo e' un problema perche' mi costringe a ELIMINARE quella regola. E
se conosco bene come credo le reti, chiunque a questo punto SAPENDO come
e' fatta la mia rete puo' usare GW come SUO gateway ed accedere a tutti
gli indirizzi di rete locale, no?
IPChains, se ricordo bene, aveva un sistema dinamico di risolvere questo
problema, gestendo i pacchetti di ritorno in maniera automatica...
Come risolvere? (Quant'era bello ipchains =)
Marco M.
Maggiori informazioni sulla lista
flug-tech