Newsgroup: it.comp.os.linux.iniziare
Titolo: Firewall IPTABLES e client FTP (un po lunghetto)

Salve a tutto l'NG
ho un problemino, preannuncio di essere un Newbie per quanto riguarda Linux
e le sue configurazioni.
Ho preparato un file con le regole per Iptables, funziona tutto egregiamente
ad esclusione dell'FTP, sia configurando il client in Passive mode che in
Active mode non funge nulla. Ho provato anche a raggiungere un ip pubblico
esterno alla mia lan ma il risultato non cambia.
La configurazione č la seguente:
Linux: REDHAT 9.0
Server FTP: SERV-U 4.0
IP Server FTP: 192.168.0.203
IP Client: 192.168.0.20
regole di iptables:
iptables -t filter -F
iptables -t filter -X
iptables -t filter -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
[...]
# FTP (uscita)
iptables -t filter -A INPUT -p tcp --sport 21 -m state --state
ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -p tcp --dport 21 -m state --state
NEW,ESTABLISHED -j ACCEPT
iptables -t filter -A INPUT -p tcp --sport 20 -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -p tcp --dport 20 -m state --state
ESTABLISHED -j ACCEPT
[...]
Il resto delle regole per il Web, Messenger, etc funzionano bene.
Ho letto che molto probabilmente dipende da alcuni moduli non installati nel
kernel, puň essere vero?
Se si come faccio a vedere quali sono i moduli compilati nel kernel?
Potrebbe dipendere dal passive mode? Come si configura Iptables per il
passive mode?
Le regole create sono state scopiazzate un po qua un po la, mi sapreste dire
perchč sulla regola della porta 21 in INPUT č ESTABLISHED, mentre sulla 20 č
ESTABLISHED,RELATED, mentre nel FORWARD della porta 21 č NEW,ESTABLISHED  e
sulla 20 č ESTABLISHED?
Grazie in anticipo a tutti coloro che mi daranno una mano nella risoluzione
di questi quesiti che mi stanno mandando il cervello in fumo da oltre
15giorni.
Luigi
Gli errori generati sono i seguenti sia in passive mode che in active mode:
STATUS:> Connect: Tuesday 11:55:47 06-10-2003
STATUS:> Connecting to 192.168.0.203
STATUS:> Connecting to 192.168.0.203 (ip = 192.168.0.203)
STATUS:> Socket connected. Waiting for welcome message...
220 Serv-U FTP Server v4.0 for WinSock ready...
STATUS:> Connected. Authenticating...
COMMAND:> USER pippo
331 User name okay, need password.
COMMAND:> PASS ********
230 User logged in, proceed.
STATUS:> Login successful
COMMAND:> REST 100
350 Restarting at 100. Send STORE or RETRIEVE.
STATUS:> This site can resume broken downloads
COMMAND:> PWD
257 "/" is current directory.
STATUS:> Retrieving directory listing...
COMMAND:> PASV
227 Entering Passive Mode (192,168,0,203,10,243)
COMMAND:> LIST
STATUS:> Connecting data socket...
ERROR:> Failed to establish data socket
ERROR:> Timeout
STATUS:> Disconnect: Tuesday 11:57:51 06-10-2003
**************************************************************
STATUS:> Connect: Tuesday 12:01:54 06-10-2003
STATUS:> Connecting to 192.168.0.203
STATUS:> Connecting to 192.168.0.203 (ip = 192.168.0.203)
STATUS:> Socket connected. Waiting for welcome message...
220 Serv-U FTP Server v4.0 for WinSock ready...
STATUS:> Connected. Authenticating...
COMMAND:> USER pippo
331 User name okay, need password.
COMMAND:> PASS ********
230 User logged in, proceed.
STATUS:> Login successful
COMMAND:> REST 100
350 Restarting at 100. Send STORE or RETRIEVE.
STATUS:> This site can resume broken downloads
COMMAND:> PWD
257 "/" is current directory.
STATUS:> Retrieving directory listing...
COMMAND:> PORT 192,168,0,20,15,134
200 PORT Command successful.
COMMAND:> LIST
150 Opening ASCII mode data connection for /bin/ls.
STATUS:> Received 0 bytes, Abnormal termination
STATUS:> Trashed response received
426 Data connection closed, transfer aborted.
STATUS:> Disconnect: Tuesday 12:04:46 06-10-2003

 ip pubblico esterno alla mia lan ma il risultato non cambia.
Caricato il modulo ftp_conntrack ?
Se si, per prima cosa elimina tutte le regole che riguardano connessioni
ESTABLISHED e RELATED e aggiungi all'inizio, subito dopo le Policies:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Non serve a niente, in teoria, a parte a velocizzarti il tutto, ma semplice
e' bello. ;-)
Le regole per far funzionare come client FTP il gateway e le macchine
NATtate sono queste:
iptables -A INPUT -p tcp -m multiport --dports 20,21,989,990 -m state
- --state NEW -j ACCEPT
iptables -A FORWARD -p tcp -m multiport --dports 20,21,989,990 -m state
- --state NEW -j ACCEPT
Per far funzionare un PC interno alla LAN come server FTP credo non ti basti
il semplice masquerading, ma non credo siano queste le tue esigenze.
In ogni caso ti ricordo che su
http://www.netfilter.org/documentation/index.html
trovi tutte le info che ti servono (anche in italiano).
- -- 
Dario Basile
- ----------------------------------------------------------------
Periculum in mona, o studentes, quando mona habebit dentes.
- ----------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE+5jXH7mRkrRsDl/8RAn9hAKDSZBm0LhruCLNWSjTch4h4dSyNsACdEMno
TGgb1FSfQXvA4C5lbsAjjN4=
=Xo1Q
-----END PGP SIGNATURE-----