koristeci komandnu liniju na XP uspostavim ftp konekciju sa remote serverom (Mandrake 10.1) bez ikakvih problema.
Istu proceduru pokusam sa SuSE-om ali dobijem ovo:
afan@order1:~> ftp
ftp> open vernoncompany.biz
Connected to vernoncompany.biz.
220 ProFTPD 1.2.9 Server (ProFTPD Default Installation)
[vernon.dybb.com]
Name (vernoncompany.biz:afan): xxxxxxxxxx
331 Password required for vernon.
Password:
230 User vernon logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||59290|)
I ovako stoji nekoliko minuta (ali STVARNO nekoliko minuta, vjecnost…) i tek onda “stvarno” uspostavim kontakt
500 Illegal EPRT command
200 PORT command successful
150 Opening ASCII mode data connection for file list
drwxr-xr-x 5 vernco vernon 856 Oct 25 2004 accountpro
drwxr-xr-x 2 vernco vernon 504 Oct 25 2004 accountpro_tempimages
drwxr-xr-x 2 vernco vernon 368 Jun 23 2004 addon-modules
drwxrwxrwx 2 vernco vernon 80 Apr 28 16:32 garyr
-rwxrwxrwx 1 vernco vernon 13824 Apr 29 12:10 garyr.xls
226 Transfer complete.
ftp>
[quote]Port 20-21 otvoren na serveru?
Da li si pokusao sa passive/active ?
NAT funkcionise na router-u ili firewall?
Pogledaj ova pitanja pa vidi kako je kod tebe ![/quote]
Sorry za ovako dugo cekanje… Visa sila…
Stavr je u svari malo drugacija. Ja sam pogresno “prenio”.
Naposlu radimo jedan projekt (vrsta online prodavnice) i izmedju ostalog, svako jutro treba da se automatski prebaci sa naseg “kucog” servera (AS400/JDEdwards) spisak sa proizvodima i njihovom trenutnom kolicinom (inventory) i tako odrzavamo tacne vrijednosti u samoj online prodavnici (jer se pored online prodaje i faxom, telefonom, …).
Medjutim, ftp inverture sa naseg servera na web server (deducated, kod jedne hosting kompanije) nije radio. JobLog je pokazivao da se konekcija uspije ostvariti, onda dodje “Entering PASV mode” i onda stoji tako nekoliko minuta. I uglavnom timed out. Eventualno “prodje” taj dio i kreira novi file ali ne upise bas ni jedan podatak u taj file.
Onda sam ja pokusao da napravim ftp konekciju sa mojih kompjutera (XP na laptopu i SuSE na desktopu) a rezultat sam napisao na pocetku ove teme.
I onda nadmudrujuci se tech pomoci hosting kompanije (oni su tvrdili da je problem kod nas i naseg firewall-a, a mi da su oni nesto zahebali) i nakon naseg testa (istim programom file smo bez ikakvih problema uspostavili ftp konekciju sa nasim drugim web serverom, u drugoj kompaniji) poceli su detaljnije da pregledaju “svoj kraj”.
Na kraju, oni su otvorili jedan broj portova i sada sve radi kako treba. Medjutim, po meni to nie rjesenje jer to nije bio uzrok problema, a postoji i mogucnost da neko skeniranjem vidi da su ti portovi otvoreni pa da napravi hrkljus. No, moj sef kaze da je to sigurno i da je sve ok i da ne treba da brinem. Odlicno. Ja vise ne brinem.
Medjutim, i dalje mi se ta stvar mota po glavi. Sta bi moglo biti.
I kada sam koristio obicne ftp programe (CuteFTP, ACEftp, WS_FTP, …) nisam uspjevao napraviti konekciju sa time serverom (uvijek uspostavi kontakt i onda dobijem poruku “Entering PASV mode” i - time out) sve dok nisam iskljucio PASV mode u setting-u kao nacin komuniciranja (ako sam ovo dobro sve shvatio).
Jednom sam postavio pitanje vezano za ovo i ako se dobro sjecam, na jednoj stranici sam nasao razlike izmedju AKTIV i PASV modova. Nesto kao, prvo moj kompjuter uspostavi kontakt sa serverom preko porta 21. onda server posalje nazad kompjuteru informaciju koji port ce otvoriti i primiti poslane informacije (npr 22678) i onda moj kompjuter posalje informacije tim portom na server. A razlika bi bila sto u jednom slucaju se koristi jedan port koji je non stop otvoren a u drugom slucaju sto se svaka slijedeca “posiljka” salje nekim drugim portom. Jesam li dobro uhaviz’o?
eh ovako… mala izlet u zemlju ftpa ako nesto pobrkam - slobodno me ispravite
FTP protokol koristi dvije veze data i control vezu. control veza sluzi za slanje naredbi, a data veza za slanje podataka ( logicno ).
Aktivni FTP
prilikom spajanja na ftp, tvoj racunar otvori sebi jedan port ( > 1024 npr. port 2333 ) i spoji se sa ftp serverom koji ceka na portu 21. tom prilikom se kreira kontrolna veza koja salje komande ftp serveru ( get, stor, syst, ls, itd ). Prilikom logiranja na server, tvoj klijent kaze serveru da je takodjer otvorio port za podatke koji je PORT+1 ( u mom primjeru 2334 ).
kad ti posaljes komandu GET ime_datoteke, server ( u ovom slucaju u aktivnom modu ) spaja svoj port 20 sa tvojim PORT+1 koji je klijent naveo prilikom logiranja. i eto podataka…
Pasivni FTP
ista procedura, samo sto prilikom logiranja, tvoj klijent salje komandu PASV sto serveru daje doznanja da koristi pasivne portove. osim toga prilikom otvaranja konekcije za podatke, ftp server ne otvara konekciju sa porta 20 nego kaze klijentu na koji port da se on prikaci kako bi dobio podatke taj port je definiran u konfiguraciji i po pravilu mora da bude > 1024.
eh… tvoj problem je izgleda bio u tome sto hosting provider nije dopustio konekcije prema pasivnim portovima ( standardna postava je da su svi >1024 portovi zatvoreni za ulazne konekcije a otvoreni za izlazne )…
sto se tice “otvorenih portova” to ne treba da ti predstavlja problem i zadaje glavobolje… oni su “otvoreni” ali u tom slucaju ti nemas neki software koji slusa na tom portu… naime pasivni port se inicijalizira tek kad klijent zatrazi podatke, onda daemon posalje klijentu broj porta i istovremeno pocne da slusa na njemu