Newsgroup: it.comp.os.linux.sys
Titolo: ftp dietro firewall

ciao
sto cercando d'impostare l'ftp dietro firewall iptables. Ho visto che
per l'ftp passivo, con iptables, sono necessarie queste 2 direttive 
iptables -A INPUT     -p tcp --sport 1024: --dport 1024:  -m state
--state ESTABLISHED -j ACCEPT 
iptables -A OUTPUT -p tcp --sport 1024: --dport 1024:  -m state
--state ESTABLISHED,RELATED -j ACCEPT
In piu' ho le direttive per l'accesso ftp, utilizzo la porta 2021
iptables -A INPUT     -p tcp --sport 2021 -m state --state ESTABLISHED
-j ACCEPT 
iptables -A OUTPUT -p tcp --dport 2021 -m state --state
NEW,ESTABLISHED -j ACCEPT
Quando un client si connette riceve i seguenti messaggi 
200 Type set A 
500 Illegal PORT command 
500 LPRT no understood
Che modifiche dovrei apportare?
James Tiberius Kirk, matricola SC 937-076 CEC,
 nato a Riverside, nello Iowa, USA, Terra il 1277.1 (26/03/2233).

 
mancano i ":" o hai scritto la regola proprio cosě?
la porta 2021 non server, basta la --dport 21...
-- 
+-------
| Paolo opg
|
| janickg ( at ) hotmail ( dot ) com
| (fake address in reply-to field!)
+-------

Nel fausto dě di Tue, 23 Mar 2004 15:34:30 GMT, il prode _MIKE_
presente alla corte di _it.comp.os.linux.sys_
cosě ebbe l'ardire di pronunziarsi:
| ciao
| sto cercando d'impostare l'ftp dietro firewall iptables. Ho visto che
| per l'ftp passivo, con iptables, sono necessarie queste 2 direttive 
|
| iptables -A INPUT     -p tcp --sport 1024: --dport 1024:  -m state
| --state ESTABLISHED -j ACCEPT 
| iptables -A OUTPUT -p tcp --sport 1024: --dport 1024:  -m state
| --state ESTABLISHED,RELATED -j ACCEPT
  Queste regole sono per il server?  Il server ftp ascolta sulla porta 1024?
Non funziona, anche con il ftp passivo il client contatta il server sulla
porta 21 a partire da due porte scelte a caso maggiore di 1024. Quindi il
server risponde da una porta scelta a caso > 1024 in risposta al client.
  Il server deve essere accessibile alla porta 21. Poi, la negoziazione della
connessione ftp passiva avviene tra il client e il server tra le porte > 1024.
In alternativa sul server carichi i moduli ip_nat_ftp e ip_conntrack_ftp e
cosě puoi eseguire le connessioni attive se ammetti le connessioni ftp. ad
esempio, avessi regole molto restrittive e usassi anche la tablella nat
(perdona la sintassi logorroica):
# Accetta le nuove connessioni:
iptables --table filter --insert INPUT --in-interface eth0 \
  --destination 10.20.30.40 --match state --state NEW \
  --protocol tcp --destination-port ftp  --jump ACCEPT
# Accetta il traffico in relazione alla nuova connessione ammessa dalla
# regola sopra:
iptables --table filter --append INPUT --match state \
  --state ESTABLISHED,RELATED --jump ACCEPT
# Stessa cosa per la catena nat, se serve:
iptables --table nat --insert PREROUTING --in-interface eth0 \
  --destination 10.20.30.40 --match state --state NEW \
  --protocol tcp --destination-port ftp --jump ACCEPT
iptables --table nat --append PREROUTING --match state \
  --state ESTABLISHED,RELATED --jump ACCEPT
  Da me funzia.
  Sandro
-- 
"In a world without walls and fences
you would not need windows and gates."
(Confucius)

che devono poter fare ftp verso server esterni al firewall?
no, parlo di client esterni che devono fare ftp verso il mio server


Il server e' in ascolto sulla porta 2021, 
e al client faccio scrivere 
ftp://mio.ip:2021


 wrote in news:5l636091ptr9fpf4iggjthg87ir6vpqmt7@
4ax.com
:

...
forse č meglio se ricominci, dato che non si č capito un granchč della 
situazione iniziale e di quello che vuoi ottenere...
posta uno schema della tua rete di prova.


situazione iniziale e di quello che vuoi ottenere...
effettivamente  :-)
lan
|
eth0
server firewall con ftp in ascolto sulla porta 2021
eth1
|
router
|
rete esterna
ho problemi con i client dalla rete esterna che non riescono a
connettersi, dando gli errori del post precedente.
ciao


 
metti solo le regole di input semplici, senza fare filtraggi strani su 
dport/sport/state
iptables -A INPUT -p tcp -i ethX -m state --state ESTABLISHED,RELATED -j 
ACCEPT
iptables -A INPUT -p tcp -i ethX -s 
0.0.0.0/0
 --dport 2021 -j ACCEPT
se serve perchč hai la policy a drop, metti anche la regola:
iptables -A OUTPUT -p tcp -o ethX -m state --state ESTABLISHED,RELATED -j 
ACCEPT
e in piů, aggiungi una regola di log, in modo da vedere cosa viene 
scaricato
