[ yooyo @ 01.11.2006. 23:21 ] @
Imam jedan cudan problem sa ftp serverom na poslu. Dakle.. provjader je SBB-ov kabl. Modem ide u jedan router na kome je podignut NAT i ima firewall. Na jednoj masini u lokalnoj mrezi se nalazi filezilla ftp server. Posto se server nalazi iza NAT-a i firewall-a podesen je da radi u passive modu, a na routeru sam forwardovao odgovarajuci port.
1. FTP klijent sa druge masine u lokalnoj mrezi bz problema pristupa serveru.
2. FTP klijent sa moje kucne masine (Beotel ADSL) koja je direktno na modemu bez poblema pristupa serveru (u passive i standardnom modu)
3. FTP klijent sa masine koja je vezana za moju kucnu masinu se zakacim na FTP server ali nemogu da dobijem directory list. i prekida se veza.
4. Kolege koje imaju SBB internet kod kuce ponekad mogu da se zakace na server a ponekad ne.
5. Imam NetOp program pomocu koda kontrolisem server sa udaljenog racunara. Njegovi portovi su takodje podeseni na routeru. Ovaj program funkcionise bez problema sa bilo kog "spoljnog" racunara.

Kada FTP radi u passive modu salje se komada PASV adresa i port na kojoj ce prihvatiti konekciju od klijenta. Podesio sam da server koristi portove 5000-5100 i te portove sam otvorio na routeru. Povezivanje i login prodje, ali dir list ne!!! Zasto?


[ Milan S. aka Morlak @ 05.11.2006. 17:36 ] @
>
Hm, to se meni desavalo sa nekim serverima na Internetu, ali problem
prodje kada se probam nakaciti kasnije. Inace, ponekad pravi problem
okacinjanje ftp servera na neke druge portove koji nisu default za ftp,
mada ovo je opet u mom slucaju.

Trebao bi da procitas RFC, ne secam se tacno koji, ako neko zna neka ti
napise, u kome je definisano kakav je raspored portova od 1 - 65535, posto
se dele u tri grupe. Ja ne bih kacio FTP na vise od 1024 porta.

Ako gresim, neka me neko ispravi, posto je ovo na internoj mrezi.
[ yooyo @ 06.11.2006. 10:42 ] @
Hmmm... kod FPT protokola postoji 2 moda komunikacije... active i passive mod.
U active modu server salje PORT komandu a u passive salje PASV.
Code:

PORT
Syntax: PORT a1,a2,a3,a4,p1,p2
Specifies the host and port to which the server should connect for the next file transfer. This is interpreted as IP address a1.a2.a3.a4, port p1*256+p2. 

Code:

PASV
Syntax: PASV

Tells the server to enter "passive mode". In passive mode, the server will wait for the client to establish a connection with it rather than attempting to connect to a client-specified port. The server will respond with the address of the port it is listening on, with a message like:
227 Entering Passive Mode (a1,a2,a3,a4,p1,p2)
where a1.a2.a3.a4 is the IP address and p1*256+p2 is the port number.


U active modu server ce pokusati da pozove klijenta pomocu parametara PORT komande. U passive modu, klijent nema javnu adresu pa ce server alocirati jedan port kod sebe za tog klijenta. Klijent treba da pokusa konekciju na adresu i port koja se nalazi u odgovoru na PASV komandu.

Ja sam server konfigurisao da radi na portovima 45000-45100 za passive konekcije. Router sam podesio da propusta te portove. Klijent se poveze, posalje PASV komandu, dobije odgovor i pokusa konekciju na adresu i port, i nista se ne desava. Ako ja u medjuvremenu sa klijent masine pokrenem telnet na PASV adresu i port, dobijem listing direktorijuma i prekid veze. Totalno sam zbunjen!!!
[ madamov @ 06.11.2006. 11:08 ] @
Jujo, jedino da proveriš da li server STVARNO kaže klijentu da otvori vezu na portu od 45000 do 45100 i da li klijent STVARNO pokušava da otvori vezu na nekom od tih portova ili pokušava na nekom izvan tog opsega. Inače, ovo da ne dobiješ listing je tipičan primer da ne radi passive mod jer se sam listing šalje kao i svaki drugi transfer fajla, tj. drugom konekcijom. Meni se na OS X Server jedom desilo isto što i tebi, lupao sam glavu ceo dan šta neće da bih na kraju ustanovio da je klijent uporno otvarao konekciju izvan opsega koji je zadat na server, tj. sam server nije slao portove iz opsega, već neke druge.
[ yooyo @ 06.11.2006. 20:33 ] @
Klijent zaista pokusava da otvori konekciju na pravom portu, ali to ne uspeva. Mislim da je problem u routeru koji detektuje FTP protokol i menja odgovore servera. U pitanju je Belkinov wireless router, a FTP server je na nestandardnom portu. Probacu da promenim router ili da ga nekako "ubedim" da se ponasa kako treba.
[ yooyo @ 06.11.2006. 22:46 ] @
Resio sam problem... bar se nadam da sam ga resio. Dakle.. router je pravio problem. Software u routeru detektuje FTP protokol i menja odgovor na PASV i menja parametre PORT komande. Ovo menjanje je neophodno da bi korektno preslikao adresu i port iz privatnog na javni opseg i obrnuto. Problem je da router to radi samo sa FTP protokolom na portu 21. Ako se FTP server postavi na nekom drugom portu onda ne radi ispravno !!!

Probacu jos sutra da eksperimentisem da budem siguran da radi i sa drugih racunara.
[ Milan S. aka Morlak @ 07.11.2006. 18:27 ] @
>
Ma kazem ja, default je zakon.