Newsgroup: it.comp.reti.locali
Titolo: Filezilla FTP Server dietro un NAT-Firewall con DNS dinamico

Voglio metter su un server FTP. Ho un router-modem ADSL configurato
per inoltrare le connessioni alla porta 21 verso il mio PC. Ho anche
aperto questa porta (WAN to LAN) nel firewall del router.
Mi sono registrato a DynDNS e tutto va bene... con 
www.web2ftp.com
riesco a collegarmi correttamente.
Ora volevo provare a configurare ed usare il server in modalità
passiva. Ho inserito, come indirizzo IP da usare in modalità passiva,
il nome dell'host scelto in DynDNS. Poi ho scelto un range di porte
da usare in modalità passiva (65000-65100). Ho aperto queste porte
sul firewall del router e ho abilitato queste porte nel NAT del
router.
Mi sembra di aver fatto tutto correttamente ma non funziona ancora
una cosa. Apro un client FTP proprio sul PC dove è attivo il server.
Mi collego al server FTP usando il nome DynDNS e vedo che il collegamento
sembra andare bene. Il client manda il comando PASV per il passaggio
alla modalità passiva e sembra funzionare ancora bene.
Il successivo comando LIST non va bene... c'è il famigerato errore
"425 Can't open data connection."
Mi sembra di capire che questo errore si ha quando non è possibile
stabilire una connessione tra il client ed il server sulle porte
usate per la modalità passiva. Ma mi sembra di averle aperte tutte,
tant'è che windump mi vede tutti i pacchetti nel range 65000-65100.
Questo vuol dire che non vengono filtrati da alcuno, ma lo stesso
non funziona.
Mi sapete dire che altro fare?

 
Un consiglio che spero tu abbia già applicato è quello di entrare in 
filezilla server, andare su Settings -> Passive Mode Settings e usare 
l'opzione "Retrieve external ip address from", che recupera il tuo 
indirizzo dall'esterno della tua lan, altrimenti il server istruisce il 
comando pasv con l'indirizzo nella rete locale del tuo server, e 
ovviamente ciò rende inutilizzabile la modalità passiva.
Dopo aver fatto questo la modalità passiva dovrebbe andare anche dal tuo 
stesso host.
Ad ogni modo per essere sicuro al 100% devi fare le prove dall'esterno, 
perché una cosa che funziona in locale non è detto vada bene in remoto, 
e viceversa.
Un altro consiglio: se il tuo server ftp sarà un ftp a cui accedi solo 
tu e pochi altri intimi, è meglio che cambi la porta con qualcosa di 
meno "vistoso", ti risparmierai molti attacchi!

 meno "vistoso", ti risparmierai molti attacchi!
Già fatto... avevo anche intenzione di usare SSL.

 
Non è detto che non vada in remoto. Provare per credere. Se mi collego 
da una macchina della lan (non il server stesso) e provo ad avviare una 
comunicazione in modalità passiva non mi va'. Ma se accedo dall'esterno 
tutto ok.
Mi scoccio di andare a trovare il motivo preciso per cui ho questo 
comportamento, ma quando ci sono i protocolli di rete in mezzo è dura 
trovare la soluzione (se c'è!)

 vedo che il collegamento sembra andare bene.
<snip>
Occhio, se il client FTP è connesso alla rete LAN .. sarà difficile
riuscire a far funzionare il tutto, connetti il client ad internet usando
una diversa connessione e *SENZA* connetterlo in LAN e ritenta
Inoltre, per il momento EVITA di usare per il server FTP una porta
"non standard" e lascialo sulla 21 dato che cambiando la porta
potresti avere problemi con alcuni nat/firewall
Ciao

 potresti avere problemi con alcuni nat/firewall
OK, porta 21 con gli stessi problemi :(

 trovare la soluzione (se c'è!)
Boh, la cosa diventa interessante. Perché non dovrebbe andare?
Purtroppo mi è difficile fare questo test da remoto poiché non ho
una doppia connessione ad Internet.
Sai se esiste qualche sito web che gestisce un collegamento FTP in
modalità passiva? 
www.web2ftp.com
 lo fa solo in modalità attiva.
In alternativa qualche terminale free di un Linux su cui gira un
ftp-client già configurato per la modalità passiva.

 trova sulla stessa LAN? Comunque sono lo stesso PC ;)
Semplice; tu richiedi una connessione ftp al server xyz.dyndns,org
(come da te scritto); tale nome viene risolto con l'indirizzo pubblico
del tuo router (es. 151.49.114.177) a questo punto il client FTP chiede
al router di .. connettersi a se stesso, in questo caso nella maggioranza
dei casi la connessione NON funziona proprio oppure si verificano
alcuni problemi (come ad esempio quello da te riscontrato); se invece
provassi la stessa operazione connetendoti tramite FTP all'indirizzo
LAN del server; il tutto dovrebbe funzionare
ripeto, l'unico modo di provare se il tuo FTP funziona veramente è quello
di chiedere ad un tuo amico di connettersi al tuo server dall'esterno
Ciao

 di chiedere ad un tuo amico di connettersi al tuo server dall'esterno
Per fortuna ho trovato un sito che gestisce l'FTP tramite HTTP anche in
modalità passiva: 
http://www.net2ftp.com

 Il router è uno Zyxel Prestige 660HW.
Prova ad aprire anche la 20 (se e' ftp in modalita' attiva).
bye G.L.

 Prova ad aprire anche la 20 (se e' ftp in modalita' attiva).
Ho paura che anche così non si risolva il problema, credo
che il tutto si "incastri" a causa di un comando "PORT" che
contiene un "IP errato", l'ideale sarebbe avere il dump (log)
di una sessione sia dal lato client che da quello server
Detto questo, la cosa più semplice da fare potrebbe essere
quella di usare un DNS sulla LAN (o modificare il file hosts)
"mappando" il nome del server FTP all'indirizzo IP "LAN" in
questo modo, dalla LAN i clients utilizzerebbero l'indirizzo
IP interno mentre da internet verrebbe utilizzato l'indirizzo IP
pubblico risolvendo così il problema
Ciao
-- 
* ObiWan
Microsoft MVP: Windows Server - Networking
http://www.microsoft.com/communities/MVP/MVP.mspx
http://italy.mvps.org
DNS "fail-safe" for Windows 2000 and 9X clients.
http://www.treewalkdns.com
Support and discussions forums/groups
http://forums.treewalkdns.com
news://
news.treewalkdns.com
408 XP/2000 tweaks and tips
http://www.treewalkdns.com/tq/index.htm