Yritän saada aikaiseksi edes jonkun sorttisen FTP ratkaisun, mutta Cerberuksella tekemäni FTP serveri toimii... sanoisinko valikoivasti.
Ongelmanani on siis yhteyden muodostus serverille. Kaikkien reititysten pitäisi olla tehty, ja käyttäjä pääsee rekisteröitymään palvelimelle. Sitten kun käyttäjä lähettää list -a komennon, niin pyyntö menee perille, mutta mitään ei tule takaisin, yhteys katkeaa "Read timed out" ilmoitukseen.
Clientin loki: (IP osoitteet ja käyttäjä tunnukset äxätty.
=====================================
Thu Sep 14 16:07:48 EEST 2006
xxx.xxx.xxx.xxx
220-Cerberus FTP Server Personal Edition
220-UNREGISTERED
220 Welcome to Fileserver!
USER xxxxxx
331 User xxxxxx, password please
PASS ********
230 Password Ok, User logged in
SYST
215 UNIX Type: L8
NOOP
200 NOOP command received
CWD /
250 Change directory ok
PORT xxx,xxx,xxx,xxx,206,225
200 Port command received
LIST -a
I/O Virhe: Read timed out (/)
Ja serverin loki: (kuten myös äxätty.)
Thu Sep 14 16:08:06 2006 0 Incoming connection request on interface xxx.xxx.xxx.xxx
Thu Sep 14 16:08:06 2006 0 Connection request accepted from xxx.xxx.xxx.xxx
Thu Sep 14 16:08:14 2006 0 USER xxxxxxxx
Thu Sep 14 16:08:14 2006 0 PASS ***********
Thu Sep 14 16:08:14 2006 0 SYST
Thu Sep 14 16:08:14 2006 0 NOOP
Thu Sep 14 16:08:14 2006 0 CWD /
Thu Sep 14 16:08:14 2006 0 PORT xxx.xxx.xxx.xxx,246,163
Thu Sep 14 16:08:14 2006 0 LIST -a
Thu Sep 14 16:08:29 2006 0 The connection was closed by the remote socket.
Thu Sep 14 16:08:29 2006 0 Connection terminated.
Miksi yhteys siis katkeaa yhtäkkiä, eikä listausta tule? Onko jotain optionssia mikä pitää muuttaa vai mitä?
Yhteys serverille kulkee internetistä kahden rautapalomuurin läpi, joista ulommasta (modeemista) TCP portti 21 ohjataan reitittimen porttiin 21. Tästä reitittimestä portin 21 liikenne ohjataan palvelimen porttiin 21.
Nämä ohjaukset on tehty siis reitittimelle ja modeemille kohdasta virtual server.
Kiitoksia kaikille jotka jaksavat vaivata tällä päätään. Ja vielä enemmän niille jotka kertovat mikä tuossa mättää. :)
Jossain FTP ohjelmissa on Passive tuki, juuri sen takia kun FTP protokolla siirtää itsessään IP-osoitetta mukana, mikä aiheuttaa ongelmia NAT:tien kanssa.