PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ftp Server Ports Problem



cartmen
05.12.07, 21:37
Hallo,

ich hab ziemliche Probleme mit meinem proftpd Server auf Debian Lenny. Ich hab das seit kurzem auf ner eigenen Xen-VM aber so richtig wird das nichts. Ich leite die Ports 20 und 21 von der Hostmaschine auf die VM weiter.

Befehl:

iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 20 -j DNAT --to 10.0.5.11

Die VM ist über eine Bridge an das Internet angebunden. Und nun zu meinem Problem. Wenn ich von einem anderen Linuxserver auf meinen Server zugreife dann wird das einwandfrei durchgeroutet, und er kommt auch auf den FTP und auch Dateien senden und empfangen geht. Wenn ich das jetzt allerdings mit Filezilla von Windows XP aus probiere dann wird er durchgeroutet aber kommt nicht rauf.

Er meldet:

Error: Transfer channel can't be opened. Reason: Der Host war bei einem Socketvorgang nicht erreichbar.
Error: Could not retrieve directory listing

Ich bin ganz schön verwirrt. Bitte um Hilfe.

cartmen
06.12.07, 13:08
so das Problem konnte wieder etwas eingegrenz werden. Eine Verbindung über passives FTP Protokoll kommt mit der Fehlermeldung oben nicht zu Stande. Wenn man allerdings im Port Modus des Ftp-Programmes versucht dann klappt die Verbindung auch. Ich hab leider bisher noch nie etwas von diesem Modus gehört. Ich würde jetzt gerne wissen, warum der Port Modus funktioniert, aber der passive Modus nicht. Würde mich über paar Vorschläge sehr freuen.

Diabolo
06.12.07, 13:14
http://www.spit.de/index.php?option=com_content&task=view&id=19&Itemid=33

oder

http://www.google.de/search?hl=de&q=ftp+activ+vs+passiv+modus&meta=

cartmen
06.12.07, 16:08
Ahh ok. Ich hatte mir zwar die Sachen zu aktivem und passivem FTP durchgelesen, aber das der Portmodus mit aktiv gleichzusetzen ist war mir dann doch unklar. Danke für den Hinweis ich werd mir dann nochmal meine Firewallregeln anschauen.

cartmen
10.12.07, 17:57
So das Problem wurde jetzt gelöst. Hier mal die Sachen, die ihr machen müsst, damit das funktioniert.

In /etc/proftpd/proftpd.conf einfügen:

MasqueradeAddress ip-des-internet-interfaces

und folgende NAT-Regeln:


iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 21 -j DNAT --to 10.0.5.11
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 45000:50000 -j DNAT --to 10.0.5.11

Dabei ist ETH2 die Netzwerkkarte, von der die Verbindungen aus dem Internet kommen und 10.0.5.11 ist die IP der VM, auf der der FTP-Server läuft. Die Ports 45000-50000 sind die passiven Ports von Proftpd. DIese können in der /etc/proftpd/proftpd.conf auch angegeben werden.