[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dove RIsbaglio ? (iptables)



On Fri, Jan 17, 2003 at 06:21:19PM +0100, leo@dicea.unifi.it wrote:

> > > iptables -t nat -A PREROUTING -s 0.0.0.0/0 -p tcp --destination-
> > > port 14081 -j DNAT --to-destination 192.168.143.15:80
> > Questa farebbe il DNAT verso la macchina interna, ma non viene processata
> > perche' il pacchetto ha gia' soddisfatto la regola precedente.
> .... e fin qui potrei essere d'accordo ... ma  ....

E faresti male, perche' ho detto una barca di cazzate (a parte quella di
leggersi Iptables for Dummies, veramente ben fatto).
Chiedo venia, era poco dopo pranzo e devo aver bevuto un bicchiere di
troppo.
Ricominciamo da capo: le regole della catena PREROUTING vengono applicate
prima di quelle relative a INPUT.
Sono cascato io in quel che ho suggerito a te, non ho considerato l'ordine
delle regole.
Per cui la regola di cui sopra e' perfettamente corretta.
L'unico dubbio che mi rimane e' questo: mi dicevi che stai provando a
telnettare da una macchina sulla rete "pubblica".
Perche' lo hai virgolettato?
Intendevi forse che la macchina appartiene alla LAN e stai cercando di
simulare il comportamento di una macchina esterna?
Se ho capito bene (in caso contrario abbi pieta' del mio neurone e posta un
disegnino), non ce la farai mai: non puoi raggiungere una macchina in DNAT
che sta sulla tua stessa rete connettendoti all'indirizzo esterno.
E' un "problema" arcinoto, lo virgoletto perche' in realta' e' il giusto
comportamento del TCP/IP.
Ragiona con me: ammettiamo che tu stai telnettando da 192.168.143.27 verso
A.B.C.D (firewall) sulla porta 14108.
Il firewall riceve un pacchetto con IP sorgente 192.168.143.27 e
destinazione A.B.C.D:14108.
Il pacchetto attraversa la catena di PREROUTING e gli viene cambiato
indirizzo di destinazione in 192.168.143.15 e porta di destinazione 80,
dopodiche' viene spedito al destinatario (che sta sulla stessa rete tua).
Ora, 192.168.143.15 si vede arrivare un pacchetto con IP _sorgente_
192.168.143.27 e destinazione 192.168.143.15 porta 80.
Lo riceve e tenta di spedire la risposta.
Il punto e' questo: a CHI la spedisce? Al firewall, che poi a sua volta la
rimanda al richiedente, ovvero il .27?
No, perche' la rete 192.168.143.x e' direttamente connessa, per cui .15
risponde direttamente a .27.
Il quale, non avendo mai richiesto una connessione a .15 (lui l'ha richiesta
a A.B.C.D) risponde con un bel RST e a te sembra che si pianti tutto.
Se non e' neanche questo, oltre al disegnino e ai meritati insulti, manda
ifconfig e tabelle di routing di tutte le macchine in gioco.
Ciao! :-)

-- 
BlueRaven

There are only 10 types of people in this world...
those who understand binary, and those who don't.



Reply to: