Puncte:0

Centos7 nu se poate conecta la serverul FTP, comanda 200 PORT a reușit. Luați în considerare utilizarea PASV. 425 Nu s-a putut stabili conexiunea

drapel cn

Încerc să conectez serverul ftp linux în linia de comandă din fereastră funcționează bine când portul ftp este implicit (20, 21)

nu funcționează după ce am schimbat portul implicit al FTP, FTP-DATA

da, am verificat firewall-ul (este la fel și când opresc firewall-ul), și da, am verificat fișierul vsftpd.conf

mai există ceva de verificat dacă porturile sunt modificări? Am crezut că doar vsftpd.conf este cel care a afectat portul FTP și FTP-DATA

  • funcționează bine când portul este implicit (20, 21)

introduceți descrierea imaginii aici

  • 425 Nu s-a putut stabili conexiunea. cand am schimbat portul

introduceți descrierea imaginii aici

și acesta este fișierul meu /etc/vsftpd/vsftpd.conf

anonymous_enable=NU
local_enable=DA
write_enable=DA
local_umask=022
listen_port=39021 # adaugă asta
dirmessage_enable=DA
xferlog_enable=DA
connect_from_port_20=NU
ftp_data_port=39020 # adăugați asta
xferlog_std_format=DA
ftpd_banner=Bine ați venit la serviciul blah FTP.
chroot_local_user=DA
chroot_list_enable=DA
chroot_list_file=/etc/vsftpd/chroot_list
asculta=DA
port_enable=DA
pam_service_name=vsftpd
userlist_enable=DA
tcp_wrappers=NU
pasv_enable=DA # adaugă asta
pasv_min_port=60019 # adaugă asta
pasv_max_port=60020 # adaugă asta 
pasv_address=[IP-ul meu] # adaugă asta 
allow_writeable_chroot=DA
port_promiscuous=DA # adaugă asta 
Nikita Kipriyanov avatar
drapel za
FTP activ realizează o conexiune *inversă* (de la server la client). Dezactivați (sau pregătiți în alt mod) firewall-ul pe *ambele* mașini pentru ca acesta să funcționeze. Se pare că acum mașina dvs. client sau ceva din mijloc nu este gata pentru ca serverul să se conecteze de la portul care nu este implicit. Încercați să capturați traficul (de exemplu, wireshark, tcpdump) de ambele părți pentru a vedea ce se întâmplă. De asemenea, v-a sugerat să utilizați un mod pasiv (`PASV`), care nu se bazează pe acest comportament, l-ați încercat? // Vă rugăm, copiați și lipiți transcrierea textului în întrebare ca *text*, nu ca imagini. Și, vă rog, lăsați-le să fie transcrieri complete.
Puncte:2
drapel za

Nu sunt suficiente informații pentru a avea un răspuns complet. Dar trebuie să vă amintiți întotdeauna că FTP nu este un protocol simplu. În cel mai simplu caz, activ FTP funcționează astfel:

  1. Faceți o conexiune de control la portul 21 (server FTP), prin care
  2. Tu te autentifici
  3. Spuneți serverului unde să facă o conexiune (IP și port)
  4. Comenzi serverului să înceapă transferul
  5. The Server face o alta conexiune la IP-ul și portul pe care i-ai spus și trimite sau primește date.

De obicei, la pasul 3 îi spuneți serverului IP-ul dvs. și portul la care ascultă clientul dvs. FTP, așa că se face o altă conexiune la pasul 5 în sens invers, de la server la tine.

Ce ar fi în prezența firewall-ului între ele? Să presupunem că ați activat acceptarea pachetelor pe portul 21 (sau oricare ar fi folosit) de pe server. Puteți face o conexiune de control. Acum, cum rămâne cu conexiunea de date inversă pe care o face serverul? Cum să activezi asta?

Există două cazuri: fie permiteți static un port (sau interval) și configurați clientul FTP să folosească întotdeauna acel port, fie aveți un firewall foarte inteligent, care activ trage cu urechea pe conexiunea de control, extrage IP-ul și portul și creează dinamic regula temporară care permite conexiunea inversă. Aceasta se numește ALG care reprezintă Gateway la nivel de aplicație.

Cum știe firewall-ul ce conexiuni să asculte cu urechea? Știe că FTP funcționează prin TCP/21, așa că pur și simplu caută orice trafic pe acel port. Ce se întâmplă dacă schimbi portul de control? Probabil ați ghicit că: ALG-ul nu va funcționa.Firewall nu va adăuga regula dinamică suplimentară, astfel încât încercarea de conectare inversă a datelor nu va reuși.

Există o speranță că dacă configurați „ALG” să funcționeze cu un port care nu este implicit, problema va fi rezolvată. Cu toate acestea, acest lucru nu este întotdeauna cazul. Întreabă întâi, care firewall despre care vorbim? Lumea modernă folosește intens firewall-uri, la ambele capete și între ele și, de asemenea, există o utilizare intensă a NAT (inclusiv CGN, care este folosit de ISP-uri). Orice NAT are nevoie și de ALG: trebuie să creeze o regulă de traducere dinamică către clientul care se află în spatele NAT și care a început tranzacția. Puteți reuși în acest fel doar dacă ați reușit să configurați fiecare ALG de-a lungul căii așa cum doriți. Vezi unde merg?

Sunt două solutii comune. În primul rând, simplu: bazați-vă pe ALG-uri, care vă cere să nu schimbați niciodată portul de control FTP implicit (sincer, 20 de ani de gestionare a serverelor și încă nu înțeleg rostul folosirii porturilor care nu sunt implicite. Acest lucru creează mai multe probleme decât rezolvă) . În al doilea rând, și simplu: utilizați un mod FTP pasiv.

The pasiv FTP funcționează astfel:

  1. Faceți o conexiune la portul 21 (server FTP), prin care
  2. Tu te autentifici
  3. Intri in modul pasiv, iar serverul raspunde cu IP si port
  4. Comenzi serverului să înceapă transferul
  5. Tu faceți o altă conexiune la IP-ul și portul pe care v-a spus serverul și primiți sau trimiteți datele.

Observați că singurii pași modificați sunt 3 și 5. Ei evită conexiunile inverse.

Acest lucru rezolvă parțial problema cu portul non-implicit și ALG-urile necontrolate. De asemenea, permite utilizarea criptării pe conexiunea de control (care rupe în mod inerent ALG-urile).

drapel so
Corect. Rețineți că OP folosește linia de comandă Windows `ftp`, care nu acceptă modul pasiv. Deci este nevoie de schimbarea clientului. https://stackoverflow.com/q/18643542/850848

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.