PDA

View Full Version : problema accesso server ftp dall'esterno


unerrore
16-04-2010, 23:27
Sto cercando di fare un serverino domestico ma mi serve un aiuto.
Ho scaricato Filezilla Server, ho aperto la porta 21 del router impostando un virtual server.
In questo modo riesco ad entrare nel server anche dai computer della rete locale.
Successivamente ho registrato un dominio dyndns e scaricato il tool DynDns Updater che sincronizza automaticamente l'ip dinamico con l'host name pubblico.

Provando ad entrare nel server usando l'host name mi succede questa cosa:
da un pc della rete locale, scrivo nella barra degli indirizzi

ftp://xxx.dyndns.org

e mi appare la finestra dell'autenticazione, come da prassi.
Il problema è che quando mi autentico, il client si disconnette dal server e non mi fa accedere. Se invece provo da un computer completamente esterno alla rete, non mi apre neanche la finestra del login.

Per essere sicuri, sul mio router (che me lo consente) ho impostato anche il Port Forwarding verso l'indirizzo ip del server definendo nel Port Range tutte le porte (1-65535). Ma anche cosi, niente da fare.

Ecco da filezilla server cosa succede quanto tento il login da una macchina della rete, dando come indirizzo l'hostname:

Connected, sending welcome message...
(000063) 17/04/2010 0.15.05 - (not logged in) (93.39.250.178)> USER carmelo
(000063) 17/04/2010 0.15.05 - (not logged in) (93.39.250.178)> 331 Password required for carmelo
(000063) 17/04/2010 0.15.05 - (not logged in) (93.39.250.178)> PASS
(000063) 17/04/2010 0.15.05 - carmelo (93.39.250.178)> 230 Logged on
(000063) 17/04/2010 0.15.05 - carmelo (93.39.250.178)> SYST
(000063) 17/04/2010 0.15.05 - carmelo (93.39.250.178)> 215 UNIX emulated by FileZilla
(000063) 17/04/2010 0.15.05 - carmelo (93.39.250.178)> PWD
(000063) 17/04/2010 0.15.05 - carmelo (93.39.250.178)> 257 "/" is current directory.
(000063) 17/04/2010 0.15.05 - carmelo (93.39.250.178)> TYPE I
(000063) 17/04/2010 0.15.05 - carmelo (93.39.250.178)> 200 Type set to I
(000063) 17/04/2010 0.15.05 - carmelo (93.39.250.178)> PASV
(000063) 17/04/2010 0.15.05 - carmelo (93.39.250.178)> 227 Entering Passive Mode (216,146,35,99,195,120)
(000063) 17/04/2010 0.15.06 - carmelo (93.39.250.178)> disconnected.


Dove e cosa sbaglio?

Il Bruco
16-04-2010, 23:56
Devi abilitare nel Router il DMZ (Demilitarized Zone) verso l'IP del Server FTP, devi configurare il Filezilla Server in "Passive Mode" e disabilitare o configurare eventuali Firewall
.
Non puoi raggiungere dalla rete interna il Server FTP con l'account ftp://xxx.dyndns.org, ma lo puoi solo raggiungere tramite IP a lui assegnato nella rete.

unerrore
17-04-2010, 12:43
Allora ho abilitato nel router il dmz dandogli in pasto l'indirizzo ip della macchina del server (non il nome host).
In filezilla server il Passive Mode era già attivato (credo) e ho impostato cosi:

External Server IP Address for passive mode tranfers:
- Use the following
"ip macchina server" (non il nome host)

- spunta su "Don't use external IP for local connections"

-spunta su "Use custom port range"
1 - 65535 (cioé tutte)


Anche cosi, non va.

Il Bruco
17-04-2010, 18:27
-spunta su "Use custom port range"
1 - 65535 (cioé tutte)


configura 10000-10100, altrimenti metti in conflitto quelle standard, disabilita qualunque firewall o antivirus per il momento.

Fammi sapere

unerrore
17-04-2010, 18:43
cercando un po online mi sono accorto di aver omesso un dettaglio importantissimo....ho FASTWEB!!! :doh:

Magari riesco a fare qualcosa con himachi...
o no?

nightfly
17-04-2010, 20:19
cercando un po online mi sono accorto di aver omesso un dettaglio importantissimo....ho FASTWEB!!! :doh:

Magari riesco a fare qualcosa con himachi...
o no?

Fossi in te proverei a mettere in forwarding anche la porta 20 TCP.

unerrore
17-04-2010, 22:23
che c'entra la porta 20 scusa?
Un server ftp dovrebbe rimanere in ascolto sulla porta 21 (almeno credo...).
Penso che qui il problema non è quale porta aprire, quello è arbitrario (se apro la 20 e la 21, imposto il server per comunicare sulla 20 e la 21. Se metto la 73 e la 74, uguale...), il problema è capire come rendere un server nattato da fastweb, accessibile dall'esterno non avendo ip pubblico.

Dico bene?

Il Bruco
17-04-2010, 23:28
Dici giusto.

Con FastWeb puoi accedere al tuo PC solo da un'altro PC sotto la stessa MAN FastWeb, pingando l'IP che il tuo HAG assegna al PC dove risiede il Server FTP, senza Router interposti.

Se vuoi far accedere al tuo PC dall'esterno, utenti che non abbiano fastWeb, puoi scaricare e configurare TeamViewer free, per dare autorizzazioni di controllo da remoto, anche solo per prelevare file.

unerrore
17-04-2010, 23:57
be si ci avevo pensato, anche perché uso TeamViewer per l'assistenza remota.
Il problema è che in quel modo avrei uno scomodo intermediario (teamviewer appunto) e quindi non avrebbe più senso far giacere un server su fastweb perché non potrei sfruttare la banda in upload.

Ho letto che invece hamachi utilizza il suo server solo per assegnarti l'indirizzo ip pubblico, poi per il resto i computer sono in comunicazione alla stessa velocità di una rete normale. Domani provo far collegare qualcuno da un'altra rete e faccio anche un test di ping per vedere se effettivamente il tempo di risposta è superiore,uguale o inferiore ad una rete qualsiasi.

nightfly
18-04-2010, 07:43
che c'entra la porta 20 scusa?
Un server ftp dovrebbe rimanere in ascolto sulla porta 21 (almeno credo...).
Penso che qui il problema non è quale porta aprire, quello è arbitrario (se apro la 20 e la 21, imposto il server per comunicare sulla 20 e la 21. Se metto la 73 e la 74, uguale...), il problema è capire come rendere un server nattato da fastweb, accessibile dall'esterno non avendo ip pubblico.

Dico bene?

Il protocollo FTP funziona sulla 20 e sulla 21, una serve allo scambio dei dati, l'altra alla segnalazione. Quando allestisco server FTP sono solito metterle in forwarding entrambe, in quanto trovo utile attenersi alle specifiche protocollari.

nuovoUtente86
18-04-2010, 11:57
Il protocollo FTP funziona sulla 20 e sulla 21, una serve allo scambio dei dati, l'altra alla segnalazione. Quando allestisco server FTP sono solito metterle in forwarding entrambe, in quanto trovo utile attenersi alle specifiche protocollari.

Ma il protocollo è preciso circa l' utilizzo della porta 20:
-in modalità attiva fa da porta locale, sul server, per la connessione dati inizializzata dal server stesso verso la porta di binding del client. Il che a livello programmatico si traduce in una chiamata a SO_REUSEADDR, prima dell' instaurazione del socket stesso.

-in modalità passiva la porta 20 non è utilizzata.

E' evidente come il forward di tale porta sia del tutto inutile.

unerrore
18-04-2010, 14:58
Esattamente!
Cioé chi allestisce un server ftp di alto livello, fa bene a forwardare entrambe le porte, come da protocollo.
Ma come diceva nuovoutente86, la porta 20 non è utile alla comunicazione poiché in modalità passiva non è utilizzata.

In ogni caso ho buone nuove: ho installato hamchi su due macchine e il server finalmente è raggiungibile dall'esterno. Ho provato a fare un ping verso l'ip assegnato da hamachi al server e i tempi di risposta non sono entusiasmanti come credevo (740ms al primo tentativo, 1200ms al secondo).
Non so ancora bene come questo si traduca in termini di velocità di trasferimento, ma farò delle prove a breve con file di grossa taglia.

Sebbene non sia la soluzione ideale (anzi è proprio quello che tentavo di evitare), questa sembra essere l'unica configurazione possibile per un server ftp che giace su fastweb, di essere visto dall'esterno.
Leggendo un po in giro ho scoperto che in passato esistevano dei metodi e programmini che consentivano di bypassare il problema, ma FW ha alzato i muri.

Se qualcuno di voi ci è riuscito in un modo migliore, me lo faccia sapere perché sono molto curioso.

Vi aggiorno con i prossimi esperimenti.