Ftp nach Masquerading

Hi,

ich gehe mit Windoof über einen Linux-Server ins Internet. Dort läuft IP-Forwarding und Masquerading.
Seit ich das aktiviert habe kann ich von den
Clients nicht mehr auf „fremde“ ftp-server zugreifen. Ich bekomme jedesmal
die Meldung:
„500 Illegal PORT command.
! Failed „port“:
! Retrieve of folder listing failed (0)“

Hat jemand eine Idee / Lösung?

danke!

Bei FTP-Transfers gibt es neben der Amnnfrage-verbindung vom Client zum server eine daten-Verbindung, die vom Server initiiert wird. Diese kann die Firewall natuerlich nicht erkennen.

Es gibt - glaube ich - fuer Masquerading ein eigenes FTP modul.
Ansonsten soll es FTP-Clients geben, die einen sogenannten „passive-mode“ (ist mir nie untergekommen) unterstuetzen.

Muessen deine Leute ubegrhaupt FTP machen ?
Wieso nimmst Du nicht netscape/IE und traegst den vermutl. vorhandenen web-proxy auch als FTP-proxy ein (Apache macht das)

mfg
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

„500 Illegal PORT command.
! Failed „port“:
! Retrieve of folder listing failed (0)“

Hat jemand eine Idee / Lösung?

[…]

Hallo,

hier geht ja einiges durcheinander, ich will versuchen, es zu ordnen :smile:

Bei FTP-Transfers gibt es neben der Amnnfrage-verbindung vom
Client zum server eine daten-Verbindung, die vom Server
initiiert wird. Diese kann die Firewall natuerlich nicht
erkennen.

Soweit ist das richtig, von Firewalls war bisher allerdings keine Rede.

Es gibt - glaube ich - fuer Masquerading ein eigenes FTP
modul.

In der Tat. Das ist bei SuSE standardmässig mit eingestellt (genau wie irc, quake(!), real-audio und einige andere).

Ansonsten soll es FTP-Clients geben, die einen sogenannten
„passive-mode“ (ist mir nie untergekommen) unterstuetzen.

Sogenannt ist gut. Das ist normalerweise bei allen clients standard (zumindest unter Linux). Es bedeutet, dass der ftp-server lediglich eine Port-Adresse zurücksendet und der ftp-client dann über diesen Port die Datenverbindung öffnet. Umgekehrt würde die Verbindung („aktiv“) von einer Firewall nicht durchgelassen. Genaueres siehe

http://www.faqs.org/rfcs/rfc959.html

Muessen deine Leute ubegrhaupt FTP machen ?

Was soll denn so eine Frage? Offensichtlich ja, sonst wäre die Anfrage hier ja nicht gelandet :smile:

Wieso nimmst Du nicht netscape/IE und traegst den vermutl.
vorhandenen web-proxy auch als FTP-proxy ein (Apache macht
das)

Weil das ftp-frontend von Netscape bzw. IE scheisse ist. Da kann man nichts eintippen und muss entsprechend alles anklicken. Wenn man nun ein Verzeichnis nebst etlicher Unterverzeichnisse oder zumindest zahlreicher einzelner Dateien (schau nur mal bei Xfree.org vorbei) übertragen möchte, dann kann man sich unter IE oder Netscape ne Sehnenscheidenentzündung klicken … oder aber man nutzt einen Kommandozeilen-orientierten ftp-client und tippt kurzerhand „get .tar.gz“ und schwupps wird auf dem Server das gesamte Verzeichnis zusammengezipt und dann übertragen. Das spart Zeit, Geld und Nerven.

Im übrigen ist Apache ein Web-Server. Was soll der denn mit einem ftp-proxy zu tun haben? Ich würde eher auf den squid verweisen, aber das ist auch eher mit Kanonen auf Spatzen geschossen.

Der Error-Code 500 vom ftp-server bedeutet „syntax error“. Offenbar wurde das PORT Kommando falsch ausgeführt. Hier ein kurzes Zitat aus den RFC959:

DATA PORT (PORT)

The argument is a HOST-PORT specification for the data port
to be used in data connection. There are defaults for both
the user and server data ports, and under normal
circumstances this command and its reply are not needed. If
this command is used, the argument is the concatenation of a
32-bit internet host address and a 16-bit TCP port address.

This address information is broken into 8-bit fields and the
value of each field is transmitted as a decimal number (in
character string representation). The fields are separated
by commas. A port command would be:

 PORT h1,h2,h3,h4,p1,p2

where h1 is the high order 8 bits of the internet host address.

PASSIVE (PASV)

This command requests the server-DTP to "listen" on a data
port (which is not its default data port) and to wait for a
connection rather than initiate one upon receipt of a
transfer command. The response to this command includes the
host and port address this server is listening on.



Am besten, Du fährst mal ein log von einer ftp-session und schaust Dir genau an, was da an Befehlen abgeschickt wird. Würde mich nicht wundern, wenn da von Windows aus etwas nicht RFC konformes verschickt wird :smile:

Gruss

Jens
1 „Gefällt mir“

Du mußt ein paar Module nachladen wenn du bestimmte Dinge wie FTP oder IRC Chat möchtest.
die Module heißen ip_masq_ftp und ip_masq_irc .
Einfach mit insmod aufrufen oder fest in den Kernel compilieren.
VIel Spaß !!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Im übrigen ist Apache ein Web-Server. Was soll der denn mit
einem ftp-proxy zu tun haben? Ich würde eher auf den squid
verweisen, aber das ist auch eher mit Kanonen auf Spatzen
geschossen.

Ich wollte halt einem Rechner im lokalen Netz schnell mal Zugang zum Inet geben - mit einer alten MK-Linux developer version bei der masqreading irgendwie nicht ging. Auf dem Linux Rechner war
Apache installiert, das bei entsprechender config auch als caching Proxy arbeitet. Und - zu meinem grossen Erstaunen hat es auch keine Probleme damit FTP-requests zu cachen (was ist das korrekte Verb ? englisch to proxy deutsch proxien ?? :smile:

MFG
Martin