FTP-Problem beim Coyote Linux Disc-Router

Hallo zusammen,

ich benutze seit einiger Zeit den Diskettenrouter Coyote Linux und möchte mir nun auf meinem lokalen Rechner einen FTP-Server aufbauen.
Man soll einerseits im aktiven, aber auch im passiven Modus auf den Server connecten können.
Der aktive Modus ist kein Problem, da funktioniert alles einwandfrei. Loggt ein User sich im passiven Modus ein, dann ist er zwar als User eingeloggt, er bekommt aber keine Informationen über das Directory zurück.

In den FAQ von Coyote Linux steht, daß man in seiner Konfiguration die Zeilen

FTP Server: Forward ports 20-21 (TCP&UDP) to host 192.168.0.2

/sbin/ipmasqadm autofw -A -r tcp 20 21 -h 192.168.0.2
/sbin/ipmasqadm autofw -A -r udp 20 21 -h 192.168.0.2

hinzufügen soll. Das hab ich gemacht, das Problem besteht aber immer noch.

Weiß hier vielleicht jemand, wie das funktionieren könnte, daß sich der User auch im passiven Modus ohne Probleme einloggen und den FTP nutzen kann??

Viele Grüße
Christina

Hallo Lämmchen,

ich erkläre dir mal kurz wie ftp funktionier.

  1. control connection
    Der Client öffnet eine control connection zum well-known Port des Server´s. Diese Verbindung bleibt die ganze Zeit bestehen und wird zum Beispiel für das übertragen der Kommandos verwendet.

  2. data connection
    Jedes mal wenn eine Datei übertragen werden soll, wird eine data connection aufgebaut.
    Es gibt 2 möglichkeiten wie diese Verbindung zustande kommt.

    A. Actives FTP
    Der Server teilt dem Client über die control connection mit auf welchen Port er zugreifen wird.

    B. Passives FTP
    Der Client teilt dem Server über die control connection mit von welchen Port aus er auf dem Server zugreifen wird.

BSP.
Client Port 1211 (Zufällig) Server Port 21

Active
Client: Sende mir mal die Datei blablubb.
Server: Hey alter dann mach mal den Port 1143 bei dir auf. Ich schicke dir dann die daten von meinem Port 20.
Client: Jo das geht klar.

Der Server baut eine Verbindung von Port 20 zu Port 1143 auf.
Server Port 20 Client Port 1143

Passive:
Client: Du mir geht das eigentlich auf dem Keks das du immer die Ports auswählts. Ich mache das Absofort. (Passive)
Server: Na gut wenn du dann glücklich bist.
Client: Sende mir mal die Datei blablubb. Ich öffne dir dann mal den Port 1367).
Server: Geht klar. Ich warte dann mal auf deine Verbindung

Der Client baut vom Port 1367 auf den Port 20 ein Verbindung auf.
Client Port 1367 Server Port 20

So wenn das einiger Massen gut erklärt ist, hoffe ich das du verstehts wie FTP Funktioniert und wo die Probleme liegen könnten.

Meistens ist es so das der Active Modus nicht geht. Ganz klar weil die FW des Clients keine Verbindung rein lässt die nicht zu einer Bestehenden Verbindung gehören. Das Problem kann man mit Stateful Inspection lösen.

Bei dir ist es anscheinden der umgekehrte Fall. Irgendwie darf der Client keine Verbindung auf den Server Port 20 aufmachen. Evtl. Sprechen Firewall regeln dagegen.

In diesem Sinne

polarbear

Hallo Polarbär,

ich weiß zwar nicht, was eine Erläuterung zur Funktionsweise von FTP mit meiner Frage zur Konfiguration des Coyote Linux Routers zu tun hat, aber trotzdem danke.

Gruß,
Christina

Re,

ich habe mir einfach gedacht das das debuggen für dich leichter wird, wenn du weißt wo der Unterschied zwischen activen und passiven ftp ist.
Da du uns ja ansonsten nicht gerade mit informationen überhäuft hast, kann man nicht genau sagen wo ran es liegt. Aber wenn du meine Zeilen gelesen hast. Hast du zumindest Anhaltspunkte wo du suchen sollst und was für Informationen benötig werden.

cu
polarbear

Hallo !

Hallo zusammen,

ich benutze seit einiger Zeit den Diskettenrouter Coyote Linux
und möchte mir nun auf meinem lokalen Rechner einen FTP-Server
aufbauen.
Man soll einerseits im aktiven, aber auch im passiven Modus
auf den Server connecten können.
Der aktive Modus ist kein Problem, da funktioniert alles
einwandfrei. Loggt ein User sich im passiven Modus ein, dann
ist er zwar als User eingeloggt, er bekommt aber keine
Informationen über das Directory zurück.

In den FAQ von Coyote Linux steht, daß man in seiner
Konfiguration die Zeilen

FTP Server: Forward ports 20-21 (TCP&UDP) to host

192.168.0.2
/sbin/ipmasqadm autofw -A -r tcp 20 21 -h 192.168.0.2
/sbin/ipmasqadm autofw -A -r udp 20 21 -h 192.168.0.2

Die Erlärung ist recht einfach…
Active - .2 Baut eine ausgehende Verbindung zu Client auf, kein Problem
Passiv - .2 Sagt dem Client, „Connecte dich zu mir auf Port xyz“, und macht dort einen ServerSocket auf. Der Connect kommt höchstwahrscheinlich nicht durch den Router, da xyz meist >1024 und vom FTP-Server auf .2 gewählt.

Suche also in deinen Einstellungen/Doku des FTP-Servers auf .2 nach den Portadressen, die er für passives ftp verwendet. Wenn konfigurierbar, sage dem dann, das er entweder NUR 20 verwenden soll, oder aber nimm einen Bereich (falls nur das möglich ist) Ports>50000 und trage den zusätzlich in’s ipmasqadmin ein. TCP reicht, ftp braucht kein UDP.

Eventuell tut es auch stattdessen ein „insmod ip_masq_ftp“ in dem Script auf dem Linux, weiß leider nicht, ob das auch bei Servern geht oder nur bei Clients.

Alexander