Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Recenzii
  • Modul pasiv Ftp care porturi. Schimbați modul client FTP în Internet Explorer

Modul pasiv Ftp care porturi. Schimbați modul client FTP în Internet Explorer

Protocolul de transfer de fișiere, standardizat pentru prima dată la începutul anilor 1970, este un protocol de nivel de aplicație care utilizează protocolul de transport TCP pentru a transfera date. FTP a fost dezvoltat într-o perioadă în care clienții și serverele comunicau direct între ele, fără intermediari și cu un minim de obstacole.

Probleme FTP în rețelele moderne

În rețelele moderne (NAT, firewall, load balancer), următoarele caracteristici ale FTP îl împiedică să funcționeze corect:

  1. Două conexiuni TCP/IP separate: pentru transmiterea datelor și pentru transmiterea comenzilor;
  2. Conexiunea de date poate fi stabilită pe un număr de port aleatoriu;
  3. Conexiunea de date poate fi de la server la client sau de la client la server;
  4. Adresa de destinație a conexiunii de date (selectarea modului de operare) se negociază din mers între client și server prin conexiunea de comandă;
  5. Conexiunea de comandă este inactivă în timp ce datele sunt transferate prin conexiunea de date.

Problema 1 este cauzată de faptul că ruterul sau echilibratorul de sarcină trebuie să mențină două conexiuni între aceeași sursă și receptor.

Problema 2 este cauzată de faptul că FTP nu poate funcționa dacă porturile de intrare sunt strict limitate doar la cele cunoscute. Acestea. în modul normal, FTP nu poate funcționa numai când cele 21 de porturi de intrare sunt deschise, care este folosit de conexiune pentru transferul comenzilor, are nevoie și de un set de porturi deschise de mare valoare (49152-65534) pentru transferul de date.

Problema 4 este cauzată de faptul că, atunci când se utilizează NAT, trebuie să schimbe din mers conținutul pachetelor de conexiune pentru transmiterea comenzii pentru a înlocui adresa serverului intern cu cea externă și, de asemenea, redirecționează pachetele care sosesc către cea externă. adresa la adresa serverului intern.

Problema 5 este cauzată de faptul că dispozitivele de rutare pot întrerupe conexiunile „atârnate” pentru a transmite comenzi.

Două moduri de transfer de date către FTP

FTP acceptă două moduri de operare: activ și pasiv. Ele diferă prin mecanismul de stabilire a conexiunii de date:

  • În modul activ, serverul se conectează de la al 20-lea port la portul client specificat.
  • În modul pasiv, clientul se conectează de la portul său aleatoriu la portul de server specificat.

Astfel, toți clienții FTP moderni negociază cu serverul de la cine sunt transmise datele și cine inițiază conexiunea. Clientul poate specifica utilizarea modul activ prin trimiterea comenzii „PORT”, care va spune serverului să se conecteze la un anumit IP și port al clientului și să înceapă să trimită date. Sau clientul poate folosi modul pasiv prin trimiterea unei comenzi „PASV” către server, care va spune serverului că clientul se așteaptă ca IP-ul și portul serverului să înceapă să primească date.

Deoarece clientul se conectează inițial la server pentru a stabili o conexiune pentru transmiterea comenzilor, ar fi logic ca clientul să stabilească și conexiunea de date, adică. trimitea comanda PASV (în timp ce remediam problema dintre FTP și firewall). Cu toate acestea, nu este cazul, creatorii specificației FTP din anumite motive au decis că modul preferat ar trebui să fie PORT, iar suportul pentru PASV pe partea clientului este chiar opțional.

FTP acceptă autentificare și acces prin parolă, dar nu este sigur. sunt transmise în text clar. Când utilizați un browser web, puteți trece direct la adresa URL.

Ftp: // :@:/

Un exemplu de sesiuni care utilizează moduri de transfer de date active și pasive

Un exemplu de mod activ, în care clientul se conectează anonim și efectuează un transfer de date activ (scanare director).

Client: UTILIZATOR anonim
Server:
Client: TRECE [email protected]
Server: 230 Conectat anonim.
Client: PORT 192,168,1,2,7,138 Clientul dorește ca serverul să se conecteze la portul 1930 și adresa IP este 192.168.1.2.
Server: 200 Comandă PORT reușită.
Client: LISTĂ
Server: 150 Deschiderea conexiunii de date în modul ASCII pentru / bin / ls. Serverul se conectează de la portul 21 la portul 1930 și adresa IP 192.168.1.2.
Server: 226 Listare finalizată. Datele au fost transferate cu succes.
Client: PĂRĂSI
Server: 221 La revedere.

Exemplu mod pasiv

Client: UTILIZATOR anonim
Server: 331 Autentificare invitat ok, trimiteți adresa dvs. de e-mail ca parolă.
Client: TRECE [email protected]
Server: 230 Conectat anonim.
Client: PASV Clientul solicită serverului datele de conectare.
Server: 227 Intrarea în modul pasiv
(172,16,3,4,204,173)
Serverul îi răspunde clientului că trebuie să se conecteze la portul 52397 și la adresa IP 172.16.3.4.
Client: LISTĂ
Server: 150 Conexiune de date acceptată de la
172.16.3.4:52397; începerea transferului.
Clientul conectat la server pe portul 52397 și adresa IP 172.16.3.4.
Server: 226 Listare finalizată. Datele au fost transferate cu succes.
Client: PĂRĂSI
Server: 221 La revedere.

Probleme speciale:

    Modul PORT - client FTP în spatele NAT sau firewall

    Cea mai mare problemă cu care se confruntă clienții FTP care utilizează modul activ este că serverul trebuie să se conecteze la adresa IP a clientului. Dacă există un firewall în calea sa, întrerupând toate conexiunile de intrare, sesiunea FTP va eșua. O altă problemă este dacă clientul este în spatele NAT și folosește o adresă IP internă. Raportând adresa sa internă către server, clientul îl condamnă la imposibilitatea conectării.

    Soluția 1: clientul FTP trebuie configurat să utilizeze modul pasiv.

    Soluția 2. Configurarea NAT pentru snooping conexiuni FTP. Când clientul este în modul activ, dispozitivul NAT trebuie să rescrie adresa internă a clientului și să o înlocuiască cu adresa externă a dispozitivului. Apoi conexiunea pentru transferul de date de la serverul FTP care ajunge la adresa externă a dispozitivului NAT va fi redirecționată către adresa internă a clientului FTP din spatele NAT.

    Modul PASV - server FTP în spatele unui firewall

    Când serverul FTP se află în spatele unui firewall, clienții vor întâmpina probleme în utilizarea modului pasiv pentru a se conecta la portul efemer al serverului FTP. Cea mai frecventă problemă este atunci când firewall-ul în spatele căruia se află serverul FTP permite doar un număr de conexiuni la porturi cunoscute și blochează altele.

    Soluția 1: Administratorul poate deschide un grup de porturi pe firewall prin care se poate face o conexiune la serverul FTP.

    Soluția 2: Dacă există suport de la firewall, administratorul poate configura astfel încât porturile să fie deschise automat pentru a stabili o conexiune pasivă la serverul FTP. Această setare este similară cu ceea ce a fost descris pentru un client activ din spatele NAT. Astfel, atunci când firewall-ul monitorizează răspunsul serverului FTP la o cerere pasivă de client, acesta deschide temporar portul specificat în răspuns și numai pentru IP-ul de la care a provenit cererea pasivă.

    Modul PASV - server FTP din spatele NAT

    În modul PASV FTP, serverul răspunde clientului cu adresa IP și portul său intern, ceea ce condamnă clientul la incapacitatea de a se conecta.

    Soluția 1: Configurați NAT pentru conexiunile FTP de snooping pentru transferul de date. Când serverul trimite un răspuns pasiv, dispozitivul NAT trebuie să rescrie adresa internă a serverului și să o înlocuiască cu adresa externă a dispozitivului. Apoi conexiunea pentru transferul de date de la clientul FTP, care ajunge la adresa externă a dispozitivului NAT, va fi redirecționată de acesta către adresa internă a serverului FTP din spatele NAT.

    Modul PASV - server FTP în spatele unui echilibrator de încărcare

    Echilibratorul este o adresă IP, conexiunea către care va fi redirecționată către unul dintre serverele echilibrate. Echilibratorul prezintă două probleme pentru FTP. Prima se datorează faptului că între serverul FTP și client se stabilesc mai multe conexiuni: una pentru transferul comenzilor și una sau mai multe pentru transferul datelor. În modul pasiv, echilibratorul de încărcare trebuie să redirecționeze conexiunea de date către același server ca și conexiunea de comandă. A doua problemă este o consecință a primei: atunci când serverul FTP răspunde cu un răspuns pasiv, acest răspuns va conține adresa internă a serverului FTP, nu adresa externă a echilibrantului.

    Soluție 1. Atribuiți o adresă IP legitimă accesibilă din exterior fiecărui server FTP din spatele echilibratorului. În acest caz, serverul FTP va putea deservi în mod independent clienții FTP în modul pasiv, ocolind echilibratorul.

    Soluția 2. Configurarea echilibratorului pentru a monitoriza conexiunile FTP pentru transferul de date. Când serverul trimite un răspuns pasiv, echilibratorul trebuie să rescrie adresa internă a serverului și să o înlocuiască cu adresa externă a echilibrantului. Apoi conexiunea pentru transferul de date de la clientul FTP, care ajunge la adresa externă a echilibratorului, va fi redirecționată de acesta către adresa internă a serverului FTP din spatele echilibratorului.

    Soluția 3. Configurați serverul FTP astfel încât răspunsurile sale în modul pasiv să conțină adresa externă a echilibrantului, nu a serverului și speră că echilibratorul va redirecționa conexiunea către serverul în așteptare.

    Problemă de nerezolvat - firewall-uri la ambele capete

    Când clientul și serverul sunt ambele în spatele firewall-urilor care restricționează toate conexiunile de intrare, cu excepția unui grup de porturi cunoscute, încep problemele. Clientul nu poate folosi modul activ, deoarece serverul nu se va putea conecta la el și nu poate folosi modul pasiv, deoarece nu vă conectați la serverul FTP.
    În acest caz, trebuie să modificați setările paravanului de protecție și este mai bine să faceți acest lucru pe partea de server.

    Server FTP pe un port non-standard

    Unele dispozitive de rutare sunt capabile să gestioneze sesiuni FTP numai dacă ajung pe portul standard al serverului. Prin urmare, dacă serverul FTP ascultă pe un port non-standard, trebuie să configurați dispozitivul de rutare astfel încât să știe că există un server FTP în spatele acestui port și să gestioneze corect conexiunile.

    Chiar și așa, un firewall pe partea clientului poate sta în cale. Acest lucru se poate întâmpla dacă firewall-ul de pe partea client necesită în mod rigid ca conexiunea de date FTP de la serverul FTP să provină pe portul 20 (în modul activ). Dacă serverul FTP rulează pe portul N, atunci, conform specificațiilor FTP, conexiunile sale de date vor proveni din portul N - 1 și sunt blocate de firewall-ul clientului.

    Probleme cauzate de firewall-urile care încheie prematur sesiunile FTP

    Această problemă este cea mai frecventă la transferul unui fișier mare. Când parametrii de conectare au fost conveniți și transferul a început, conexiunea de comandă va fi inactivă până când transferul fișierului este complet. Dacă routerul nu știe despre FTP și transferul de fișiere durează mai mult decât contorul de activitate a conexiunii de pe acesta, conexiunea din punctul de vedere al routerului va expira și se va termina, iar pachetele primite vor fi abandonate.

    Soluția la această problemă este un dispozitiv care menține conexiunea pentru transmiterea comenzilor în stare activă, deși nu au fost transmise pachete peste el de mult timp. O altă opțiune este să activați funcția „Keep Alive” în stiva de protocol TCP/IP pe partea client sau server, care trimite un pachet de verificare a disponibilității la anumite intervale, iar dacă partea de destinație nu răspunde, închide conexiunea normal. Dacă partea de recepție răspunde, atunci conexiunea din partea firewall va fi considerată activă.

  • Utilizați modul pasiv ori de câte ori este posibil (implicit în browserele web)
  • Dacă conexiunea la serverul FTP are succes, dar navigarea în director sau transferul de fișiere se termină cu o deconectare, problema este cel mai probabil cu temporizatoarele de activitate de conectare de pe firewall.
  • Utilizați dispozitive care acceptă funcții FTP

FTP (File Transfer Protocol) este unul dintre cele mai arhaice protocoale de transfer de date. A fost creat înainte de HTTP acum peste 40 de ani. Cu toate acestea, tehnologia „FTP client-server” și „server-server”, care este ușor de utilizat și nu necesită nicio întreținere specială, încă servesc ca un mijloc fiabil de organizare a fluxului de lucru intern, crearea de arhive cu mai mulți utilizatori pe rețelele LAN corporative și distribuție gratuită de software, multimedia, documente și materiale pe World Wide Web.

Serverul FTP poate fi implementat pe orice dispozitiv de rețea cu o matrice de discuri pentru stocarea unor cantități mari de informații sau pe un computer obișnuit. La conectarea la server, se fac schimb de comenzi de control, timp în care se stabilește autorizarea (dacă este prevăzută), atribuirea portului, definirea regulilor de schimb și apoi se stabilește o conexiune de date. Să lăsăm deoparte bazele teoretice ale interacțiunii dintre un server și un computer local prin FTP. Acest proces se desfășoară în unul dintre cele două moduri, activ și pasiv. Care sunt diferențele lor? Când modul este activ, clientul trimite cereri către server pentru conectare, iar conexiunea este realizată de către server. În modul pasiv, atât comenzile de control, cât și conexiunea de date sunt inițiate doar de client.

Modul pasiv este necesar atunci când computerul clientului este situat într-o rețea locală securizată. Majoritatea browserelor acceptă protocolul FTP și vă permit să vă conectați, să vizualizați și să copiați date de pe servere la distanță. De exemplu, în Internet Explorer puteți introduce „Adresa IP server” în bara de adrese ftp: // sau puteți găsi link-uri ale celor mai populare stocări de fișiere folosind FileSearch. Pe fila / „Opțiuni Internet / Avansat” / puteți activa utilizarea modului FTP pasiv.

Nu sunt necesare setări speciale în browserul „Mozilla Firefox”. „Total Comander” și „Far” au un client FTP încorporat. Aici, atunci când creați o nouă conexiune, trebuie să specificați suplimentar un nume de utilizator și o parolă. Pentru a deschide servere, autentificarea implicită este „anonim”, iar parola este adresa căsuței dvs. poștale.

Toate „rockerele” cunoscute de la FlashGet (mod pasiv implicit) la ReGet Deluxe (mod activ implicit) au un sistem de detectare automată a scenariilor de conectare și încărcare și sunt echipate și cu diverse acceleratoare suplimentare pentru a accelera procesul de descărcare. De obicei, puteți activa sau dezactiva modul pasiv atunci când creați o nouă conexiune în filele FTP.

Pentru clienții care lucrează în modul de partajare a fișierelor în mod constant sau destul de des, este necesar să se instaleze un manager FTP. Este un program din seria FileZilla, CuteFTP, SmartFTP, FTP Voyager etc. , care poate fi găsit și în domeniul public pe Internet. Aceste programe vă permit să vă reglați fin conexiunea la un server FTP la distanță. Sunt de neînlocuit atunci când se lucrează cu servere care funcționează doar în „mod activ”, deoarece chiar dacă clientul nu are o adresă IP statică, programul o poate emula pe toată durata sesiunii.

Cel mai popular în rândul utilizatorilor vorbitori de limbă rusă este programul gratuit cu sursă deschisă FileZilla. Acest program este ușor de instalat, are o interfață clară în limba rusă. Există mai multe opțiuni pentru configurarea conexiunilor. Setări generale - Meniu / Editare / Setări /. sunt executate într-o formă arborescentă și afectează setările tuturor modulelor disponibile. În aceeași secțiune a meniului, puteți trece la asistentul pentru crearea unei conexiuni, unde parametrii de conectare vor fi oferiți pas cu pas la alegerea unui mod activ sau pasiv. Unele servere FTP oferă să descărcați fișiere mici script de conexiune pe care le puteți importa în program și să creați o conexiune persistentă gata făcută.

Și, în sfârșit, printre comenzile de consolă a sistemului de operare Windows, este acceptată comanda ftp.exe, care oferă posibilitatea de a se conecta „manual” la un server FTP prin introducerea comenzilor de consolă (protocolul acceptă 25 de comenzi). Utilizarea și sintaxa introducerii acestor comenzi ar trebui să fie bine cunoscute și stăpânite, dar acest lucru va necesita anumite abilități și experiență de programare.

Când se lucrează prin FTP, se stabilesc două conexiuni între client și server - una de control (comenzile sunt trimise prin intermediul acestuia) și o conexiune de transfer de date (fișierele sunt transferate prin aceasta).
Conexiunea de control este aceeași pentru Activși Pasiv regim. Clientul inițiază o conexiune TCP de la un port dinamic (1024-65535) la portul 21 de pe serverul FTP și spune „Bună! Vreau să mă conectez la tine. Iată numele meu și parola mea.” Acțiunile suplimentare depind de modul FTP (activ sau pasiv) selectat.

În modul activ când clientul spune „Bună ziua!” de asemenea, îi spune serverului numărul portului (dintr-un interval dinamic de 1024-65535), astfel încât serverul să se poată conecta la client pentru a stabili o conexiune de date. Serverul FTP se conectează la numărul portului client specificat utilizând numărul portului TCP 20 pentru transferul de date.

În modul pasiv, după ce clientul spune „Bună ziua!”, serverul îi spune clientului numărul portului TCP (din intervalul dinamic 1024-65535) la care se poate conecta pentru a stabili o conexiune de date.

Principala diferențăîntre modul FTP activ și modul FTP pasiv este partea care deschide conexiunea de date... În modul activ, clientul trebuie să accepte conexiunea de la serverul FTP. În modul pasiv, clientul inițiază întotdeauna o conexiune.

Comenzi de bază

ABOR - Anulează transferul fișierului
CDUP - Schimbați directorul în amonte.
CWD - Schimbați directorul.
DELE - Șterge fișierul (DELE nume fișier).
EPSV - Intrați în modul pasiv avansat. Folosit în loc de PASV.
AJUTOR - Afișează o listă de comenzi acceptate de server.
LIST - Returnează o listă de fișiere dintr-un director. Lista este transferată printr-o conexiune de date.
MDTM - Returnează ora de modificare a unui fișier.
MKD - Creați director.
NLST - Returnează o listă de fișiere director într-un format mai concis decât LIST. Lista este transferată printr-o conexiune de date.
NOOP - Operare gol
PASV - Intrați în modul pasiv. Serverul va returna adresa și portul la care trebuie să vă conectați pentru a prelua datele. Transmisia va începe când introduceți următoarele comenzi: RETR, LIST etc.
PORT - Intrați în modul activ. De exemplu PORT 12,34,45,56,78,89. Spre deosebire de modul pasiv, pentru transferul de date, serverul însuși se conectează la client.
PWD - Returnează directorul curent.
QUIT - Deconectați-vă
REIN - Reinițializați conexiunea
RETR - Descărcați fișierul. RETR trebuie să fie precedat de o comandă PASV sau PORT.
RMD - Eliminați directorul
RNFR și RNTO - Redenumiți fișierul. RNFR - ce să redenumim, RNTO - ce.
SIZE - Returnează dimensiunea fișierului
STOR - Încărcați fișierul. STOR trebuie să fie precedat de o comandă PASV sau PORT.
SYST - Returnează tipul de sistem (UNIX, WIN, ...)
TYPE - Setați tipul de transfer al fișierului (binar, text)
UTILIZATOR - Nume de utilizator pentru a vă conecta la server

Lista completă a codurilor de răspuns ale serverului FTP

100 Acțiunea solicitată a fost inițiată, vă rugăm să așteptați următorul răspuns înainte de a executa o nouă comandă.
110 Comentariu
120 Funcția va fi implementată în nnn minute
125 Canal deschis, schimbul de date a început
150 Starea fișierului este corectă, pregătirea pentru deschiderea unui canal
200 Comanda corectă
202 Comanda nu este acceptată
211 Starea sistemului sau răspuns la întrebare
212 Stare director
213 Stare fișier
214 Ajutor mesaj explicativ
215 Afișat împreună cu informații despre sistem pe comanda SYST.
220 Serviciul este pregătit pentru un utilizator nou.
221 Închideți cu succes.
Canalul 225 este format, dar nu există schimb de informații
226 Închideți canalul, schimbul a fost finalizat cu succes
227 Trecerea în modul pasiv (h1, h2, h3, h4, p1, p2).
228 trecerea la modul pasiv lung (adresă lungă, port).
229 Comutați în modul pasiv extins (||| port |).
230 Utilizator identificat, continuați
231 Sesiune utilizator încheiată; Serviciul a fost întrerupt.
232 Comanda de sfârșit de sesiune a primit și se va finaliza când transferul fișierului este finalizat.
250 Solicitarea a avut succes
257 „CALEA” este creată.
331 Numele de utilizator este corect, este necesară parola
332 Conectarea necesită autentificare
350 Acțiunea solicitată asupra dosarului necesită mai multe informații.
404 Serverul la distanță dat nu a fost găsit.
421 Procedura nu este posibilă, canalul este închis.
425 Deschiderea canalului de informare nu este posibilă.
426 Canal închis, schimb întrerupt
434 Gazda solicitată nu este disponibilă.
450 Funcția solicitată nu este implementată, fișierul nu este disponibil, de exemplu, ocupat
451 Eroare locală, operațiune anulată
452 Eroare la scrierea fișierului (spațiu insuficient)
500 Eroare de sintaxă, comanda nu poate fi interpretată (poate fi prea lungă).
501 Eroare de sintaxă (parametru sau argument nevalid).
502 Comanda nu este utilizată (tip MOD ilegal)
503 Secvență de comandă nevalidă
504 Comanda nu se aplică pentru acest parametru.
530 Conectarea nu a reușit! Este necesară autorizarea (nu autentificat)
532 Este necesară autentificarea pentru a reține fișierul
550 Funcția solicitată nu este implementată, fișierul nu este disponibil, de exemplu, nu a fost găsit.
551 Operația solicitată a fost întreruptă. Tip de pagină necunoscut.
552 Operația solicitată a fost întreruptă. Nu este suficientă memorie alocată
553 Operațiunea solicitată nu a fost acceptată. Nume invalid.

24.06.2018

& nbsp & nbsp Abreviere FTP vine din engleză F ile T transfer P rotocol (File Transfer Protocol) este un protocol de nivel de aplicație pentru schimbul de fișiere prin protocolul de transport TCP/IP între două computere, un client FTP și un server FTP. Este unul dintre cele mai vechi și, totuși, încă utilizate în mod activ protocol.

Protocolul FTP este conceput pentru a rezolva următoarele sarcini:

  • acces la fișiere și directoare de pe gazde la distanță
  • asigurarea independenței clientului față de tipul de sistem de fișiere al computerului la distanță
  • transmisie fiabilă a datelor
  • utilizarea resurselor sistemului de la distanță.
  • Protocolul FTP acceptă două canale de conexiune simultan - unul pentru transfer echipeși rezultatele implementării lor, cealaltă pentru schimb date... Cu setările standard, serverul FTP folosește portul TCP 21 pentru a stabili un canal pentru transmiterea și primirea comenzilor și portul TCP 20 pentru a stabili un canal pentru primirea/transmiterea datelor.

    Serverul FTP ascultă conexiunile de la clienții FTP pe portul TCP 21 și, după stabilirea unei conexiuni, primește și procesează comenzi FTP care sunt șiruri de text simplu. Comenzile definesc parametrii de conectare, tipul de date transferate și acțiunile cu privire la fișiere și directoare. După ce a convenit asupra parametrilor de transmisie, unul dintre participanții la schimb devine pasiv, așteptând conexiunile de intrare pentru canalul de schimb de date, iar al doilea stabilește o conexiune la acest port și începe transmisia. Când transferul este complet, conexiunea de date este închisă, dar conexiunea de control rămâne deschisă, permițând sesiunii FTP să continue și să fie creat un nou transfer de date.

    Poate funcționa în modul activ sau pasiv, ceea ce determină modul în care se stabilește conexiunea de date. Prin urmare, de obicei nu există nicio problemă la deschiderea conexiunii de control. În modul activ, clientul începe să asculte pe un port aleatoriu pentru conexiunile de date primite de la server.

    Din acest motiv, a fost introdus modul pasiv și este utilizat în prezent cu precădere. Utilizarea modului pasiv este de preferat deoarece cea mai mare parte a configurației complexe este efectuată o singură dată pe partea serverului de către un administrator cu experiență, mai degrabă decât individual pe partea client de către utilizatori neexperimentați.

    FTP poate fi folosit nu numai pentru a transfera date între un client și un server, ci și între două servere. În acest caz, clientul FTP stabilește o conexiune de control cu ​​ambele servere FTP, comută unul dintre ele în modul pasiv, iar al doilea la activ, creând un canal de transfer de date între ele.

    Un client FTP este un program care se conectează la un server FTP și efectuează operațiunile necesare pentru a vizualiza conținutul directoarelor serverului, pentru a primi, transfera și șterge fișiere sau foldere. Un browser obișnuit, componente ale sistemului de operare sau produse software special dezvoltate, cum ar fi un manager de descărcare popular, pot fi folosite ca astfel de program. Descărcați Master sau multifuncțional gratuit Client FTP FileZilla.

    Aceste sesiuni de exemplu ar trebui să ajute să clarifice puțin lucrurile. În mod tradițional, acesta este portul 21 pentru portul de comandă și portul 20 pentru portul de date. Totuși, confuzia începe atunci când constatăm că, în funcție de mod, portul de date nu este întotdeauna pe port.

    Serverul se va conecta apoi la portul de date client specificat de la portul local de date, care este portul. În pasul 3, serverul inițiază o conexiune pe portul local de date la portul de date specificat mai devreme de client. Din firewall-ul de pe partea clientului, se pare că un sistem extern inițiază o conexiune la un client intern - ceva care este de obicei blocat.

    Protocolul FTP a fost dezvoltat pe vremea când clientul și serverul interacționau direct, fără transformări intermediare ale pachetelor TCP, iar în modul standard presupune posibilitatea creării unei conexiuni TCP nu numai la inițiativa clientului, ci și la inițiativa serverului de la portul TCP 20 la TCP - portul clientului al cărui număr este transmis în timpul creării unei sesiuni de transfer de date.

    Ieșirea normală a serverului este afișată cu negru, iar intrarea utilizatorului este cu caractere aldine. Există câteva lucruri interesante despre acest dialog. După cum puteți vedea în exemplul de mai jos, este formatat ca o serie de șase numere, separate prin virgule. Pentru a găsi portul real, înmulțiți al cincilea octet cu 256 și apoi adăugați al șaselea octet la total.

    În pasul 3, clientul inițiază apoi o conexiune de date de la portul său de date la portul de date specificat al serverului. Cea mai mare problemă este necesitatea de a permite orice conexiune la distanță la un număr mare de porturi de pe server. Consultați Anexa 1 pentru mai multe informații. A doua problemă se referă la asistența și depanarea clienților care acceptă modul pasiv.

    Realitățile de astăzi sunt de așa natură încât o astfel de conexiune TCP de la server la client în majoritatea covârșitoare a cazurilor este imposibil sau foarte dificil de implementat din cauza faptului că, în majoritatea cazurilor, tehnologia cu traducerea adreselor de rețea este folosită pentru conectează la internet. NAT(Network Address Translation) atunci când clientul nu are o interfață de rețea disponibilă pentru a crea o conexiune TCP directă de la Internet. O schemă tipică pentru o conexiune standard la Internet arată astfel:

    Acest lucru poate fi bun sau rău, în funcție de ceea ce sunt configurate serverele și firewall-urile. Aici putem vedea că portul este deschis pe sistemul server și nu pe client. Clientul va face ambele conexiuni la server, dar una dintre ele va avea un port înalt aleatoriu care va fi aproape sigur blocat de un firewall pe partea serverului.

    Configurare rețea pentru modul pasiv

    Din fericire, există un fel de compromis. Deci, totul, cu excepția acestui interval de porturi, poate fi un firewall pe partea de server. Deși acest lucru nu elimină riscul pentru server, îl reduce semnificativ. În Anexa 1. În modul pasiv, cea mai mare parte a încărcării configurației este pe partea serverului. Administratorul serverului trebuie să configureze serverul așa cum este descris mai jos.

    Conexiunea la internet se realizează printr-un dispozitiv special - Router(router cu funcție NAT), care are cel puțin două porturi de rețea - unul conectat la rețeaua furnizorului, care are o interfață de rețea cu o adresă IP direcționată (așa-numita „IP albă”), de exemplu 212.248.22.144 și un port cu o interfață de rețea pentru conectarea dispozitivelor LAN cu o adresă IP privată, care nu poate fi rutată, de exemplu 192.168.1.1 ("IP gri"). Când se creează conexiuni de la dispozitivele de rețea din rețeaua locală la nodurile de rețea externe, pachetele IP sunt trimise către router, care traduce adresele și porturile în așa fel încât adresa expeditorului să devină a sa. adresa IP albă... Rezultatele traducerii sunt salvate și când se primește un pachet de răspuns, se efectuează traducerea inversă a adresei. Astfel, routerul asigură redirecționarea pachetelor TCP/IP de la orice dispozitiv din rețeaua locală către rețelele externe și redirecționarea pachetelor de răspuns primite. Dar în cazurile în care se primește un pachet la intrarea interfeței de rețea conectată la rețeaua furnizorului care nu are legătură cu pachetele TCP de răspuns, sunt posibile următoarele opțiuni pentru răspunsul software-ului routerului:

    Configurare rețea pentru modul activ

    În modul activ, cea mai mare parte a încărcării configurației este pe partea clientului. Pentru ca serverul să se poată conecta corect la client pentru a deschide o conexiune de date. Folosind aceste două conexiuni de comunicație, două moduri diferite de funcționare determină în ce direcție sunt stabilite conexiunile: modul activ și modul pasiv.

    Un firewall obișnuit care rulează pe client vede această solicitare de conexiune beacon de la server ca nesolicitată și elimină pachetele, ceea ce provoacă eșecul transferului de fișiere. În mod implicit, serverul folosește un port disponibil în intervalul efemer.

    Pachetul este ignorat deoarece nu există un serviciu de rețea care să-l proceseze.

    Un pachet este primit și procesat de serviciul de rețea al routerului însuși, dacă un astfel de serviciu există și așteaptă o conexiune de intrare („ascultare”) pe port, al cărei număr este indicat în pachetul primit.

    Pachetul este redirecționat către un server din rețeaua locală care așteaptă acest tip de conexiuni de intrare în conformitate cu regulile de mapare a portului specificate de setările routerului.

    Instalarea și configurarea FileZilla FTP Server

    Deschideți un prompt de comandă pentru administrator. Acest document explică cum să utilizați modul activ sau pasiv pentru a vă conecta la un server File Transfer Protocol. În timpul unei sesiuni tipice de trezire, portul de comandă utilizează portul 21, iar portul de date utilizează portul. Cu toate acestea, când utilizați modul pasiv, portul de date nu îl folosește întotdeauna.

    Configurațiile de traducere a adresei de rețea blochează această solicitare de conectare. De asemenea, poate fi necesar să deschideți un interval de porturi pasive pe firewall. Salvați modificările în fișierul de configurare. ... Rulați următoarele comenzi pentru a permite conexiuni prin intervalul de porturi de firewall pasiv al serverului.

    Prin urmare, în prezent, așa-numitul „mod pasiv” a devenit principalul mod de operare pentru FTP, în care conexiunile TCP se realizează numai de la client la portul TCP al serverului. Modul activ este utilizat în cazurile în care există posibilitatea TCP - conexiuni de la server la porturile client, de exemplu, atunci când acestea se află în aceeași rețea locală. Alegerea modului de conectare FTP se face prin comenzi speciale:

    Pentru ca aceste modificări să fie permanente, trebuie. Pentru ca aceste modificări să fie permanente, trebuie să adăugați porturi pasive la fișierul de configurare. Actualizările de sistem pot suprascrie aceste modificări de configurare. ... Aceste probleme pot semăna cu o problemă cu un firewall sau altă conexiune, chiar dacă firewall-ul nu există.

    Două moduri de transfer de date către FTP

    Pentru a depana aceste probleme, urmați acești pași. Acest blog vă va răspunde la întrebare fără a lăsa îndoieli. Modul activ este implicit și anterior era singurul mod. Funcționează atunci când utilizatorul se conectează de la orice port aleatoriu pentru a transfera un fișier. Acest transfer de fișiere conectează clientul la portul 21 de pe server. Serverul se conectează de la portul 20 la portul client, care este pentru canalul de date.

    PASV- clientul trimite o comandă pentru a efectua schimbul de date în mod pasiv. Serverul va returna adresa și portul la care trebuie să vă conectați pentru a primi sau transmite date. Un exemplu de fragment al unei sesiuni FTP cu setarea modului pasiv:

    PASSV- comanda de trecere in modul pasiv, transmisa prin FTP - client catre server FTP

    Probleme FTP în rețelele moderne

    Acum, după ce conexiunea este stabilită, transferurile de fișiere sunt stabilite prin aceste porturi client și server. Acum să ne uităm în modul pasiv. Această comandă funcționează ca o solicitare de conectare a unui număr de port. Imediat ce clientul primește portul, a doua conexiune începe imediat și datele sunt trimise. Această procedură funcționează în tandem cu un firewall care este configurat să utilizeze redirecționarea portului pentru un plus de securitate. Datele vor fi apoi redirecționate de la portul firewall la portul server.

    227 Intrarea în modul pasiv (212,248,22,144,195,89)- Răspuns server FTP, unde 227 este codul de răspuns, un mesaj text despre trecerea la modul pasiv și între paranteze adresa IP și numărul portului care vor fi folosite pentru a crea canalul de transmisie a datelor. Adresa și numărul portului sunt afișate ca numere zecimale, separate prin virgule. Primele 4 numere sunt adresa IP (212.248.22.144), celelalte 2 numere setează numărul portului, care se calculează prin formula - primul număr este înmulțit cu 256 și al doilea număr este adăugat la rezultat, în acest exemplu numărul portului este 195 * 256 +89 = 50017

    Acest lucru obligă clientul să iasă din limite să acceseze direct serverul. Acest lucru va ajuta la deschiderea unei conexiuni de date înapoi la client. Clientul va crea apoi o conexiune de date pe server. Acesta este un sfat conform căruia clienții nu ar trebui să se bazeze pe valorile implicite, deoarece aceste valori sunt nesigure.

    Mod FTP activ și pasiv

    Când cealaltă parte se conectează la partea de semnalizare, va avea loc transmisia de date. După ce transferul de date este complet, partea care a inițiat transferul de date va închide conexiunea de date, semnalând sfârșitul fișierului. Trebuie să activați intervalul de porturi pasive în firewall-ul serverului.

    PORT Adresa IP a clientului Numărul portului- clientul trimite o comandă pentru a stabili o sesiune în modul activ. Adresa IP și numărul portului sunt specificate în același format ca în exemplul anterior, de exemplu PORT 212.248.22.144,195,89 Pentru a organiza transferul de date, serverul însuși se conectează la clientul pe portul specificat.

    Instalarea și configurarea FileZilla FTP Server.

    Puteți descărca pachetul de instalare FileZilla Server pentru versiunea sistemului dvs. de operare la

    Sper că trebuie să obțineți un răspuns la toate întrebările dvs. Dacă aveți mai multe întrebări legate de acest lucru, vă rugăm să ne anunțați. Conexiunea de date este stabilită de la portul efemer de pe gazda serverului la portul efemer de pe gazda client. În modul pasiv, atât controlul, cât și conexiunea de date sunt stabilite prin firewall către Internet. Conexiune de control Conexiune de date. ... Modul activ este implicit, dar utilizatorul poate trece de obicei în modul pasiv.

    Modul pasiv avansat Modul pasiv avansat este foarte asemănător cu modul pasiv. Suportul pe care îl utilizați depinde de topologia rețelei dvs. Administratorul firewall-ului trebuie să adauge reguli de filtru statice pentru intervalul de date pasive. În acest caz, trebuie să utilizați modul pasiv extins. ... Aceste moduri sunt numite standard și pasive.

    Serverul este instalat într-un mod standard, cu excepția elementului cu alegerea setărilor panoului de control al serverului:

    Acesta este principalul instrument de gestionare a serverului prin care se realizează toate setările necesare. În mod implicit, panoul de control operează pe o interfață loopback fără acces prin parolă. Dacă este necesar, de exemplu, dacă trebuie să gestionați de la distanță serverul FTP, aceste setări pot fi modificate.

    Configurațiile firewall care oferă acces complet la toate porturile efemere pentru conexiuni nesolicitate pot fi considerate nesecurizate. Utilizarea unei macrocomenzi este modalitatea preferată de a genera regulile descrise mai sus. Aici sunt cateva exemple.

    Rezolvarea problemei IP dinamice

    Serverul rulează în spatele unui gateway mascat. Când se întâmplă astfel de cazuri, veți vedea un mesaj de consolă ca acesta. Soluția mea este să adaug următoarea regulă. Dacă întâmpinați probleme cu firewall-ul, vă rugăm să citiți cu atenție această secțiune.

    După finalizarea instalării, se va deschide o fereastră pentru a vă conecta la server:

    După ce ați introdus adresa IP, numărul portului și parola (dacă le-ați specificat în timpul instalării), se deschide panoul de control FileZilla Server:


    Meniul principal și butoanele panoului de control sunt situate în partea de sus a ferestrei. Mai jos sunt două zone - mesaje de informații despre server și informații statistice. În general, panoul de control FTP FileZilla Servver este destul de simplu și ușor de utilizat. Elemente din meniul principal:

    Odată ce conexiunea este stabilită, clientul se va autentifica la server, iar apoi acea conexiune va fi un singur client, iar serverul va folosi „chat” unul cu celălalt. Această conexiune nu va fi utilizată pentru transferuri de fișiere și va fi stabilită o nouă conexiune de transfer de date pentru fiecare fișier. Există două moduri de a deschide aceste noi canale de date: activ și pasiv.

    Serverul se va conecta apoi la acest port de date client folosind propriul său port de date local, care este portul. Protocolul de transfer de fișiere este unul dintre cele mai vechi și mai utilizate protocoale găsite astăzi pe Internet. Scopul său este de a transfera în siguranță fișiere între computere din rețea, fără a solicita utilizatorului să se conecteze direct la gazda de la distanță sau să cunoască cum să folosească sistemul de la distanță. Permite utilizatorilor să acceseze fișierele de pe sistemele de la distanță folosind un set standard de comenzi simple.

    Fişier- moduri de operare ale panoului de control al serverului FTP. Conține subparagrafe

    - Conectați-vă la server- conectați-vă la server
    - Deconectat- deconectați-vă de la server
    - Părăsi- oprirea panoului de control.

    Server- Administrare server FTP. Conține subparagrafe:

    - Activ- porniți / opriți serverul FTP. Când caseta de selectare este bifată, serverul FTP este pornit, când este debifat, este oprit.
    - Lacăt- interzice/permite conexiuni la server. Dacă caseta de selectare este bifată, noile conexiuni la server sunt interzise.

    Porturi multiple, moduri multiple

    Acest port este folosit pentru a lansa toate comenzile către server. Orice date solicitate de la server sunt returnate clientului prin portul de date. Numărul portului pentru conexiunile de date și modul în care conexiunile de date sunt inițializate diferă în funcție de faptul dacă clientul solicită date în modul activ sau pasiv.

    Următoarele moduri sunt enumerate mai jos. Această convenție înseamnă că computerului client trebuie să i se permită să accepte conexiuni pe orice port. Odată cu creșterea rețelelor nesigure, cum ar fi Internetul, utilizarea paravanelor de protecție pentru a proteja mașinile client este acum obișnuită.

    Editați | ×- editarea setărilor. Subparagrafe:

    - Setări- setări de bază ale serverului.
    - Utilizatori- Setări utilizator FTP server
    - Grupuri- setări ale grupurilor de utilizatori.

    De exemplu, să configuram serverul pentru următoarele condiții:

  • serverul se află în spatele NAT, are o adresă IP privată, dar trebuie să fie accesibil de pe Internet, acceptă modul pasiv și folosește porturi TCP non-standard. Utilizarea de porturi non-standard poate reduce probabilitatea atacurilor hackerilor și, în plus, unii furnizori folosesc filtrarea traficului și blochează porturile standard 20 și 21.
  • utilizatorii au capacitatea de a descărca de pe server, de a încărca pe server, de a șterge și de a redenumi fișiere și foldere.
  • în cazul utilizării unei adrese IP dinamice, este necesar să se asigure disponibilitatea serverului prin numele DNS.
  • serverul va funcționa pe o stație de lucru sub Windows 7 / Windows 8.
  • Cu alte cuvinte, trebuie să creați un server FTP accesibil pe internet pentru a schimba fișiere între utilizatori, desigur gratuit. Este destul de clar că, pe lângă crearea configurației necesare a serverului FTP în sine, va fi necesară modificarea unor setări de router, parametrii firewall Windows, rezolvarea problemei unei adrese IP dinamice, astfel încât serverul să fie accesibil după nume, indiferent a modificării adresei IP.

    Rezolvarea problemei unei adrese IP dinamice.

    Clientul se conectează apoi la acel port de pe server pentru a descărca informațiile solicitate. În timp ce modul pasiv elimină problemele de comunicare firewall-ul pe partea clientului la conectarea la date, poate îngreuna administrarea firewall-ului pe server. De asemenea, simplifică procesul de configurare a regulilor de firewall pentru server. Secțiunea 8 „Setări de rețea”. Acest mod trebuie să fie activ sau pasiv, în funcție de anumite configurații de rețea.

    După cum sugerează numele lor, canalul de comandă este folosit pentru a transmite comenzi, precum și pentru a răspunde la aceste comenzi, în timp ce canalul de date este folosit pentru a transmite date. Pe de altă parte, portul pe care îl veți utiliza pentru legătura de date poate diferi în funcție de modul de date selectat. Dacă alegeți modul activ, legătura de date va fi de obicei un port. Dar dacă alegeți modul pasiv, portul care va fi folosit va fi un port aleatoriu.

    & nbsp & nbsp Această problemă nu necesită o soluție în cazurile în care la conectarea la Internet se folosește o adresă IP statică, sau una dinamică, dar în conformitate cu setările furnizorului, este aproape întotdeauna aceeași. În caz contrar, puteți folosi tehnologia numită DNS dinamic (DDNS). Această tehnologie permite actualizarea informațiilor despre adresa IP de pe serverul DNS în timp aproape real și accesarea routerului (și serviciilor din spatele acestuia) după numele înregistrat, indiferent de modificarea dinamică a IP-ului.

    Pentru a implementa această tehnologie gratuit, va trebui să vă înregistrați la un fel de serviciu DNS dinamic și să instalați software client pentru a actualiza înregistrarea DNS dacă adresa IP corespunzătoare se modifică. Dynamic DNS este susținut de obicei de producătorii de echipamente de rețea (D-Link, Zyxel etc.), de unele companii de hosting și specializate, precum binecunoscutul DynDNS. Cu toate acestea, după ce în a doua jumătate a anului 2014, toate serviciile care erau oferite gratuit utilizatorilor înregistrați pentru uz necomercial au devenit plătite, cea mai populară soluție, poate, a fost utilizarea DNS-ului dinamic bazat pe serviciu. No-IP.org, care într-un mod gratuit oferă servicii de suport pentru 2 noduri cu IP dinamic. Pentru a utiliza serviciul gratuit, va trebui să vă înregistrați și să vizitați periodic (aproximativ o dată pe lună) site-ul pentru a actualiza informații despre nodurile utilizate cu IP dinamic. Dacă omiteți actualizarea datelor nodului, serviciul este suspendat și, în consecință, va fi imposibil să vă conectați la nod după nume. Când utilizați serviciul contra cost, actualizarea nu este necesară.

    & nbsp & nbsp Aproape toate routerele (modemurile) moderne au suport încorporat pentru un client DNS dinamic. Configurarea este de obicei foarte simplă - completați câmpurile cu numele de utilizator și parola, precum și numele gazdei, obținute în timpul înregistrării pe serviciul DDNS. Exemplu pentru Zyxel P660RU2


    & nbsp & nbsp Utilizarea clientului DDNS încorporat în router/modem este de preferată decât utilitarul de actualizare a datelor DNS care operează în mediul OS, deoarece vă permite să implementați caracteristici suplimentare, cum ar fi controlul routerului prin Internet când computerul este oprit și pornirea de la distanță a computerelor din spatele NAT folosind tehnologia Treziți-vă pe lan.

    În acele cazuri în care clientul DDNS încorporat nu este posibil, va trebui să vă descurcați cu software-ul aplicației - un program client de suport DNS dinamic. Un astfel de program se conectează periodic la serverul care menține numele de domeniu înregistrat asociat ruterului prin care se realizează conexiunea la Internet și apelează procedura de actualizare IP atunci când se modifică. Setarile serverului sunt realizate in asa fel incat compararea numelui DNS si a adresei IP a conexiunii la Internet sa fie realizata intr-un timp foarte scurt, iar natura dinamica a adresei nu are practic niciun efect asupra performantei serviciilor asociate. cu numele DNS.

    Și, de fapt, totul este simplu atunci când există cunoștințe despre ceea ce se întâmplă ... pentru persoanele care doresc să-și dea seama - citiți secțiunea „teorie” de mai jos, pentru restul „ghidului” în imagini despre configurare, de exemplu Zyxel KeeneticII Giga(firmware V2) și Server G6FTP pe unul dintre computerele din rețeaua dvs. de acasă.

    Când se lucrează prin FTP, se stabilesc două conexiuni între client și server - una de control (comenzile sunt trimise prin intermediul acestuia) și o conexiune de transfer de date (fișierele sunt transferate prin aceasta). Conexiunea de control este aceeași pentru modurile Active și Pasive. Clientul inițiază o conexiune TCP de la un port dinamic (1024-65535) la portul 21 de pe serverul FTP și spune „Bună! Vreau să mă conectez la tine. Iată numele meu și parola mea.” Acțiunile suplimentare depind de modul FTP (activ sau pasiv) selectat.
    Modul activ... Când un client spune „Bună ziua!” de asemenea, îi spune serverului numărul portului (dintr-un interval dinamic de 1024-65535), astfel încât serverul să se poată conecta la client pentru a stabili o conexiune de date. Serverul FTP se conectează la numărul portului client specificat utilizând portul TCP 20 pentru transferul de date. Pentru client, această conexiune este de intrare. Deci, este adesea dificil să lucrezi în modul activ pentru clienții din spatele unui firewall sau NAT sau necesită setări suplimentare.
    Modul pasiv... În modul pasiv, după ce clientul spune „Bună ziua!”, Serverul îi spune clientului adresa sa IP și numărul portului TCP (din intervalul dinamic 1024-65535), la care se poate conecta pentru a stabili o conexiune de date. În cele ce urmează, le vom numi porturi pasive. În același timp, după cum este ușor de observat, porturile dintr-o astfel de conexiune, atât din partea clientului, cât și din partea serverului, sunt arbitrare. În modul pasiv, clientul poate lucra cu ușurință cu serverul prin firewall-ul său, dar adesea pentru a suporta modul pasiv de către server, este necesară deja o configurație de firewall adecvată pe partea serverului.

    Principala diferență dintre modul FTP activ și modul FTP pasiv este partea care deschide conexiunea de date. În modul activ, clientul trebuie să poată accepta această conexiune de la serverul FTP. În modul pasiv, clientul inițiază întotdeauna această conexiune în sine, iar serverul trebuie să o accepte deja.

    Modul FTP pasiv este destinat pentru conectarea clienților în spatele Firewall-ului. În rețelele de acasă, acest mod special de operare ar trebui să fie modul principal al serverului FTP dacă doriți ca utilizatorii să nu aibă probleme cu accesul.

    Acum exersați în imagini.

    Mai întâi, legăm computerul la IP, în cazul meu este 10.0.0.100


    apoi configuram porturi ftp standard

    și adăugați porturi pentru a funcționa în modul pasiv


    3 raspunsuri

    Active și pasive sunt două moduri prin care FTP poate funcționa. FTP folosește două conducte între client și server, conducta de comandă și conducta de date, care sunt de fapt conexiuni TCP separate. Canalul de comandă este pentru comenzi și răspunsuri, canalul de date este pentru transferul efectiv de fișiere. Aceasta este o modalitate excelentă de a trimite comenzi către server fără a aștepta finalizarea transferului curent.

    În modul activ, clientul setează un canal de comandă (de la portul client X la portul server 21 (b)), dar serverul setează un canal de date (de la portul server 20 (b) la portul client Y, unde Y a fost furnizat de către client).

    În modul pasiv, clientul configurează ambele canale. În acest caz, serverul îi spune clientului care port ar trebui utilizat pentru canalul de date.

    Modul pasiv este de obicei folosit în situațiile în care serverul FTP nu poate stabili un canal de date. Unul dintre principalele motive pentru aceasta este firewall-urile de rețea. Deși este posibil să aveți o regulă de firewall care vă permite să deschideți canale FTP către ftp.microsoft.com, este posibil ca serverele Microsoft să nu poată deschide un canal de date prin firewall.

    Modul pasiv rezolvă acest lucru prin deschiderea ambelor tipuri de canale din partea clientului. Pentru a fi mai clar:

    Modul activ:

    • Clientul trimite PORT 2001 (a) către server și serverul confirmă pe canalul de comandă.
    • Serverul deschide un canal de date de la portul server 20 (b) la portul client 2001 (a).
    • Clientul confirmă canalul de date.

    Modul pasiv:

    • Clientul deschide un canal de comandă de la portul client 2000 (a) la portul server 21 (b).
    • Clientul trimite PASV la server pe canalul de comandă.
    • Serverul trimite înapoi (pe canalul de comandă) PORT 1234 (a) după ce începe să asculte pe acel port.
    • Clientul deschide un canal de date de la clientul 2001 (a) la portul de server 1234 (a).
    • Serverul recunoaște canalul de date.

    În acest moment, comenzile și canalele de date sunt deschise.

    (a) Rețineți că alegerea porturilor din partea clientului depinde de client, deoarece alegerea portului de canal de date al serverului în modul pasiv este dependentă de server.

    (b) În plus, trebuie remarcat faptul că utilizarea porturilor 20 și 21 este doar condiționată (deși puternică). Nu există nicio cerință absolută ca aceste porturi să fie utilizate, deși clientul și serverul trebuie să fie de acord cu privire la porturile utilizate. Am văzut implementări care încearcă să se ascundă de clienții care folosesc diferite porturi (înutilă, în opinia mea).

    Am întâlnit recent această întrebare la locul meu de muncă, așa că cred că ar trebui să spun altceva aici. Voi folosi o imagine pentru a explica cum funcționează FTP ca sursă complementară pentru răspunsul anterior.

    Modul activ:

    Modul pasiv:

    În configurarea modului activ, serverul va încerca să se conecteze la un port client aleatoriu. Cel mai probabil, acest port nu ar fi unul dintre acele porturi predefinite. Ca urmare, o încercare de conectare la acesta va fi blocată de firewall și conexiunea nu va fi stabilită.

    Configurația pasivă nu va avea această problemă deoarece clientul va iniția conexiunea. Desigur, partea de server poate avea și un firewall. Cu toate acestea, deoarece serverul este de așteptat să primească mai multe solicitări de conectare decât clientul, atunci ar fi logic ca administratorul serverului să se adapteze la situație și să deschidă selecțiile de porturi pentru a se adapta configurațiilor modului pasiv.

    Deci, ar fi mai bine să vă configurați serverul pentru a accepta modul pasiv FTP. Cu toate acestea, modul pasiv va lăsa sistemul dumneavoastră vulnerabil la atacuri, deoarece clienții trebuie să se conecteze la servere aleatorii. Așadar, pentru a accepta acest mod, serverul dvs. nu numai că trebuie să aibă mai multe porturi disponibile, ci și firewall-ul trebuie să permită conexiuni la toate aceste porturi!

    Pentru a atenua riscurile, o soluție bună ar fi să specificați un interval de porturi pe serverul dvs. și apoi să permiteți doar acel interval de porturi pe firewall.

    Consultați documentul oficial pentru mai multe informații.

    O versiune redusă a articolului meu Moduri de conexiune FTP (activ vs. pasiv):

    Modul de conexiune FTP (activ sau pasiv) determină modul în care se stabilește o conexiune de date. În ambele cazuri, clientul creează o conexiune de control TCP la portul 21 al serverului FTP. Aceasta este o conexiune de ieșire standard ca orice alt protocol de transfer de fișiere (SFTP, SCP, WebDAV) sau orice altă aplicație client TCP (cum ar fi un browser web). Prin urmare, de obicei nu există nicio problemă la deschiderea conexiunii de control.

    Dacă FTP este mai complex decât alte protocoale de transfer de fișiere, este transfer de fișiere. În timp ce alte protocoale folosesc aceeași conexiune pentru controlul sesiunii și transferul de fișiere (date), FTP utilizează o conexiune separată pentru transferurile de fișiere și directoare.

    În modul activ, clientul începe să asculte pe un port aleatoriu pentru conexiunile de date primite de la server (clientul trimite o comandă FTP PORT pentru a spune serverului pe ce port ascultă). Acum este obișnuit ca un client să se afle în spatele unui firewall (cum ar fi firewall-ul Windows încorporat) sau a unui router NAT (cum ar fi un modem ADSL) incapabil să accepte conexiuni TCP de intrare.

    Din acest motiv, a fost introdus un mod pasiv și este utilizat în prezent în principal. Utilizarea modului pasiv este de preferat deoarece cea mai mare parte a configurației complexe se face o singură dată pe partea de server, de către un administrator cu experiență, mai degrabă decât individual pe partea client, de către utilizatori (posibil) fără experiență.

    În modul pasiv, clientul folosește conexiunea de control pentru a trimite o comandă PASV către server și apoi obține adresa IP și numărul portului serverului de la server, pe care clientul le folosește apoi pentru a deschide o conexiune de date cu adresa IP și serverul serverului. numarul portului.

    Configurare rețea pentru modul pasiv

    În modul pasiv, cea mai mare parte a încărcării configurației este pe partea serverului. Administratorul serverului trebuie să configureze serverul așa cum este descris mai jos.

    Firewall și NAT pe partea de server FTP trebuie configurate nu numai pentru a permite/direcționa conexiunile de intrare către portul FTP 21, ci și pentru o serie de porturi pentru conexiunile de date de intrare. De obicei, software-ul serverului FTP are o opțiune de configurare pentru a configura intervalul de porturi care va fi utilizat de server. Și același interval trebuie să fie deschis / direcționat pe firewall / NAT.

    Când serverul FTP se află în spatele NAT, trebuie să-și cunoască adresa IP externă, astfel încât să o poată furniza clientului ca răspuns la comanda PASV.

    Configurare rețea pentru modul activ

    În modul activ, cea mai mare parte a încărcării configurației este pe partea clientului.

    Firewall (cum ar fi Windows Firewall) și NAT (cum ar fi ADSL Modem Routing Rules) de pe partea clientului trebuie să fie configurate pentru a permite/direcționa intervalul de porturi pentru conexiunile de date de intrare. Pentru a deschide porturi în Windows, accesați Panou de control> Sistem și securitate> Paravan de protecție Windows> Opțiuni avansate> Reguli de intrare> Regulă nouă. Pentru rutarea portului către NAT (dacă există), consultați documentația acestuia.

    Când NAT este în rețeaua dvs., clientul FTP trebuie să cunoască adresa sa IP externă, pe care WinSCP ar trebui să o furnizeze serverului FTP folosind comanda PORT. Pentru ca serverul să se poată conecta corect la client pentru a deschide o conexiune de date. Unii clienți FTP pot detecta automat adresa IP externă, unii dintre ei trebuie configurați manual.

    Smart Firewall / NAT

    Unele firewall-uri/NAT încearcă să deschidă/închidă automat porturile de date testând conexiunea FTP și/sau traduc adresele IP ale conexiunii de date în traficul de control al conexiunii.

    Cu un astfel de firewall/NAT, configurația de mai sus nu este necesară pentru FTP simplu necriptat. Dar acest lucru nu poate funcționa cu FTPS deoarece traficul conexiunii de control este criptat și firewall-ul / NAT nu îl poate inspecta și modifica.

    Top articole similare