1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

FTP Programm mit PRET unterschtützung ?

Dieses Thema im Forum "Filetransfer" wurde erstellt von Katapult, 09.09.06.

  1. Katapult

    Katapult Gast

    Hallo

    Ich muss auf einen Server zugreifen können der vor kurzem aktuallisiert wurde.
    Beim alten ging's ohne Probleme mit Cyberduck, aber jetz muss ich den FtP Client wechseln der PRET unterschtützt. Laut http://www.drftpd.org/index.php/Clients_with_PRET_support würde LundFxP dies unterschtützen, aber ich erhallte imme die Fehlermeldung:
    [​IMG]

    Schon mal Danke für Hilfe
     
  2. Kiteman

    Kiteman Jamba

    Dabei seit:
    05.09.06
    Beiträge:
    55
    hier findest Du mehr zu diesem FTP Command http://www.drftpd.org/index.php/Distributed_PASV#PRET_Command. Ich würde an Deiner Stelle versuchen das Problem über das Terminal und dem in der FreeBSD Dist. enthaltenen FTP Programm zu lösen.

    1. Terminal öffnen
    2. ftp eingeben [enter]
    ftp>
    3. ? eingeben
    alle Verfügbaren Commands werden gezeigt.

    ansonsten für die Doku im Terminal eingeben:

    man FTP

    Unterm Strich brauchst Du die gleiche Zeit, aber danach weisst Du mehr über das FTP Protokoll. Vielleicht kannst Du auch den Hostmaster kontaktieren, der kann Dir sicherlich besser helfen das Problem anhand des Logfiles des FTP Servers zu isolieren.

    viel Glück
    Kitemann

    Anhang: Active / Passive FTP - Quelle unbekannt

    Aktives und passives FTP

    Das FTP Protokoll stammt noch aus der Zeit, als es das Internet in der heutigen Form noch nicht gab. Zu dieser Zeit ging es um das Übertragen von Daten von einem Computer auf einen anderen. Dabei kam man noch ohne Virenscanner und Firewall aus. Daher mag es auch kommen, dass das ursprüngliche FTP Protokoll eine Besonderheit aufweist, mit der einige Firewalls nicht klarkommen.

    Ich werde in diesem Artikel beschreiben wie das FTP Protokoll arbeitet und was dazu führt, das manchmal ein FTP Betrieb durch Firewalls unterbunden wird. Um die typischen FTP Probleme zu beseitigen, wurde ein modifiziertes FTP Protokoll entwickelt, was ich dann im Abschnitt "Passive FTP" beschreiben werde.

    "Active FTP"
    Active FTP ist das originäre FTP Protokoll und bekam den Namen "Active" erst, nach dem das "Passive FTP" entwickelt wurde. FTP ist ein auf TCP basierender Service und zeichnet sich durch eine Besonderheit aus: FTP verwendet zwei Ports! Der eine Port ist der "command" Port und der andere der "data" Port. Dabei wird Port 21 für die Steuerung (command) und der Port 20 für die Daten (data) verwendet.

    Möchte sich ein Client mit einem FTP Server verbinden, so öffnet der Client einen beliebigen unpriviligierten Port (alle Ports > 1024) zum "command" Port 21 des Servers und sendet diesem die Portnummer auf dem er die Daten empfangen will. Dies ist in der Regel die Portnummer N+1.

    Beispiel: Client öffnet Port 1230 und sendet dem Server auf dessen Port 21 die Information "Ich erwarte Daten auf Port 1231". Der Server bestätigt den Emfang (acknowledge) und der Client öffnet den Port 1231 und lauscht (listening).

    Nun öffnet der Server seinen Daten Port 20 und sendet Daten zum Port 1231 des Clients. Der Client bestätigt den Empfang jedes TCP Packetes, ganz so, wie es sich gehört.

    Für eine Firewall sieht die Sache aber sehr suspekt aus. Firewalls blockieren jede Anfrage von außen. Firewalls akzeptieren nur TCP Pakete von außen, wenn diese vom empfangenden Port angefordert wurden. Aber bei FTP sieht das anders aus. Erstens hat sich plötzlich ein Port geöffnet (1231) der keine Anfrage gestellt hat und auch noch im "listening mode" ist, und dann sendet ein Port 20 Daten, die von diesem Port nicht angefordert wurden (die Anforderung stammte ja von Port 1230). In diesem Moment macht die Firewall die Klappe zu.

    Das ist das Problem, wenn ihr hinter einem Proxy oder einer Firewall sitzt. Gute Firewalls erkennen einen FTP Transfer und behindern diesen nicht. Bei Proxys treten da schon häufiger Probleme auf. Um diese Probleme zu umgehen wurde eine alternative Form des FTP Transfers entwickelt, das "Passive FTP".

    "Passive FTP"
    Dieser Mode wird auch PASV Mode genannt, weil der FTP Befehl PASV dem Server mitteilt, das der passive Mode gewünscht ist. Im Gegensatz zum aktiven Mode leitet der Client beide Verbindungen zum Server ein. Damit wird das Firewall Problem gelöst, da damit die Firewall über beide clientseitige Verbindungen Kenntnis erhält. Der Ablauf einer solchen, passiven Verbindung, wird im Folgenden beschrieben.

    Wenn der Client eine Verbindung zu einem FTP Server wünscht, so öffnet er zwei unpriviligierte Ports > 1024, z.B. Port 1030 und 1031. Nun kontaktiert der erste Port den Server auf dessen "command" Port 21. Aber anstelle dem Server mit dem "Port" Kommando mitzuteilen auf welchem Port die Daten vom Daten Port 20 erwartet werden, sendet der Client den Befehl PASV. Der Server weiß nun nicht auf welchem Port der Client die Daten empfangen will, hat aber die Information, dass der Client eine passive Verbindung wünscht.

    Hier erklärt sich nun auch der Begriff "passive". Passive bedeutet aus der Sicht des Servers, dass er nicht aktiv anfangen kann auf den, vom Client geöffneten Port die Daten zu senden.

    Der Server sendet nun keine Daten über seinen Port 20, sondern öffnet seinerseits einen Port > 1024 und sendet die Portnummer mittels des FTP Befehls PORT an den Client. Nun kann der Client aktiv das Geschehen lenken. Er kennt den unpriviligierten Port, den der Server anstelle des Ports 20 für den Datenverkehr geöffnet hat und fordert nun von seinem Port 1031 (in unserm Beispiel) die Daten an. Die Firewall kann dies nicht in Verlegenheit bringen, da ein Datenverkehr erfolgt, der vom Client selbst über den Port 1031 gesteuert wird.
     
  3. Katapult

    Katapult Gast

    uiuiui dass ist aber stoff. Danke vielmals, werd mich mal durchlesen.
     
  4. uetli

    uetli Gast

    Wunderbare Erklärung!
    Vielleicht kannst Du mir ja auch bei meinem Problem helfen, das vielleicht im Zusammenhang mit Deinen Erläuterungen stehen könnte?!

    Auf dem einen Rechner (OS X) ist ein Render Server installiert, der den Port 8080 belegt. Auf diesen Server soll ein weiterer Rechner mit einer installierten Clientsoftware (auf Port 1030) zugreifen.

    Verbinde ich den Clientrechner über airport mit der internen IP (192.168.0.1), dann verbinden sich Client und Server korrekt und der Client übernimmt, wie vorgesehen einen Rechenjob vom Server, den er ohne Fehler ausführt. Verbindet man sich dagegen über das Internet mit dem Server über die IP des Routers, verbinden sich zwar Client mit dem Server (laut Log), der Rechenjob wird jedoch nicht ausgefürht.

    Der Support des Softwareherstellers hat mir folgendes gemailt:

    >>das es Funktioniert über das "Internet" berechnen zu lassen, ist ja alleine schon dadurch Fakt, das
    mit dem Internet-Protokoll (IP) gearbeitet wird.
    Was wir aber nicht wissen können ist, ob bei Ihrem Netzwerk die verwendeten Ports wirklich alle
    Informationen versenden können.
    Nur weil der Server den Client findet, bedeutet das noch nicht, das auch die erforderlichen Daten
    von einem Rechner auf den anderen übertragen werden können. Können die Ports 1080 und 8080 wirklich
    überall geroutet werden?
    Vielleicht blockiert auch ein Protokoll bei Ihnen den HTML Transfer, mit dem NET Render ja
    arbeitet!?<<

    Der Router, den ich einsetze ist ein netgear WGR614, die Portweiterleitung ist für den Serverrechner/ 8080 aktiviert, auch in der OS X Firewall ist 8080 freigegeben.

    Als Clienten habe ich für die Verbindung übers Internet einmal ein ibook mit freigegebenem Port 1080 (in der OS X Firewall) ausprobiert und auch einen Windows-PC über die Ferne zugreifen lassen.
    Mit dem ibook bin ich über ein nicht gesichertes WLAN ins Internet, weiss also nicht, ob der betreffende "Anschluss" /Router vielleicht die Datenübertragung Server <–> Client unterbunden hat.
    Beide Versuche waren, wie beschrieben, erfolglos.

    Wenn Du damit etwas anfangen und Dir irgenwie vorstellen kannst, was hier schief läuft, wäre ich Dir für Aufklärung äusserst dankbar. Ich bin mit meinem Latein nämlich am Ende.

    Grüsse,
    Roland
     
  5. Kiteman

    Kiteman Jamba

    Dabei seit:
    05.09.06
    Beiträge:
    55
    Render Server

    Naja mit FTP hat das wenig zu tun.

    So als Ferndiagnose kann man da wenig sagen. Von meinem Gefühl her liegt das Problem entweder an der Firewall oder an der Routerkonfiguration (-> NAT). Ähnlich schreibt das ja auch der Support.

    Zuerst würde ich alle Firewalls deaktivieren. Dann würde ich mal einen Portscan (Netzwerk Dienstprogramm) machen.

    Server -> Client
    Client -> Server

    Dort sollte man dann auch die relevanten Ports sehen.

    Eventuell muss man prüfen ob nicht ein anderer Deamon einen der beschriebenen Ports überlagert (-> also auch benutzt).

    Ich kenne mich mit Render Server absolut nicht aus aber laut Deiner Beschreibung scheint der Server ein Problem zu haben Daten (Pakete) an den Client zu senden. Also sollte man prüfen bis wohin den der Server Pakete heraussendet. Kommen die beim Client an oder gibt's schon auf der Strecke Server -> Gateway Probleme

    Die Strecke vom Server sieht ja eigentlich so aus:
    Server -> Gateway -> Internet -> Gateway -> Client

    Versuche jeden Schritt logisch zu isolieren, dann schaffst Du bestimmt die Lösung. Teste das in einem simple LAN, wenn's da funzt, dann muss man die Gateways (Router) prüfen.

    Viel Erfolg
    Kiteman
    http://www.gotarifa.com
     

Diese Seite empfehlen