Come configurare smartphone e PC. Portale informativo
  • casa
  • Recensioni
  • Modalità passiva FTP quali porte. Modifica della modalità client FTP in Internet Explorer

Modalità passiva FTP quali porte. Modifica della modalità client FTP in Internet Explorer

Il File Transfer Protocol, standardizzato per la prima volta all'inizio degli anni '70, è un protocollo a livello di applicazione che utilizza il protocollo di trasporto TCP per trasferire i dati. FTP è stato sviluppato in un'epoca in cui client e server comunicavano direttamente tra loro, senza intermediari e con barriere minime.

Problemi FTP nelle reti moderne

Sulle reti moderne (NAT, firewall, bilanciamento del carico), le seguenti funzionalità di FTP non ne consentono il corretto funzionamento:

  1. Due connessioni TCP/IP separate: per trasmissione dati e per trasmissione comandi;
  2. La connessione dati può essere stabilita su un numero di porta casuale;
  3. Una connessione dati può provenire da un server a un client o da un client a un server;
  4. L'indirizzo di destinazione della connessione dati (selezione della modalità operativa) viene negoziato al volo tra client e server tramite la connessione di comando;
  5. La connessione al comando è inattiva mentre i dati vengono trasferiti tramite la connessione dati.

Il problema 1 è causato dal fatto che il dispositivo di instradamento o bilanciatore deve mantenere due connessioni tra la stessa sorgente e destinazione.

Il problema 2 è causato dal fatto che FTP non può funzionare se le porte in entrata sono strettamente limitate solo a quelle sicuramente conosciute. Quelli. In modalità normale, FTP non può funzionare solo con le 21 porte in entrata aperte che la connessione utilizza per inviare comandi, necessita anche di una serie di porte aperte di alto valore (49152-65534) per trasferire i dati.

Il problema 4 è causato dal fatto che quando si utilizza NAT, è necessario modificare al volo il contenuto dei pacchetti di connessione per trasmettere i comandi in modo che l'indirizzo interno del server venga sostituito da uno esterno, e reindirizzare anche i pacchetti che arrivano all'esterno indirizzo all'indirizzo interno del server.

Il problema 5 è causato dal fatto che i dispositivi di routing possono terminare le connessioni bloccate per inviare comandi.

Due modalità di trasferimento dati in FTP

FTP supporta due modalità operative: attiva e passiva. Differiscono nel meccanismo per stabilire una connessione per il trasferimento dei dati:

  • In modalità attiva, il server si connette dalla ventesima porta alla porta client specificata.
  • In modalità passiva, il client si connette dalla sua porta casuale a una porta del server specificata.

Pertanto tutti i moderni client FTP negoziano con il server da cui vengono trasferiti i dati e chi avvia la connessione. Il cliente può specificare l'uso modalità attiva inviando il comando "PORT", che dirà al server di connettersi a un IP e una porta client specifici e iniziare a inviare dati. Oppure il cliente può utilizzare modalità passiva inviando il comando "PASV" al server, che dirà al server che il client sta aspettando che l'IP e la porta del server inizino a ricevere dati.

Poiché il client inizialmente si collega al server per stabilire una connessione per inviare comandi, sarebbe logico che il client stabilisse anche la connessione dati, cioè inviato il comando PASV (risolvendo anche il problema tra FTP e firewall). Tuttavia non è così; per qualche motivo gli ideatori della specifica FTP hanno deciso che la modalità preferita dovrebbe essere PORT e il supporto PASV sul lato client non è nemmeno necessario.

FTP supporta l'accesso tramite login e password, ma non è sicuro perché... sono trasmessi in chiaro. Quando utilizzi un browser web, puoi passarlo direttamente all'URL.

FTP:// :@:/

Esempio di sessioni che utilizzano modalità di trasferimento dati attiva e passiva

Un esempio di modalità attiva, in cui il client si connette in modo anonimo ed effettua un trasferimento dati attivo (esplorazione delle directory).

Cliente: UTENTE anonimo
Server:
Cliente: PASSA NcFTP@
Server: 230 Accesso anonimo.
Cliente: PORTO 192,168,1,2,7,138 Il client desidera che il server si connetta alla porta 1930 e all'indirizzo IP 192.168.1.2.
Server: 200 Comando PORT riuscito.
Cliente: ELENCO
Server: 150 Apertura della connessione dati in modalità ASCII per /bin/ls. Il server si connette dalla porta 21 alla porta 1930 e all'indirizzo IP 192.168.1.2.
Server: 226 Elenco completato. Dati trasferiti con successo.
Cliente: ESENTATO
Server: 221 Arrivederci.

Esempio di modalità passiva

Cliente: UTENTE anonimo
Server: 331 Login ospite ok, invia il tuo indirizzo e-mail come password.
Cliente: PASSA NcFTP@
Server: 230 Accesso anonimo.
Cliente: PASV Il client richiede informazioni di connessione dal server.
Server: 227 Accesso alla modalità passiva
(172,16,3,4,204,173)
Il server risponde al client che deve connettersi alla porta 52397 e all'indirizzo IP 172.16.3.4.
Cliente: ELENCO
Server: 150 Connessione dati accettata da
172.16.3.4:52397; trasferimento in corso.
Il client si è connesso al server sulla porta 52397 e sull'indirizzo IP 172.16.3.4.
Server: 226 Elenco completato. Dati trasferiti con successo.
Cliente: ESENTATO
Server: 221 Arrivederci.

Problemi privati:

    Modalità PORT: client FTP dietro NAT o firewall

    Il problema più grande affrontato dai client FTP che utilizzano la modalità attiva è che il server stesso deve connettersi all'indirizzo IP del client. Se sul suo percorso è presente un firewall che interrompe tutte le connessioni in entrata, la sessione FTP non avrà luogo. Un altro problema è se il client è dietro NAT e utilizza un indirizzo IP interno. Comunicando il proprio indirizzo interno al server, il client lo condanna all'impossibilità di connettersi.

    Soluzione 1: il client FTP deve essere configurato per utilizzare la modalità passiva.

    Soluzione 2: configura NAT per tenere traccia delle connessioni FTP. Quando un client utilizza la modalità attiva, il dispositivo NAT deve riscrivere l'indirizzo interno del client e sostituirlo con l'indirizzo esterno del dispositivo. Quindi la connessione per trasferire i dati dal server FTP, arrivata all'indirizzo NAT esterno del dispositivo, verrà da questo inoltrata all'indirizzo interno del client FTP dietro il NAT.

    Modalità PASV: server FTP dietro un firewall

    Quando il server FTP è protetto da un firewall, i client riscontreranno problemi utilizzando la modalità passiva per connettersi alla porta temporanea del server FTP. Il problema più comune si verifica quando il firewall dietro il quale si trova il server FTP consente solo un numero di connessioni a porte conosciute e ne blocca altre.

    Soluzione 1: l'amministratore può aprire un gruppo di porte sul firewall attraverso le quali possono avvenire le connessioni al server FTP.

    Soluzione 2: se è disponibile il supporto firewall, l'amministratore può configurare l'apertura automatica delle porte per stabilire una connessione passiva al server FTP. Questa configurazione è simile a quanto descritto per un client attivo dietro NAT. Pertanto, quando il firewall monitora la risposta del server FTP a una richiesta del client passivo, apre temporaneamente la porta specificata nella risposta e solo per l'IP da cui ha avuto origine la richiesta passiva.

    Modalità PASV: server FTP dietro NAT

    Nella modalità FTP PASV, il server risponde al client con il suo indirizzo IP interno e la sua porta, che condanna il client all'impossibilità di connettersi.

    Soluzione 1: configura NAT per monitorare le connessioni dati FTP. Quando il server invia una risposta in modalità passiva, il dispositivo NAT deve riscrivere l'indirizzo interno del server e sostituirlo con l'indirizzo esterno del dispositivo. Successivamente la connessione per il trasferimento dei dati dal client FTP, arrivata all'indirizzo NAT esterno dell'apparecchio, verrà da questo inoltrata all'indirizzo interno del server FTP dietro il NAT.

    Modalità PASV: server FTP dietro un bilanciatore del carico

    Il bilanciatore rappresenta un indirizzo IP, la connessione al quale verrà reindirizzata a uno dei server bilanciati. Il bilanciatore presenta due problemi per FTP. Il primo si verifica perché vengono stabilite più connessioni tra il server FTP e il client: una per la trasmissione dei comandi e una o più per la trasmissione dei dati. In modalità passiva, il bilanciatore deve reindirizzare la connessione dati allo stesso server della connessione di comando. Il secondo problema è una conseguenza del primo: quando il server FTP risponde con una risposta passiva, questa risposta conterrà l'indirizzo interno del server FTP e non l'indirizzo esterno del bilanciatore.

    Soluzione 1. Assegnare a ciascun server FTP dietro il bilanciatore un indirizzo IP legittimo accessibile dall'esterno. In questo caso, il server FTP sarà in grado di servire autonomamente i client FTP in modalità passiva, bypassando il bilanciatore.

    Soluzione 2: configurare un bilanciatore per monitorare le connessioni FTP per il trasferimento dei dati. Quando il server invia una risposta in modalità passiva, il bilanciatore deve riscrivere l'indirizzo interno del server e sostituirlo con l'indirizzo esterno del bilanciatore. Quindi la connessione per il trasferimento dei dati dal client FTP, arrivata all'indirizzo esterno del bilanciatore, verrà da questo inoltrata all'indirizzo interno del server FTP dietro il bilanciatore.

    Soluzione 3: configurare il server FTP in modo che le sue risposte in modalità passiva contengano l'indirizzo esterno del bilanciatore, non del server, e sperare che il bilanciatore reindirizzi la connessione al server in attesa.

    Problema irrisolvibile: firewall su entrambe le estremità

    Quando il client e il server sono entrambi dietro firewall che limitano tutte le connessioni in entrata tranne che a un gruppo di porte conosciute, iniziano i problemi. Il client non può utilizzare la modalità attiva perché il server non sarà in grado di connettersi ad esso e non potrà utilizzare la modalità passiva, perché non è possibile connettersi al server FTP.
    In questo caso, è necessario modificare le impostazioni del firewall ed è meglio farlo lato server.

    Server FTP su una porta non standard

    Alcuni dispositivi di routing sono in grado di elaborare sessioni FTP solo se arrivano sulla porta standard del server. Pertanto, se un server FTP è in ascolto su una porta non standard, è necessario configurare il dispositivo di routing in modo che sappia che dietro questa porta c'è un server FTP ed elabori correttamente le connessioni.

    Ma anche in questo caso, un firewall lato client può essere d’intralcio. Ciò può verificarsi se il firewall lato client richiede rigorosamente che la connessione dati FTP dal server FTP abbia origine dalla porta 20 (in modalità attiva). Se il server FTP è in esecuzione sulla porta N, secondo le specifiche FTP, le sue connessioni dati avranno origine dalla porta N - 1 e saranno bloccate dal firewall del client.

    Problemi causati dai firewall che terminano prematuramente le sessioni FTP

    Questo problema si verifica molto spesso durante il trasferimento di un file di grandi dimensioni. Una volta concordati i parametri di connessione e avviato il trasferimento, la connessione del comando inizierà a rimanere inattiva fino al completamento del trasferimento del file. Se il dispositivo di routing non riconosce l'FTP e il trasferimento del file impiega più tempo rispetto al contatore dell'attività di connessione su di esso, la connessione dal punto di vista del dispositivo di routing scadrà e terminerà e i pacchetti in entrata verranno scartati.

    La soluzione a questo problema è un dispositivo che mantiene attiva la connessione per la trasmissione dei comandi, anche se su di essa non vengono trasmessi pacchetti da molto tempo. Un'altra opzione è abilitare la funzione "Keep Alive" nello stack del protocollo TCP/IP sul lato client o server, che invia un pacchetto di controllo della disponibilità a determinati intervalli e, se il lato di destinazione non risponde, chiude normalmente la connessione. Se il lato ricevente risponde, la connessione dal firewall verrà considerata attiva.

  • Utilizza la modalità passiva quando possibile (questa è l'impostazione predefinita nei browser web)
  • Se la connessione al server FTP ha avuto successo, ma la navigazione nelle directory o il trasferimento dei file termina con un errore di connessione, molto probabilmente il problema risiede nei timer dell'attività di connessione sul firewall
  • Utilizza dispositivi che supportano le funzionalità FTP

FTP (File Transfer Protocol) è uno dei protocolli di trasferimento dati più arcaici. È stato creato prima di HTTP più di 40 anni fa. Tuttavia, la tecnologia “FTP client-server” e “server-server”, facile da usare e che non richiede manutenzione speciale, serve ancora come mezzo affidabile per sistematizzare il flusso di documenti interni, creare archivi multiutente nelle reti aziendali locali e distribuirli liberamente software, contenuti multimediali, documenti e materiali sul World Wide Web.

Il server FTP può essere implementato su qualsiasi dispositivo di rete dotato di un disk array per archiviare una grande quantità di informazioni o su un normale computer. Durante la connessione al server vengono scambiati comandi di controllo, durante i quali avviene l'autorizzazione (se fornita), vengono assegnate le porte, definite le regole di scambio e quindi viene stabilita una connessione per il trasferimento dei dati. Lasciamo da parte i fondamenti teorici dell'interazione tra il server e il computer locale tramite il protocollo FTP. Questo processo viene eseguito in due modalità: attiva e passiva. Quali sono le loro differenze? In modalità attiva, il client invia richieste di connessione al server e il server effettua la connessione. In modalità passiva, sia i comandi di controllo che la connessione dati vengono avviati solo dal client.

La modalità passiva è necessaria nei casi in cui il computer del cliente si trova in una rete locale sicura. La maggior parte dei browser supporta il protocollo FTP e consente di connettersi, visualizzare e copiare dati da server remoti. Quindi, in Internet Explorer puoi inserire ftp:// nella barra degli indirizzi "indirizzo IP del server" o utilizzare FileSearch per trovare collegamenti agli archivi di file più popolari. Nella scheda / “Opzioni Internet / Avanzate” / è possibile abilitare l'uso della modalità FTP passiva.

Non sono richieste impostazioni speciali nel browser Mozilla Firefox. "Total Comander" e "Far" hanno un client FTP integrato. Qui, quando si crea una nuova connessione, è necessario inoltre specificare un login e una password. Per i server aperti, l'accesso predefinito è "anonimo" e la password è l'indirizzo della tua casella di posta.

Tutti i "downloader" conosciuti da FlashGet (modalità passiva per impostazione predefinita) a ReGet Deluxe (modalità attiva per impostazione predefinita) dispongono di un sistema per il rilevamento automatico degli scenari di connessione e download e sono inoltre dotati di vari acceleratori aggiuntivi per accelerare il processo di download. Di solito è possibile abilitare o disabilitare la modalità passiva quando si crea una nuova connessione nelle schede FTP.

Per i clienti che lavorano costantemente o abbastanza spesso in modalità condivisione file, è necessario installare un gestore FTP. Questo è un programma della serie FileZilla, CuteFTP, SmartFTP, FTP Voyager, ecc. , che può essere reperito pubblicamente anche su Internet. Questi programmi ti consentono di ottimizzare la connessione a un server FTP remoto. Sono indispensabili quando si lavora con server che funzionano solo in “modalità attiva”, poiché anche se il client non ha un indirizzo IP statico, il programma può emularlo per tutta la durata della sessione.

Tra gli utenti di lingua russa, il programma gratuito e open source più popolare è FileZilla. Questo programma è facile da installare e ha una chiara interfaccia russa. È possibile utilizzare diverse opzioni per configurare le connessioni. Impostazioni generali - Menu/Modifica/Impostazioni/. sono realizzati sotto forma di albero e influenzano le impostazioni di tutti i moduli disponibili. Nella stessa sezione del menu è possibile passare alla procedura guidata di creazione della connessione, dove i parametri di connessione verranno proposti passo dopo passo quando si sceglie la modalità attiva o passiva. Alcuni server FTP offrono il download di piccoli file script di connessione che possono essere importati nel programma e creare una connessione permanente già pronta.

E infine, tra i comandi della console del sistema operativo Windows, è supportato il comando ftp.exe, che offre la possibilità di connettersi “manualmente” a un server FTP inserendo i comandi della console (il protocollo supporta 25 comandi). L'utilizzo e la sintassi di input di questi comandi devono essere ben conosciuti e compresi, ma richiederanno determinate capacità ed esperienza di programmazione.

Quando si lavora utilizzando il protocollo FTP, vengono stabilite due connessioni tra il client e il server: una connessione di controllo (tramite essa vengono inviati i comandi) e una connessione dati (tramite essa vengono trasferiti i file).
La connessione di controllo è la stessa per Attivo E Passivo modalità. Il client avvia una connessione TCP dalla porta dinamica (1024-65535) alla porta numero 21 sul server FTP e dice “Ciao! Voglio connettermi con te. Ecco il mio nome e la mia password." Ulteriori azioni dipendono dalla modalità FTP (attiva o passiva) selezionata.

In modalità attiva quando il cliente dice "Ciao!" comunica inoltre al server un numero di porta (da un intervallo dinamico di 1024-65535) in modo che il server possa connettersi al client per stabilire una connessione dati. Il server FTP si connette al numero di porta del client specificato utilizzando la porta TCP numero 20 per il trasferimento dei dati.

In modalità passiva, dopo che il client ha detto "Ciao!", il server comunica al client il numero di porta TCP (dall'intervallo dinamico 1024-65535) a cui può connettersi per stabilire una connessione dati.

Differenza principale tra la modalità FTP attiva e la modalità FTP passiva è il lato che apre la connessione dati. In modalità attiva, il client deve accettare una connessione dal server FTP. In modalità passiva, il client avvia sempre la connessione.

Comandi di base

ABOR: interrompe il trasferimento del file
CDUP - Cambia la directory in una più alta.
CWD: cambia directory.
DELE - Elimina il file (nome file DELE).
EPSV: entra in modalità passiva estesa. Utilizzato al posto del PASV.
AIUTO - Visualizza un elenco di comandi accettati dal server.
ELENCO — Restituisce un elenco di file in una directory. L'elenco viene inviato tramite una connessione dati.
MDTM - Restituisce l'ora di modifica del file.
MKD: crea una directory.
NLST: restituisce un elenco di file in una directory in un formato più breve di LIST. L'elenco viene inviato tramite una connessione dati.
NOOP - Operazione di vuoto
PASV - Entra in modalità passiva. Il server restituirà l'indirizzo e la porta a cui è necessario connettersi per raccogliere i dati. Il trasferimento inizierà quando verranno immessi i seguenti comandi: RETR, LIST, ecc.
PORTA: consente di accedere alla modalità attiva. Ad esempio PORTA 12,34,45,56,78,89. A differenza della modalità passiva, il server stesso si connette al client per trasferire i dati.
PWD: restituisce la directory corrente.
ESCI: disconnettersi
REIN - Reinizializza la connessione
RETR - Scarica il file. RETR deve essere preceduto da un comando PASV o PORT.
RMD: rimuove la directory
RNFR e RNTO: rinomina il file. RNFR - cosa rinominare, RNTO - cosa rinominare.
DIMENSIONE: restituisce la dimensione del file
STOR: carica il file. STOR deve essere preceduto da un comando PASV o PORT.
SYST - Restituisce il tipo di sistema (UNIX, WIN, ...)
TIPO: imposta il tipo di trasferimento file (binario, testo)
UTENTE: nome utente per accedere al server

Elenco completo dei codici di risposta del server FTP

100L'azione richiesta è stata avviata, attendere la risposta successiva prima di eseguire un nuovo comando.
110Commento
120La funzione verrà implementata in nnn minuti
125Il canale è aperto, lo scambio dati è iniziato
150Lo stato del file è corretto, l'apertura del canale è in preparazione
Il comando 200 è corretto
202Comando non supportato
211Stato del sistema o risposta alla richiesta di aiuto
212Stato del catalogo
213Stato del file
214Messaggio esplicativo della guida
215Visualizzato insieme alle informazioni di sistema utilizzando il comando SYST
220Il servizio è pronto per un nuovo utente.
221Completamento riuscito con il comando quit
225Il canale è stato formato, ma non c'è scambio di informazioni
226Chiudi canale, scambio completato con successo
227 Transizione alla modalità passiva (h1,h2,h3,h4,p1,p2).
228transizione alla modalità passiva lunga (indirizzo lungo, porta).
229Transizione alla modalità passiva estesa (|||port|).
230Utente autenticato, continuare
231Sessione utente terminata; Il servizio è stato interrotto.
232Il comando per terminare la sessione è stato accettato e verrà completato una volta completato il trasferimento del file.
250La richiesta ha avuto successo
257“IL PERCORSO” è stato creato.
331Il nome utente è corretto, è richiesta la password
332Autenticazione richiesta per accedere
350L'azione del file richiesta richiede ulteriori informazioni
404Questo server remoto non è stato trovato
421Procedura non possibile, il canale è chiuso
425Non è possibile aprire il canale informazioni
426Canale chiuso, scambio interrotto
434L'host richiesto non è disponibile
450La funzione richiesta non è implementata, il file non è disponibile, ad esempio occupato
451Errore locale, operazione interrotta
452Errore durante la scrittura del file (spazio insufficiente)
500 Errore di sintassi, il comando non può essere interpretato (potrebbe essere troppo lungo)
501 Errore di sintassi (parametro o argomento non valido)
502Comando non utilizzato (tipo non valido MODE)
503 Sequenza di comandi non riuscita
504Comando non applicabile per questo parametro
530Accesso fallito! Autorizzazione richiesta (non loggato)
532Autenticazione richiesta per ricordare il file
550La funzione richiesta non è implementata, il file non è disponibile, ad esempio non è stato trovato
551L'operazione richiesta è stata interrotta. Tipo di pagina sconosciuto.
552L'operazione richiesta è stata interrotta. Memoria allocata insufficiente
553L'operazione richiesta non è stata accettata. Nome del file non valido.

24.06.2018

    Abbreviazione FTP viene dall'inglese F ile T trasferimento P rotocol (protocollo di trasferimento file) è un protocollo a livello di applicazione per lo scambio di file tramite il protocollo di trasporto TCP/IP tra due computer, un client FTP e un server FTP. Questo è uno dei protocolli più antichi e tuttavia ancora attivamente utilizzato.

Il protocollo FTP è progettato per risolvere i seguenti problemi:

  • accedere a file e directory su host remoti
  • garantire l'indipendenza del client dal tipo di file system del computer remoto
  • trasmissione dati affidabile
  • utilizzo delle risorse del sistema remoto.
  • Il protocollo FTP supporta due canali di connessione contemporaneamente: uno per il trasferimento squadre e i risultati della loro attuazione, l’altro è destinato alla condivisione dati. Con le impostazioni standard, il server FTP utilizza la porta TCP 21 per organizzare un canale per l'invio e la ricezione di comandi e la porta TCP 20 per organizzare un canale per la ricezione/trasmissione dei dati.

    Il server FTP attende connessioni dai client FTP sulla porta TCP 21 e, dopo aver stabilito una connessione, accetta ed elabora Comandi FTP, che sono stringhe di testo regolari. I comandi definiscono i parametri di connessione, il tipo di dati trasferiti e le azioni in relazione a file e directory. Dopo aver concordato i parametri di trasmissione, uno dei partecipanti allo scambio entra in modalità passiva, in attesa di connessioni in entrata per il canale di scambio dati, e il secondo stabilisce una connessione a questa porta e inizia la trasmissione. Una volta completato il trasferimento, la connessione dati viene chiusa, ma la connessione di controllo rimane aperta, consentendo di continuare la sessione FTP e creare una nuova sessione di trasferimento dati.

    Può funzionare in modalità attiva o passiva, che determina come viene stabilita la connessione dati. Pertanto di solito non si verificano problemi quando si apre una connessione di controllo. In modalità attiva, il client inizia ad ascoltare su una porta casuale le connessioni dati in entrata dal server.

    Per questo motivo è stata introdotta la modalità passiva, oggi utilizzata principalmente. L'uso della modalità passiva è preferibile perché la configurazione più complessa viene eseguita solo una volta sul lato server, da un amministratore esperto, piuttosto che individualmente sul lato client, da utenti inesperti.

    Il protocollo FTP può essere utilizzato non solo per trasferire dati tra un client e un server, ma anche tra due server. In questo caso, il client FTP stabilisce una connessione di controllo con entrambi i server FTP, commuta uno di essi in modalità passiva e il secondo in modalità attiva, creando tra loro un canale di trasmissione dati.

    Un client FTP è un programma che si connette a un server FTP ed esegue le operazioni necessarie per visualizzare il contenuto delle directory del server e ricevere, trasferire ed eliminare file o cartelle. Tale programma può essere un normale browser, componenti del sistema operativo o prodotti software appositamente sviluppati, come un popolare gestore di download. Scarica Maestro o multifunzionale gratuito Client FTP FileZilla.

    Queste sessioni di esempio dovrebbero aiutare a rendere le cose un po' più chiare. Tradizionalmente questa è la porta 21 per la porta di comando e la porta 20 per la porta dati. Tuttavia, la confusione inizia quando scopriamo che, a seconda della modalità, la porta dati non è sempre collegata.

    Il server si connetterà quindi alla porta dati specificata del client dalla sua porta dati locale, che è port. Nel passaggio 3, il server avvia una connessione sulla sua porta dati locale alla porta dati specificata in precedenza dal client. Da un firewall lato client, sembra che il sistema esterno stia avviando una connessione al client interno, qualcosa che normalmente verrebbe bloccato.

    Il protocollo FTP è stato sviluppato ai tempi in cui client e server interagivano direttamente, senza trasformazioni intermedie dei pacchetti TCP, e in modalità standard presuppone la capacità di creare una connessione TCP non solo su iniziativa del client, ma anche su l'iniziativa del server dalla porta TCP 20 sulla porta TCP - client, il cui numero viene trasmesso durante la creazione di una sessione dati.

    L'output normale del server è mostrato in nero, mentre l'input dell'utente è mostrato in grassetto. Ci sono alcune cose interessanti su questa finestra di dialogo. Come puoi vedere nell'esempio seguente, è formattato come una serie di sei numeri separati da virgole. Per trovare la porta effettiva, moltiplica il quinto ottetto per 256 e poi aggiungi il sesto ottetto al totale.

    Nel passaggio 3, il client avvia quindi una connessione dati dalla propria porta dati alla porta dati del server specificato. Il problema più grande è la necessità di consentire qualsiasi connessione remota all'elevato numero di porte sul server. Appendice 1 per ulteriori informazioni. Il secondo problema riguarda il supporto e la risoluzione dei problemi dei client che supportano la modalità passiva.

    Le realtà odierne sono tali che una tale connessione TCP da server a client è nella stragrande maggioranza dei casi impossibile o molto difficile da implementare a causa del fatto che nella maggior parte dei casi, per connettersi a Internet viene utilizzata la tecnologia di traduzione degli indirizzi di rete NAT(Network Address Translation) quando il client non dispone di un'interfaccia di rete per creare una connessione TCP diretta da Internet. Un tipico diagramma di una connessione Internet standard è simile al seguente:

    Questo può essere positivo o negativo a seconda di cosa sono configurati per fare i server e i firewall. Qui vediamo che la porta è aperta sul sistema server e non sul client. Il client effettuerà entrambe le connessioni al server, ma una di esse avrà una porta alta casuale che quasi sicuramente verrà bloccata dal firewall lato server.

    Configurazione di rete per la modalità passiva

    Fortunatamente esiste una sorta di compromesso. Quindi qualsiasi cosa diversa da questo intervallo di porte può essere un firewall lato server. Sebbene ciò non elimini il rischio per il server, lo riduce notevolmente. Nell'Appendice 1. In modalità passiva, la maggior parte del carico di configurazione avviene sul lato server. L'amministratore del server deve configurare il server come descritto di seguito.

    La connessione Internet viene effettuata tramite un dispositivo speciale - Router(router con funzione NAT) che abbia almeno due porte di rete: una connessa alla rete del provider, dotata di un'interfaccia di rete con un indirizzo IP instradato (il cosiddetto “IP bianco”), ad esempio 212.248.22.144, e una porta con un'interfaccia di rete per il collegamento di dispositivi di rete locale con un indirizzo IP privato e non instradabile, ad esempio 192.168.1.1 ("IP grigio"). Quando si creano connessioni da dispositivi di rete di rete locale a nodi di rete esterni, i pacchetti IP vengono inviati al router, che esegue la traduzione di indirizzi e porte in modo che l'indirizzo del mittente diventi il ​​suo indirizzo IP bianco. I risultati della traduzione vengono salvati e quando viene ricevuto un pacchetto di risposta, viene eseguita una traduzione inversa dell'indirizzo. Pertanto, il router garantisce l'inoltro dei pacchetti TCP/IP da qualsiasi dispositivo di rete locale alle reti esterne e l'inoltro di ritorno dei pacchetti di risposta ricevuti. Se però all’ingresso di un’interfaccia di rete collegata alla rete del provider viene ricevuto un pacchetto che non è correlato ai pacchetti di risposta TCP, per il software del router sono possibili le seguenti possibilità di reazione:

    Configurazione di rete per la modalità attiva

    In modalità attiva, la maggior parte del carico di configurazione avviene sul lato client. In modo che il server possa connettersi correttamente al client per aprire la connessione dati. Utilizzando queste due connessioni di comunicazione, due diverse modalità operative determinano in quale direzione vengono stabilite le connessioni: modalità attiva e modalità passiva.

    Un tipico firewall in esecuzione sul client vede questa richiesta di connessione di collegamento dal server come non richiesta e rilascia i pacchetti, causando il fallimento del trasferimento del file. Per impostazione predefinita, il server utilizza una porta disponibile nell'intervallo temporaneo.

    Il pacchetto viene ignorato perché non esiste alcun servizio di rete per elaborarlo.

    Il pacchetto viene ricevuto ed elaborato dal servizio di rete del router stesso, se tale servizio esiste ed è in attesa di una connessione in entrata ("ascolto") sulla porta il cui numero è indicato nel pacchetto ricevuto.

    Il pacchetto viene inoltrato a un server sulla rete locale che attende questo tipo di connessioni in entrata secondo le regole di mappatura delle porte specificate nelle impostazioni del router.

    Installazione e configurazione del server FTP FileZilla

    Apri un prompt dei comandi dell'amministratore. Questo documento spiega come utilizzare la modalità attiva o passiva per connettersi a un server File Transfer Protocol. Durante una tipica sessione in modalità attiva, la porta di comando utilizza la porta 21 e la porta dati utilizza la porta 21. Tuttavia, quando si utilizza la modalità passiva, la porta dati non utilizza sempre la porta.

    Le configurazioni di traduzione dell'indirizzo di rete bloccano questa richiesta di connessione. Potrebbe anche essere necessario aprire un intervallo passivo di porte sul firewall. Salvare le modifiche nel file di configurazione. . Esegui i seguenti comandi per consentire le connessioni attraverso l'intervallo di porte passive del firewall del tuo server.

    Pertanto, attualmente, la modalità operativa principale utilizzando il protocollo FTP è diventata la cosiddetta “modalità passiva”, in cui le connessioni TCP vengono effettuate solo dal client alla porta TCP del server. La modalità attiva viene utilizzata nei casi in cui è possibile connettere TCP dal server alle porte client, ad esempio quando si trovano sulla stessa rete locale. La modalità di connessione FTP viene selezionata utilizzando comandi speciali:

    Affinché questi cambiamenti siano permanenti, è necessario. Per rendere permanenti queste modifiche, è necessario aggiungere porte passive al file di configurazione. Gli aggiornamenti di sistema potrebbero sovrascrivere queste modifiche alla configurazione. . Questi problemi potrebbero somigliare a un firewall o ad altri problemi di connessione, anche se il firewall non esiste.

    Due modalità di trasferimento dati in FTP

    Per risolvere questi problemi, attenersi alla seguente procedura: Questo blog risponderà alla tua domanda senza lasciare alcun dubbio. La modalità attiva è la modalità predefinita, che in passato era l'unica. Funziona quando l'utente si connette da qualsiasi porta casuale per trasferire un file. Questo trasferimento di file collega il client alla porta 21 sul server. Il server si connette dalla porta 20 alla porta client, dedicata al canale dati.

    PASV- il client invia un comando per eseguire lo scambio dati in modalità passiva. Il server restituirà l'indirizzo e la porta a cui è necessario connettersi per ricevere o trasmettere dati. Esempio di un frammento di una sessione FTP con modalità passiva impostata:

    PASSV- comando per passare alla modalità passiva trasmesso dal client FTP al server FTP

    Problemi FTP nelle reti moderne

    Ora, una volta stabilita la connessione, i trasferimenti di file vengono stabiliti attraverso queste porte client e server. Ora diamo un'occhiata in modalità passiva. Questo comando funziona come una richiesta di connessione a un numero di porta. Non appena il client riceve la porta, viene immediatamente avviata una seconda connessione e vengono inviati i dati. Questa procedura funziona in tandem con un firewall configurato per utilizzare il port forwarding per una maggiore sicurezza. I dati verranno quindi inoltrati dalla porta del firewall alla porta del server.

    227 Accesso alla modalità passiva (212,248,22,144,195,89)- Risposta del server FTP, dove 227 è il codice di risposta, un messaggio di testo sul passaggio alla modalità passiva e tra parentesi l'indirizzo IP e il numero di porta che verranno utilizzati per creare un canale di trasmissione dati. L'indirizzo e il numero di porta vengono visualizzati come numeri decimali separati da una virgola. I primi 4 numeri sono l'indirizzo IP (212.248.22.144), i restanti 2 numeri specificano il numero di porta, che viene calcolato dalla formula: il primo numero viene moltiplicato per 256 e il secondo numero viene aggiunto al risultato, in questo esempio il numero di porta è 195 * 256 +89 = 50017

    Ciò impedisce al client di accedere direttamente al server. Ciò aiuterà ad aprire una connessione dati al client. Il client creerà quindi una connessione dati al server. Questo è un consiglio che i client non dovrebbero fare affidamento sui valori predefiniti perché questi valori non sono sicuri.

    Modalità FTP attiva e passiva

    Quando l'altro lato si connette al lato del segnale, avrà luogo la trasmissione dei dati. Una volta completato il trasferimento dei dati, la parte che ha avviato il trasferimento dei dati chiuderà la connessione dati, segnalando la fine del file. È necessario abilitare un intervallo di porte passivo nel firewall del server.

    PORT Numero di porta dell'indirizzo IP del client- il client invia un comando per stabilire una sessione in modalità attiva. L'indirizzo IP e il numero di porta sono specificati nello stesso formato dell'esempio precedente, ad esempio PORT 212.248.22.144,195,89 Per organizzare il trasferimento dei dati, il server stesso si connette al client sulla porta specificata.

    Installazione e configurazione del server FTP FileZilla.

    Puoi scaricare il pacchetto di installazione di FileZilla Server per la tua versione del sistema operativo su

    Spero che tutte le tue domande debbano trovare una risposta. Se avete altre domande a riguardo, fatecelo sapere. Viene stabilita una connessione dati da una porta temporanea sull'host del server a una porta temporanea sull'host client. In modalità passiva, sia le connessioni di controllo che quelle di dati vengono stabilite in uscita attraverso il firewall verso Internet. Connessione di controllo Connessione dati. . La modalità attiva è l'impostazione predefinita, ma in genere l'utente può passare alla modalità passiva.

    Modalità passiva avanzata La modalità passiva avanzata è molto simile alla modalità passiva. Il supporto utilizzato dipende dalla topologia della rete. L'amministratore del firewall deve aggiungere regole di filtro statiche per l'intervallo di dati passivi. In questo caso, dovresti utilizzare la modalità passiva avanzata. . Queste modalità sono chiamate standard e passive.

    L'installazione del server viene eseguita in modo standard, ad eccezione della voce in cui si selezionano le impostazioni per il pannello di controllo del server:

    Questo è lo strumento principale di gestione del server attraverso il quale vengono effettuate tutte le impostazioni necessarie. Per impostazione predefinita, la centrale funziona su un'interfaccia di loopback senza accesso tramite password. Se necessario, ad esempio se è richiesto il controllo remoto del server FTP, queste impostazioni possono essere modificate.

    Le configurazioni del firewall che forniscono accesso completo a tutte le porte temporanee per connessioni non richieste possono essere considerate non protette. L'utilizzo di una macro è il modo migliore per generare le regole sopra descritte. Ecco alcuni esempi.

    Risolvere il problema dell'indirizzo IP dinamico

    Il server viene eseguito dietro un gateway mascherato. Quando si verificano tali casi, vedrai un messaggio sulla console come questo. La mia soluzione è aggiungere la seguente regola. Se riscontri problemi con il tuo firewall, leggi attentamente questa sezione.

    Una volta completata l'installazione si aprirà una finestra di invito per connettersi al server:

    Dopo aver inserito l'indirizzo IP, il numero di porta e la password (se specificati durante il processo di installazione), si apre il pannello di controllo di FileZilla Server:


    Nella parte superiore della finestra sono presenti il ​​menu principale e i pulsanti del pannello di controllo. Di seguito sono presenti due aree: messaggi informativi sul server e informazioni statistiche. Nel complesso, il pannello di controllo FTP di FileZilla Server è abbastanza semplice e facile da usare. Voci del menu principale:

    Una volta stabilita la connessione, il client si autenticherà presso il server, quindi quella connessione sarà un client e il server "chiacchiererà" tra loro. Questa connessione non verrà utilizzata per trasferire file e per ogni file verrà stabilita una nuova connessione per trasferire i dati del file. Esistono due modi per aprire questi nuovi canali dati: attivo e passivo.

    Il server si connetterà quindi a questa porta dati del client utilizzando la propria porta dati locale, che è la porta. Il File Transfer Protocol è uno dei protocolli più antichi e più comunemente utilizzati oggi disponibili su Internet. Il suo scopo è trasferire file in modo sicuro tra computer su una rete senza richiedere all'utente di accedere direttamente all'host remoto o di sapere come utilizzare il sistema remoto. Consente agli utenti di accedere ai file su sistemi remoti utilizzando un set standard di semplici comandi.

    File- modalità operative del pannello di controllo del server FTP. Contiene sottovoci

    - Connettiti al server- connettersi al server
    - Disconnetti- disconnettersi dal server
    - Esentato- spegnimento del pannello di controllo.

    server- Gestione del server FTP. Contiene sottoparagrafi:

    - Attivo- avviare/arrestare il server FTP. Se la casella è selezionata, il server FTP viene avviato, se deselezionata viene arrestato.
    - Serratura- vietare/consentire connessioni al server. Quando la casella è selezionata, nuove connessioni al server sono vietate.

    Più porte, più modalità

    Questa porta viene utilizzata per inviare tutti i comandi al server. Tutti i dati richiesti dal server vengono restituiti al client tramite la porta dati. Il numero di porta per le connessioni dati e la modalità di inizializzazione delle connessioni dati variano a seconda che il client richieda dati in modalità attiva o passiva.

    Le seguenti modalità sono elencate di seguito. Questa convenzione significa che al computer client deve essere consentito accettare connessioni su qualsiasi porta. Con l'avvento di reti non sicure come Internet, l'uso di firewall per proteggere le macchine client è ormai comune.

    Modificare- modifica delle impostazioni. Sottovoci:

    - Impostazioni- impostazioni di base del server.
    - Utenti- Impostazioni utente del server FTP
    - Gruppi- impostazioni del gruppo utenti.

    Ad esempio, configuriamo il server per le seguenti condizioni:

  • il server è dietro NAT, ha un indirizzo IP privato, ma deve essere accessibile da Internet, supporta la modalità passiva e utilizza porte TCP non standard. L'uso di porte non standard riduce la probabilità di attacchi di hacker e inoltre alcuni provider utilizzano il filtraggio del traffico e bloccano le porte standard 20 e 21.
  • gli utenti hanno la possibilità di scaricare dal server, caricare sul server, eliminare e rinominare file e cartelle.
  • in caso di utilizzo di un indirizzo IP dinamico è necessario garantire la disponibilità del server tramite nome DNS.
  • il server funzionerà su una workstation in un ambiente operativo Windows 7/Windows 8.
  • In altre parole, è necessario creare un server FTP accessibile da Internet per lo scambio di file tra utenti, ovviamente gratuitamente. È abbastanza chiaro che oltre a creare la necessaria configurazione del server FTP stesso, dovrai modificare alcune impostazioni del router, le impostazioni del firewall di Windows e risolvere il problema di un indirizzo IP dinamico in modo che il server sia accessibile per nome, indipendentemente della modifica dell'indirizzo IP.

    Risolvere il problema dell'indirizzo IP dinamico.

    Il client si connette quindi a questa porta sul server per scaricare le informazioni richieste. Sebbene la modalità passiva elimini i problemi di comunicazione del firewall lato client durante la connessione ai dati, può rendere più difficile l'amministrazione del firewall lato server. Ciò semplifica anche il processo di configurazione delle regole del firewall per il server. Sezione 8 “Impostazioni di rete”. A seconda di alcune configurazioni di rete, questa modalità deve essere attiva o passiva.

    Come suggeriscono i nomi, il canale di comando viene utilizzato per trasmettere comandi e risposte a tali comandi, mentre il canale dati viene utilizzato per trasmettere dati. D'altra parte, la porta che utilizzerai per il collegamento dati potrebbe differire a seconda della modalità di trasferimento dati selezionata. Se selezioni la modalità attiva, il canale dati sarà solitamente una porta. Ma se selezioni la modalità passiva, la porta che verrà utilizzata sarà una porta casuale.

        Questo problema non richiede una soluzione nei casi in cui, quando ci si connette a Internet, viene utilizzato un indirizzo IP statico o dinamico, ma secondo le impostazioni del provider è quasi sempre lo stesso. Altrimenti, puoi utilizzare una tecnologia chiamata DNS dinamico (DDNS). Questa tecnologia consente di aggiornare le informazioni sull'indirizzo IP sul server DNS quasi in tempo reale e di accedere al router (e ai servizi dietro di esso) tramite il nome registrato, senza prestare attenzione ai cambiamenti nell'IP dinamico.

    Per implementare questa tecnologia gratuitamente, dovrai registrarti con alcuni servizi DNS dinamici e installare un software client per aggiornare il record DNS se l'indirizzo IP corrispondente cambia. Il supporto del DNS dinamico viene solitamente fornito dai produttori di apparecchiature di rete (D-Link, Zyxel, ecc.), da alcune società di hosting e specializzate, come la nota DynDNS. Tuttavia, dopo che nella seconda metà del 2014 tutti i servizi forniti gratuitamente agli utenti registrati per uso non commerciale sono diventati a pagamento, la soluzione più popolare, forse, è stata l'utilizzo del DNS dinamico basato sul servizio No-IP.org, che fornisce servizi di supporto gratuiti per 2 nodi con IP dinamico. Per utilizzare gratuitamente il servizio sarà necessario registrarsi e visitare periodicamente (circa una volta al mese) il sito per aggiornare le informazioni relative ai nodi IP dinamici utilizzati. Se si salta l'aggiornamento dei dati del nodo, il servizio verrà sospeso e, di conseguenza, diventerà impossibile connettersi al nodo per nome. Quando si utilizza il servizio a pagamento non è richiesto alcun aggiornamento.

        Quasi tutti i router (modem) moderni dispongono del supporto integrato per un client DNS dinamico. La sua configurazione è solitamente molto semplice: compili i campi con il nome utente e la password, nonché il nome host ricevuto al momento della registrazione al servizio DDNS. Esempio per Zyxel P660RU2


        L'utilizzo del client DDNS integrato nel router/modem è preferibile all'utilità di aggiornamento dei dati DNS in esecuzione nell'ambiente del sistema operativo, poiché consente di implementare funzionalità aggiuntive, come la gestione del router tramite Internet quando il computer è spento e accendere da remoto l'alimentazione ai computer dietro NAT utilizzando la tecnologia Sveglia su Lan.

    Nei casi in cui non è possibile utilizzare il client DDNS integrato, dovrai accontentarti del software applicativo, un programma client per supportare il DNS dinamico. Tale programma si connette periodicamente a un server che mantiene un nome di dominio registrato associato al router attraverso il quale viene effettuata la connessione Internet e richiama la procedura di aggiornamento IP quando cambia. Le impostazioni del server sono fatte in modo tale che il confronto tra il nome DNS e l'indirizzo IP della connessione Internet venga completato in brevissimo tempo e la natura dinamica dell'indirizzo non ha praticamente alcun effetto sulle prestazioni dei servizi associati a il nome DNS.

    E in effetti, tutto è semplice quando si sa cosa sta succedendo... per chi ha voglia di capire, leggere la sezione "teoria" qui sotto, per il resto, "guida" in immagini per l'installazione, usando un esempio Zyxel Keenetic II Giga(firmware V2) e Server G6FTP su uno dei computer della rete domestica.

    Quando si lavora utilizzando il protocollo FTP, vengono stabilite due connessioni tra il client e il server: una connessione di controllo (tramite essa vengono inviati i comandi) e una connessione dati (tramite essa vengono trasferiti i file). La connessione di controllo è la stessa per la modalità attiva e passiva. Il client avvia una connessione TCP dalla porta dinamica (1024-65535) alla porta numero 21 sul server FTP e dice “Ciao! Voglio connettermi con te. Ecco il mio nome e la mia password." Ulteriori azioni dipendono dalla modalità FTP (attiva o passiva) selezionata.
    Modalità attiva. Quando un cliente dice "Ciao!" comunica inoltre al server un numero di porta (da un intervallo dinamico di 1024-65535) in modo che il server possa connettersi al client per stabilire una connessione dati. Il server FTP si connette al numero di porta del client specificato, utilizzando la porta TCP numero 20 per il trasferimento dei dati. Per il cliente, tale connessione è in entrata. Pertanto, lavorare in modalità attiva con client situati dietro un firewall o NAT è spesso difficile o richiede impostazioni aggiuntive.
    Modalità passiva. In modalità Passiva, dopo che il client dice "Ciao!", il server comunica al client il suo indirizzo IP e il numero di porta TCP (dall'intervallo dinamico 1024-65535) a cui può connettersi per stabilire una connessione dati. Nel seguito le chiameremo porte passive. In questo caso, come è facile vedere, le porte in tale connessione, sia lato client che lato server, risultano arbitrarie. In modalità passiva, il client può facilmente lavorare con il server attraverso il suo firewall, ma spesso affinché il server supporti la modalità passiva, il firewall deve essere configurato di conseguenza sul lato server.

    La differenza principale tra la modalità FTP attivo e la modalità FTP passivo è il lato che apre la connessione per il trasferimento dei dati. In modalità attiva, il client deve essere in grado di accettare questa connessione dal server FTP. In modalità Passiva, il client avvia sempre questa connessione da solo e il server deve accettarla.

    La modalità FTP passiva è progettata per connettere i client situati dietro il firewall. Nelle reti domestiche, questa modalità operativa dovrebbe essere la modalità principale del server FTP se si desidera che gli utenti non abbiano problemi con l'accesso.

    Ora esercitati con le immagini.

    Per prima cosa colleghiamo il computer all'IP, nel mio caso è 10.0.0.100


    quindi configurare le porte ftp standard

    e aggiungere porte per lavorare in modalità passiva


    3 risposte

    Attiva e passiva sono le due modalità attraverso le quali l'FTP può operare. FTP utilizza due canali tra client e server, un canale di comando e un canale di dati, che in realtà sono connessioni TCP separate. Il canale di comando è per comandi e risposte, il canale dati è per il trasferimento di file effettivo. Questo è un ottimo modo per inviare comandi al server senza attendere il completamento del trasferimento dei dati corrente.

    In modalità attiva, il client stabilisce un canale di comando (dalla porta X del client alla porta 21(b) del server), ma il server stabilisce un canale di dati (dalla porta 20(b) del server alla porta Y del client, dove Y è stata fornita dal cliente).

    In modalità passiva, il client stabilisce entrambi i canali. In questo caso il server comunica al client quale porta deve essere utilizzata per il canale dati.

    La modalità passiva viene generalmente utilizzata in situazioni in cui il server FTP non è in grado di stabilire un canale dati. Uno dei motivi principali di ciò sono i firewall di rete. Anche se potresti avere una regola del firewall che ti consente di aprire canali FTP su ftp.microsoft.com, i server Microsoft potrebbero non essere in grado di aprire un canale dati attraverso il firewall.

    La modalità passiva risolve questo problema aprendo entrambi i tipi di canali sul lato client. Per renderlo più chiaro in modo affidabile:

    Modalità attiva:

    • Il client invia PORT 2001(a) al server e il server riconosce nel canale di comando.
    • Il server apre un canale dati dalla porta 20 (b) del server alla porta 2001 (a) del client.
    • Il client conferma il canale dati.

    Modalità passiva:

    • Il client apre un canale di comando dalla porta client 2000(a) alla porta 21(b) del server.
    • Il client invia PASV al server nel canale di comando.
    • Il server invia indietro (nel canale di comando) PORT 1234(a) dopo aver iniziato ad ascoltare su quella porta.
    • Il client apre un canale dati dal client 2001(a) alla porta del server 1234(a).
    • Il server conferma il canale dati.

    A questo punto i comandi e i canali dati sono aperti.

    (a) Si noti che la selezione delle porte lato client è specifica del client, poiché la selezione della porta di collegamento dati del server in modalità passiva è specifica del server.

    (b) Va inoltre notato che l'uso delle porte 20 e 21 è solo condizionato (anche se forte). Non esiste un requisito assoluto che queste porte vengano utilizzate, sebbene il client e il server debbano concordare quali porte utilizzare. Ho visto implementazioni che cercano di nascondersi dai client che utilizzano porte diverse (inutile, secondo me).

    Recentemente ho riscontrato questo problema sul posto di lavoro, quindi credo che dovrei dire qualcosa di più qui. Utilizzerò un'immagine per spiegare come funziona FTP come fonte complementare alla risposta precedente.

    Modalità attiva:

    Modalità passiva:

    In una configurazione in modalità attiva, il server tenterà di connettersi a una porta client casuale. Molto probabilmente, questa porta non sarà una di quelle porte predefinite. Di conseguenza, un tentativo di connessione verrà bloccato dal firewall e la connessione non verrà stabilita.

    Una configurazione passiva non presenterà questo problema poiché il client sarà l'iniziatore della connessione. Naturalmente anche il lato server può avere un firewall. Tuttavia, poiché si prevede che il server riceva un numero maggiore di richieste di connessione rispetto al client, sarebbe logico che l'amministratore del server si adattasse alla situazione e aprisse una selezione di porte per accogliere le configurazioni della modalità passiva.

    Quindi, sarebbe meglio configurare il server per supportare FTP con modalità passiva. Tuttavia, la modalità passiva renderà il tuo sistema vulnerabile agli attacchi perché i client devono connettersi a server casuali. Quindi, per supportare questa modalità, non solo il tuo server deve avere più porte disponibili, ma anche il tuo firewall deve consentire connessioni a tutte quelle porte!

    Per ridurre i rischi, una buona soluzione sarebbe quella di specificare un intervallo di porte sul server e quindi consentire solo quell'intervallo di porte sul firewall.

    Per ulteriori informazioni, consulta il white paper.

    Una versione ridotta del mio articolo Modalità di connessione FTP (attiva vs passiva):

    La modalità di connessione FTP (attiva o passiva) determina il modo in cui viene stabilita la connessione dati. In entrambi i casi, il client crea una connessione di controllo TCP alla porta 21 del server FTP. Si tratta di una connessione in uscita standard, proprio come qualsiasi altro protocollo di trasferimento file (SFTP, SCP, WebDAV) o qualsiasi altra applicazione client TCP (come un browser web). Pertanto di solito non si verificano problemi quando si apre una connessione di controllo.

    Dove FTP è più complesso di altri protocolli di trasferimento file è il trasferimento file. Mentre altri protocolli utilizzano la stessa connessione per la gestione delle sessioni e il trasferimento di file (dati), il protocollo FTP utilizza una connessione separata per il trasferimento di file e directory.

    In modalità attiva, il client inizia ad ascoltare su una porta casuale le connessioni dati in entrata dal server (il client invia il comando FTP PORT per indicare al server su quale porta è in ascolto). Al giorno d'oggi è tipico che il client sia dietro un firewall (come il firewall integrato di Windows) o un router NAT (come un modem ADSL), incapace di accettare connessioni TCP in entrata.

    Per questo motivo è stata introdotta la modalità passiva, oggi utilizzata principalmente. L'uso della modalità passiva è preferibile perché la configurazione più complessa viene eseguita solo una volta sul lato server, da un amministratore esperto, piuttosto che individualmente sul lato client, da utenti (possibilmente) inesperti.

    In modalità passiva, il client utilizza una connessione di controllo per inviare un comando PASV al server e quindi riceve l'indirizzo IP e il numero di porta del server dal server, che il client utilizza quindi per aprire una connessione all'indirizzo IP del server e alla porta del server numero.

    Configurazione di rete per la modalità passiva

    In modalità passiva, la maggior parte del carico di configurazione avviene sul lato server. L'amministratore del server deve configurare il server come descritto di seguito.

    Il firewall e il NAT sul lato server FTP devono essere configurati non solo per consentire/instradare le connessioni in entrata alla porta FTP 21, ma anche su un numero di porte per le connessioni dati in entrata. In genere, il software del server FTP dispone di un'opzione di configurazione per configurare l'intervallo di porte che verranno utilizzate dal server. E lo stesso intervallo deve essere aperto/instradato sul firewall/NAT.

    Quando il server FTP è dietro un NAT, deve conoscere il suo indirizzo IP esterno in modo da poterlo fornire al client in risposta al comando PASV.

    Configurazione di rete per la modalità attiva

    In modalità attiva, la maggior parte del carico di configurazione avviene sul lato client.

    Il firewall (ad esempio Windows Firewall) e il NAT (ad esempio le regole di routing del modem ADSL) sul lato client devono essere configurati per consentire/instradare una serie di porte per le connessioni dati in entrata. Per aprire le porte in Windows, vai su Pannello di controllo > Sistema e sicurezza > Windows Firewall > Impostazioni avanzate > Regole in entrata > Nuova regola. Per instradare le porte al NAT (se presente), fare riferimento alla relativa documentazione.

    Quando NAT è sulla tua rete, il client FTP deve conoscere il suo indirizzo IP esterno, che WinSCP deve fornire al server FTP utilizzando il comando PORT. In modo che il server possa connettersi correttamente al client per aprire la connessione dati. Alcuni client FTP possono rilevare automaticamente l'indirizzo IP esterno, altri devono essere configurati manualmente.

    Firewall intelligente/NAT

    Alcuni firewall/NAT tentano di aprire/chiudere automaticamente le porte dati controllando la connessione alla connessione FTP e/o traducendo gli indirizzi IP della connessione dati in traffico di connessione di controllo.

    Quando si utilizza un firewall/NAT di questo tipo, la configurazione di cui sopra non è necessaria per un FTP semplice non crittografato. Ma questo non può funzionare con FTPS perché il traffico della connessione di controllo è crittografato e il firewall/NAT non può ispezionarlo e modificarlo.

    I migliori articoli sull'argomento