ftp hiba
Horváth Péter
horvathp at ecdl.xantuski.sulinet.hu
2008. Feb. 28., Cs, 14:00:31 CET
Gál Zoltán írta:
> Üdv!
>
> FTP-nek nyitattam egy felsőbb TCP portot (eddig az alap 21-esen
> ment, jól). Most viszont csak localban tudok belépni, kintről
> megáll a "Download"-nál...
>
> FTP server log:
>
> 425 Cannot open data connection : you supplied a local ip in PORT
> command, switch to PASV mode. (10051)
>
> Átváltottam az ftp kliensben (Total Commander) passzívra, de
> ugyanaz a hiba.
>
> Amíg a 21-esen volt addig az ftp server port logja így nézett ki:
>
> PORT 81,*,*,229,14,202 (az első 4 ugye a külső ip amiről csatlakoztam)
>
> Átírtam a portot, server restart és most belső ip van benne:
>
> PORT 192,168,1,2,11,197
> (az azért is vicces mert a 192.168.0.* tartományt használjuk)
>
> Passzívban pedig:
>
> 227 Entering Passive Mode (195,199,*,*,113,34)
> PORT 192,168,1,2,16,34
> 200 Port command successful.
>
> De itt is megáll a download-nál.
>
> FlashFXP-vel sem megy...
>
> XPSP2, BulletProof v2.3.1
>
> Akinek van ötlete kérem írja meg :)
A problémát az okozza hogy nem bír felépülni az adatkapcsolat. Ugyanis
a router/NAT/firewall/stb.
csak a 21 -es porton figyeli a kommunikációt, illetve PASV/PORT
parancsokat, és ezek válaszait.
Vagyis optimális esetben a router segít felépíteni az FTP
adatkapcsolatot, mert tudja hogy az adatcsatorna
csomagjait hová kell irányítani.
Ha a kliens nem NAT mögött van, akkor célszerű aktív móddal próbálkozni.
De ha a kliensnek van tűzfala
akkor ez nem nyerő, mert előre nem tudjuk hogy milyen porton fog az FTP
szerver kapcsolódni a klienshez.
A korrekt megoldás a passzív mód. De ez is csak akkor nyerő, ha a
szerverben lehet konfigurálni, hogy PASV
hatására milyen port tartományból választhat. Ez esetben be kell
állítani port forwardingot (vagy nyitni a tűzfalat)
azokra a portokra, amit megadtunk a PASV port-tartománynál.
Péter
További információk a(z) Techinfo levelezőlistáról