PDA

Visualizza la versione completa : [IPTABLES] studio della tabella nat / PREROUTING


lino22011
14-05-2011, 03:35
Buonasera, sto studiando iptables e dopo un primo approccio con la tabella filter ho iniziato a studiare quella nat....

Stavo provando a fare un port forwarding in modo che chi chiama la porta 9999 del mio portatile venga rediretto verso la porta 80 di un ip appartenente alla sottorete di macchine virtuali fatte con vmware in modalità NAT.

Ho provato questo:

iptables -t nat -A PREROUTING -p tcp -i wlan0 -d 192.168.1.3 --dport 9999 -j DNAT --to 172.16.214.130:80
(partendo dalle regole completamente pulite)

non è sufficiente per fare in modo che chi chiama il 192.168.1.3:9999 venga ridirezionato?

Credo che il grosso del mio problema è che non ho capito ancora bene il flusso di lavoro di netfilter nonostante abbia trovato degli schemi abbastanza chiari che lo descrivono....

Mi dareste qualche suggerimento di qualche configurazione che avete provato?
Una volta avevo trovato una guida in linea di una persona che aveva fatto proprio questo, una specie di router per dirigere traffico esterno verso la rete di macchine virtuali...ma ho perso il link..qualcuno ha trovato qualche risorsa in giro che tratta di qualcosa del genere?

Grazie mille a presto....

pilovis
14-05-2011, 09:51
Esempio:

iptables -t nat -A PREROUTING -d 192.168.1.50 -p tcp --dport 9999 -j DNAT --to-destination 10.0.0.2:80

lino22011
14-05-2011, 15:41
Grazie per la risposta.....

ho provato ancora seguendo la tua indicazione ma niente....
il problema è che non sono ancora abbastanza addentrato nella logica interna di netfilter per capire l'errore o magari è solo il modo che ho di fare le prove che mi impedisce di riuscirci....

Ho cercato tra la documentazione di netfilter.org ma bisogna scavare a fondo...ci sono guide del 2000!escono istruzioni relative ai kernel 2.4, 2.2....

Vorrei trovare qualcosa che mi spiegasse bene il funzionamento interno della catena di elaborazione dei pacchetti ma aggiornato ai kernel recenti...
mica tu o altri avete qualche link a risorse più aggiornate? appena ne trovo ne posto qualcuno...

Infatti il solito tcpdump che uso per debuggare le connessioni in questo caso non mi pare utile, servono cose più "invasive" nel percorso dei pacchetti come il jump LOG di iptables o il TRACE che da quanto ho visto qui :
http://backreference.org/2010/06/11/iptables-debugging

sembra utile...e da lì mi è venuto lo spunto per approfondire il percorso dei pacchetti nelle catene di netfilter....

Grazie ancora...se riuscite a darmi qualche suggerimento soprattutto sul metodo per studiare queste cose mi fate un gran favore....

gigyz
18-05-2011, 19:10
magari non hai gli ip sulle eth impostati correttamente, il forward tra le interfacce l'hai abilitato ?

lino22011
18-05-2011, 20:40
Grazie della risposta..
Sì...l'ho abilitato facendo
echo "1" > /proc/sys/net/ipv4/ip_forward

ma sono piuttosto convinto che sbaglio qualcosa proprio nel metodo che uso per fare le prove, dovuto essenzialmente al fatto che ancora c'è qualcosa che ho capito poco

Loading