Newsgroup: it.comp.reti.locali
Titolo: nat iptables e dubbio (particolare)

Salve a tutti !
Ho un firewall fatto a mano con redhat 7.3 , ho la necessità di aggiungere 2
indirizzi ip pubblici.
Quindi ho una scheda di rete eth1 con ip 80.17.xx.xx e una per la rete
locale eth0 192.168.1.1
Se aggiungo una virtual interface eth1:0 ho 80.17.xx.yy
dunque raggiungo il Firewall da due indirizzi ip pubblici.
sia 80.17.xx.xx che su 80.17.xx.yy
ora voglio far si che che le connessioni che arrivano da 80.17.xx.xx sulla
porta 3389 vadano su 192.168.1.2 3389 e quelle che entrano tramite
80.17.xx.yy 3389 vadano su 192.168.1.3 3389
In realta mi prende solo l'interfaccia eth1 e sia che entro dal primo ip
pubblico che dal secondo sempre sul dnat del primo vado a sbattere!!
Qualcuno ha qualche idea
Ciao

Sgranocchiando il cranio di Gibbò, vi trovai inciso:

Non capisco esattamente che intendi fare :-( tu hai:
FW: ip1, ip2, ip3
e dentro due macchine, con ip int1 e int2
e vuoi che le richieste dirette a ip2 sulla porta 3389 vengano redirette
su int1, mentre quelle dirette a ip3 (stessa porta) vadano a int2.
Allora:
iptables -A PREROUTING -p tcp -d $ip2 --dport 3389 -j DNAT
--to-destination $int1
iptables -A PREROUTING -p tcp -d $ip3 --dport 3389 -j DNAT
--to-destination $int2
Ricordati di aprire in forward e basta...
Se ho capito quello che facevi (non hai postato le regole!!!), non puoi
matchare in funzione dell'interfaccia di ingresso, perchè fisicamente
eth1 e eth1:1 sono la stessa cosa, quindi i pacchetti entrano dalla
stessa parte.
Sgratt...
-- 
Emanuele Balla  aka Skull -  Public Key #661E5CBF on 
www.keyserver.com
+----------------------------------------------------------------------+
"And 1.1.81 is officially BugFree(tm), so if you receive any bug-reports
on it, you know they are just evil lies." (By Linus Torvalds)

 --to-destination $int1
ho dimenticato il -t nat ...


 ha scritto nel messaggio
news:pan.2003.04.15.16....@skullkrusher.net...


 dal firewall e lui cosi com'è si incazz....
No, in realtà il problema non è così... ;-) Il problema è il fatto che non
hai routing tra i due, dato che stanno nella stessa rete locale: il tuo
client domanda al dns quale è l'ip del dominio da raggiungere ed ottiene
un ip pubblico, quindi cerca di raggiungerlo attraverso il suo default
gateway. Questi applica la regola di nat e invia la richiesta alla
macchina interna (se la regola lo permette, sure..). A questo punto la
macchina interna vede una richiesta provenire da una macchina interna, e
risponde direttamente a quella. Il tuo client quindi si vede arrivare le
risposte da un ip che non ha mai chiamato (dato che la sessione di ritorno
non viene nattata, poichè che non passa per il fw) e il tutto si incarta
lì...
Per risolvere hai due vie:
 - metti un dns interno, che risolva gli stessi nomi di quello esterno ma
con gli ip privati. E' la soluzione più pulita e consigliata. Ha il
problema di diventare poco gestibile se la macchina - o le macchine -
interna ospita più domini. C'è da dire che in quest'ultimo caso la
macchina avrebbe dovuto essere in dmz, quindi di solito il problema non si
pone.
 - obblighi la sessione di ritorno a passare per il firewall. Lo puoi
fare inserevdo una regola di SNAT:
iptables -A POSTROUTING -t nat -s 
192.168.1.0/24
 -d 192.168.1.3 -j SNAT
--to-source 192.168.1.254
in questo modo il server vede arrivare le richieste dal fw e risponderà a
lui, poi ci pensa questo a rinattare per far arrivare il tutto al mittente
originario.
Questa ha il problema che sul server vedrai arrivare tutte le
richieste dal firewall, per cui addio accounting dei client interni...
Spero fosse quello che chiedevi...
Ciao...


 ha scritto nel messaggio
news:pan.2003.04.16.09....@skullkrusher.net...
