• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Win-FTP Client will nicht über SuSE Router

backi

Newbie
Mahlzeit!

Mein Netz:
Linux SuSE 9.1 Server als Gateway zum Inet über DSL. Die zweite Netzwerkkarte hängt an einem Switch und daran einige WIN Clients.

Das Problem:
Ein FTP Client auf den WIN Clients im LAN will sich nicht zu FTP Servern im Internet verbinden. Zunächst funktioniert alles. Passwort wird abgefragt und es kommt die Welcome Message vom FTP Server. Dann fordert der FTP Client das Directory Listing und schwupps: "Error opening data socket".

Meine Fehlersuche:
SuSE Firewall inaktiv. Kleines packet filtering via iptables a la "erlaube alles, verbiete gefährliches". Vor den iptables werden alle Regeln gelöscht! Andere Clients auf den WIN Maschinen die verschiedene Ports benutzen funktionieren einwandfrei. FTP Service auf dem Linux Gateway ist in der "etc/services" deaktiviert.
Ein zusätzliches "$IPTABLES -t nat -A PREROUTING --dst $IP_INET -p tcp --dport 20 -j DNAT --to-destination <interne IPs>" hat nichts genützt. In "var/log/messages" wird nichts gemeldet.

Ich bin noch relativer Anfänger. Also bitte nicht schlagen :?
Für jeden Tipp wäre ich dankbar.

MfG
 

BlackRock

Newbie
Das liegt an der Passive/Aktiv Port Range!
Must per IPTABLES die Portrange auf den PC mit dem FTP Client leiten...
 

stka

Guru
FTP arbeit anders als alle anderen Dienst. Es gibt aktives un passives FTP. Meist wir aus Sicherheitsgründen heute nur passives FTP verwendet.
FTP brauch immer zei Kanäle, einen Befehls- und einen Daten- Kanal. Der Befehlskanal wird über den Port 21 realiseirt. Das läuft ja bei dir. Der Daten-Kanal wird immer über high-ports (1024-65535) sowohl auf client als auch auf Server Seite realisiert. Was dir nun fehlt ist der Daten-Kanal.
$IPTABLES -A FORWARD -i $INT -o $EXT -p TCP --sport 1024:65535 --dport 1024:65535 -j ACCEPT
Das sollte dein Problem lösen. Wenn du mit statefull inspection arbeitest dann so

$IPTABLES -A FORWARD -i $INT -o $EXT -p TCP -m state --state NEW --sport $1024:65535 --dport 1024:65535 -j ACCEPT
 
OP
B

backi

Newbie
Hmm...ne, leider nicht.

Wie gesagt funktioniert jede andere Anwendung die irgendwelche High Ports verwendet. ICQ funktioniert ja beispielsweise auch, obwohl ich keine Regel dafür geschrieben habe.

Egal welchen deiner Vorschläge ich probiere, es ändert sich nichts und es werden auch keine Meldungen in /var/log/messages ausgespuckt.


regards
 
Oben