[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