Newsgroup: it.comp.os.linux.sys
Titolo: Strano (credo) problema con IPTables

Salve!
Ho un problema con la configurazione di Iptables, chiedevo qualche consiglio
dato che nelle mie ricerche di soluzioni non ho trovato nulla che potesse
fare al caso mio..
La situazione e' questa: ho un router ADSL Zyxel che connette una LAN a
internet, dentro questa LAN voglio mettere un server FTP e HTTP e, in
futuro, altri servizi a seconda delle esigenze..
Quindi ho deciso di reindirizzare tutte le porte del router a una Linux box
e gestire il tutto con IPtables..
Innanzitutto tale linuxbox non e' un vero e proprio gateway, le macchine
della LAN accedono a internet senza passare da essa, ma direttamente dal
router (questo non so se sia un problema) quindi diciamo che la LAN e'
192.168.1.0, il router (settato gateway su tutte le macchine della LAN) e'
192.168.1.1, la LinuxBox (dove vengono reindirizzati tramite SUA i pacchetti
in ingresso al router) ha indirizzo 192.168.1.2 il server interno alla LAN
e' 192.168.1.3
Ora, ho configurato iptables in modo che in prerouting la linuxbox cambi la
destinazione a 192.168.1.3 quando la porta di destinazione e' 80, e questo
funziona, il webserver si vede dall'esterno senza problemi (idem per il
relativo FTP) solo che, se inizio a scaricare un file di medie dimensioni
(7-8 MB) il download inizia bene poi la sua velocita' cala e, ogni tanto, si
ferma per poi riprendere a velocita' ancora piu' bassa e, alla fine,
fermarsi del tutto..
Questo non puo' essere un problema di banda o di linea, in quanto se
effettuo il reindirizzamento della porta 80 a livello di router (e non di
linuxbox) tramite il SUA, tutto funziona egregiamente..
Lo script che uso per gestire iptables, e' questo:
echo 1 > /proc/sys/net/ipv4/ip_forward
#Pulisco le tabelle di routing
iptables -F
iptables -t nat -F
#Imposto la politica di input
iptables -P INPUT DROP
iptables -A INPUT -s 
192.168.1.0/255.255.255.0
 -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE
#REINDIRIZZAMENTI
#webserver
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.1.3
#FTP server
iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to 192.168.1.3
E' ridotto all'osso.. inoltre, tutti i moduli essenziali sono direttamente
nel kernel..
Se qualcuno ha un suggerimento e' ben gradito.. io non ho piu' idee.. vabbe'
che non sono neanche un grande esperto, la mia idea e' di aver fatto qualche
cavolata clamorosa da qualche parte.. solo che non la vedo.. :-)
Grazie!


non so se puo' esserti di aiuto, ma questo problema di rallentamento
e blocco ftp mi ricorda un vecchio bug su alcuni router isdn zyxel.
prova magari a disabilitare iptables sulla macchina e lavorare 
solo con la redirezione delle porte da configurazione del router
per vedere se ftp continua a bloccarsi oppure no.
ciao
f.

 per vedere se ftp continua a bloccarsi oppure no.
Si', tentativo gia' fatto, funziona bene..
Ciao!

 Si', tentativo gia' fatto, funziona bene..
Ovvio che funziona bene,
#REINDIRIZZAMENTI
#webserver
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.1.3
#FTP server
iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to 192.168.1.3
Mi spieghi sta roba a cosa serve ??
Aggiungi dei pezzi in più che assolutamente non servono a nulla.
arriva un pacchetto.
Lo zyxel lo forgia e lo manda al .2
Questo a sua volta lo forgia e lo reindirizza al .3
Questo SICURAMENTE ha come default GW il .1 e le risposte le manda al
richiedente direttamente senza passare dal .2
Tutto quello che ne viene fuori è un bordello !!
Max

 iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to 192.168.1.3
A che pro questo passaggio inutile, un vero "bouncing" dal router alla
linux box e poi al server, e poi lo stesso in senso inverso? Lo credo
bene che sia potenziale fonte di casini: attua le redirezioni da router
direttamente sul server web/ftp.
Se vuoi invece fare qualcosa di meglio, metti due schede di rete sulla
linux box, configura lo zyxel come bridge, attacca la linux box da una
parte alla lan e dall'altra con un cavo cross al router, e fai
connettere la linux box direttamente a internet, configurandola poi come
firewall. Potrai molto piu' "finemente" e con molta piu' affidabilita'
operare il natting direttamente con il firewall, senza piu' dover
mettere mano sia al router che su linux... Oltre che mettere in maggiore
sicurezza la lan, senza affidarti al solo nat del router. Naturalmente
si presuppone che il il firewall andra' configurato senza usare i piedi.
Prevedi poi in futuro una terza scheda di rete per creare una dmz con
i server: la redirezione che fai sulla lan e' una security flaw, perche'
se ti compromettono il server molto probabilmente si impadroniscono
anche di tutta la lan. Se ti compromettono un server in dmz, il
server... rimane li senza andare in lan, o scorrazzare su internet.
Sempre ammesso, ripeto, che non si usino i piedi.    :-)
bye G.L.
-- 
« E' assolutamente evidente che l'arte del cinema
  si ispira alla vita, mentre la vita si ispira alla TV »
(Woody Allen)

 direttamente sul server web/ftp.
..eh.. me l'immaginavo che il problema stesse qui.. avevo scelto questa
soluzione perche' era la piu' veloce, m'immaginavo pero' che fosse un po'
"sporca".. comunque ho fatto esattamente come hai spiegato, e come, del
resto, sapevo che sarebbe andata bene.. ci ho messo qualche ora ma ora
sembra funzionare tutto. :-)
Grazie!