FTP si blocca: 150 Apertura della connessione dati in modalità ASCII


15

Sto configurando un server FTP sul mio server Windows 2008 (R2).

Sembra che tutto sia installato correttamente, ma ho problemi a utilizzare un client FTP per accedere al mio server FTP.

Posso desktop remoto sul server e tramite i comandi DOS posso accedere piuttosto facilmente.

Ma se emetto un comando come "DIR", si blocca con: 150 Apertura della connessione dati in modalità ASCII.

Tutto ciò che ho cercato e letto indica le porte del firewall e / o le impostazioni della modalità Passivo / Attivo.

Ecco cosa mi disturba ... se uso i comandi FTP DOS, posso accedere e utilizzare il comando "DIR" solo se uso "localhost" come mio indirizzo.

Se specifico il mio URL FTP completo, ottengo l'errore di sospensione.

se specifico l'URL "localhost", non ottengo l'errore.

Questo mi porta a credere che sia un problema di Firewall, (o addirittura un problema di IIS7?) Ma non sono sicuro di quali porte devo aprire?

Ho le porte 20, 21 aperte sul mio firewall di Windows. Ho anche aperto quelle porte sul mio firewall AWS (Amazon).

Credo che il mio client FTP stia utilizzando alcuni numeri di porta a lungo raggio potenzialmente bloccati da uno dei miei due firewall. Ho usato gli strumenti di monitoraggio della rete per provare a vedere quali porte sta chiamando, ma non riesco a capirlo.

Qualche idea, consiglio, trucco, aiuto?

Risposte:


9

Il server FTP e il client FTP negoziano quali porte verranno utilizzate per il trasferimento dei dati (incluso l'elenco delle directory quando si esegue una "dir" o "ls") utilizzando il "canale di controllo" di FTP. Quindi, se il tuo "firewall AWS" non sta eseguendo l'ispezione del protocollo su questo canale, non saprà in alcun modo quali porte deve aprire in modo dinamico per consentire il flusso del traffico (e chiudere quando tali porte non vengono più utilizzate).

IMHO che utilizza il monitoraggio della rete per scoprire quali porte vengono utilizzate non vale la pena, poiché queste porte cambieranno per ogni nuova sessione FTP.

A meno che tu non l'abbia già fatto, il mio miglior tentativo di risolvere questo problema sarebbe quello di cercare qualsiasi modifica sul firewall che protegge il tuo server FTP (se capisco correttamente la tua domanda sarebbe il "firewall AWS") e vedere se ci è una qualsiasi "manopola" per abilitare l'ispezione del protocollo FTP.


6

Ho ricevuto lo stesso messaggio durante il tentativo di utilizzare il lscomando per elencare i file memorizzati su un server host FTP UNIX dalla mia riga di comando Ubuntu. Sono stato in grado di accedere correttamente utilizzando ftp ftp.example.come inserendo il mio nome utente e password quando richiesto. Tuttavia, riceverei il 150 Opening ASCII mode data connectionmessaggio e non è mai successo nulla. Quindi, ho semplicemente inserito l'opzione -p(cambia in modalità "passiva" per gestire i firewall) con il comando e ha funzionato.

 ftp -p ftp.example.com

Immettere il nome utente e la password quando richiesto, quindi comandi come lse cdfunzioneranno. Credo che anche tu puoi inserire questo comando e farà la stessa cosa, ma non l'ho provato.

pftp ftp.example.com

So che la domanda riguarda Windows; tuttavia, considerato lo stesso errore, è stato ipotizzato che valesse la pena pubblicare questo suggerimento.


Fantastico .. Mi ha aiutato all'istante
Sambhav Sharma,

5

Per ottenere informazioni reali sul motivo per cui la connessione è bloccata, dovrai utilizzare un client che registra tutti i comandi del protocollo per vedere cosa sta realmente accadendo. C'è un buon sito su FTP con log di esempio qui .

Molto probabilmente, comunque

  1. il tuo client è protetto da un firewall (stupido o bloccato con SSL) e sta tentando di utilizzare FTP in modalità attiva
  2. il tuo server si trova dietro un firewall (stupido o bloccato con SSL) e sta tentando di utilizzare l'FTP in modalità passiva

Se stai usando SSL, l'unica risposta è aprire un intervallo di porte (diciamo, 10000-11000) sul firewall e configurare il tuo server FTP per forzare la modalità Passiva e usare quell'intervallo di porte. Se il tuo server utilizza NAT, dovrai anche impostare l'indirizzo IP corretto affinché il server faccia pubblicità ai client, la maggior parte obbedisce a qualunque cosa il server fornisca come stringa di connessione in modalità passiva e se il server pensa che sia 10.1.1.1, ecco cosa lo dirà ai clienti.

Se non stai utilizzando SSL, la risposta migliore è vedere se riesci a far eseguire al tuo firewall l'ispezione del protocollo per FTP. Il firewall leggerà il traffico sulla porta 21 e aprirà qualunque porta il tuo server desideri aprire. Questo può spesso correggere anche gli indirizzi NAT (quando il firewall gestisce anche il NAT). Probabilmente vorrai comunque forzare la modalità passiva poiché alcune persone non sanno come configurare correttamente il loro client FTP e quasi tutti sono dietro un router / firewall a banda larga in questi giorni.

Se non riesci a ottenere un firewall più intelligente, allora dovrai attenersi all'opzione "apri un mucchio di porte" (o passare a un protocollo che non ha bisogno di aprire un mucchio di porte casuali come sftp di ssh).


4

Ho avuto questo problema ed è stato risolto nel modo seguente.

Stavo usando FireFTP che per impostazione predefinita si collega tramite modalità passiva. Quando si configura un FTP in IIS, la porta predefinita sarà 21. Ho dovuto aprire la porta 21 nel firewall, il che mi ha permesso di fare un ulteriore passo, ma si è bloccato in apertura della connessione dati in modalità ASCII .

Si scopre quindi seleziona alcune altre porte dinamiche. Sapevo che si trattava di un problema di firewall in quanto con il firewall disattivato FTP si connette correttamente. Anche localmente sul server - nessun problema.

Per risolvere il problema, ho caricato IIS (usando la versione 8.0, credo che sia lo stesso in 7.5), a livello di server dell'albero (che è il nodo superiore) fai clic su di esso e seleziona "Supporto firewall FTP". Ogni sito FTP che utilizzerai utilizzerà questi intervalli di porte, i singoli siti FTP avranno questa opzione disattivata in quanto ereditata da questa sezione.

Nell'intervallo di porte del canale dati, specificare x quantità di porte, nel mio caso 10000-10125 .

Ora, nel tuo firewall, apri quell'intervallo di porte TCP come "Intervallo di porte passive FTP".

Ho quindi pensato che il problema sarebbe stato risolto, ma non del tutto. Assicurati di riavviare il servizio di servizio FTP Microsoft per raccogliere il nuovo intervallo di porte. Chiudi FireFTP / client e riprova e questa volta con un po 'di fortuna entrerai. :)


1

Ho lo stesso problema con te e risolto ora.

Quello che ho fatto è stato aprire Windows Firewall (Win7), fare clic su "Consenti programma o funzionalità tramite Windows Firewall", quindi nell'elenco "Programmi e funzionalità consentiti", scoprire "Programma di trasferimento file" e selezionare la casella di controllo.

Al termine, apri il prompt dei comandi e inserisci ftp XXXX, accedi e quindi ls / dir / get / put, tutto funziona ora.

Ma non riesco ancora a connettermi da File Zilla e dal browser Web, spero che sia utile per te.



1

Non rovinare nulla sulla tua configurazione

Basta aggiungere la regola in uscita in Windows Firewall con sicurezza avanzata e inserire la porta n. 20.

Goditi FTP su CLI


1

Il problema per me era sul PC locale, non sull'host remoto. Ho confermato che l'installazione del servizio FTP sull'host remoto aveva già aperto correttamente tutte le porte sul firewall del server necessarie, quindi non era questo il problema. Era il mio PC client locale che non funzionava. Così,

  1. Ho aperto Windows Defender Firewall.
  2. Quindi ho fatto clic sul collegamento a sinistra, "Consenti a un'app o funzionalità tramite Windows Defender Firewall":

inserisci qui la descrizione dell'immagine

  1. Ho scorrere verso il basso fino al Programma di trasferimento file e ho selezionato le caselle Dominio, Privato e Pubblico:

inserisci qui la descrizione dell'immagine

Questo finalmente risolto questo per me! Quando sono andato a ritentare un comando LS, la risposta è stata istantanea e non ci sono stati più problemi.


0

Abbiamo risolto questo problema utilizzando la procedura guidata Nuova regola in entrata di Windows Firewall. Seleziona Programma, quindi C: \ Windows \ System32 \ ftp.exe, Consenti la connessione, Verifica opzioni; Dominio, privato, pubblico (è possibile limitare in seguito, se necessario), denominare la regola e il gioco è fatto.

Ora ftp su un sito ftp e verifica che dir o ls rispondano correttamente.


0

Ho riscontrato lo stesso problema dell'OP

200 comando PORT riuscito.
150 Apertura della connessione dati in modalità ASCII.
425 Impossibile aprire la connessione dati.

Ho riscontrato il problema precedente quando ho provato a utilizzare la modalità passiva sulla riga di comando in Windows.
Ho trovato le informazioni che cercavo cercando nei materiali:

IE di solito utilizza la modalità passiva, mentre l'utilità della riga di comando (comando ftp) utilizza sempre la modalità attiva.

Ho provato la mia precedente operazione in IE e ha funzionato. Problema risolto

link materiali :https://forums.iis.net/t/1207342.aspx?150+Opening+ASCII+mode+data+connection+for+file+list+425+Can+t+open+data+connection+

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.