PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FTP list Problem



Vagabundo
09.07.09, 18:07
Folgende Situation:

Ich habe zwei Server im Internet, die ziemlich identisch konfiguriert sind:
Gleiche Firewall config, gleicher ftp server (vsftpd) mit gleicher config

Bisher habe ich auf beide Server immer per ftp mit meinem uralten WS FTP LE zugegriffen und das hat ohne Probleme funktioniert.

Jetzt habe ich auf Filezilla (Client) umgestellt und kann auf den einen FTP-Server problemlos zugreifen und auf dem anderen bekomme ich zwar Verbindung aber kein list:

Status: Verbunden
Status: Empfange Verzeichnisinhalt...
Befehl: PWD
Antwort: 257 "/"
Befehl: TYPE I
Antwort: 200 Switching to Binary mode.
Befehl: PASV
Antwort: 227 Entering Passive Mode (208,49,75,183,27,238)
Befehl: LIST
Fehler: Zeitüberschreitung der Verbindung
Fehler: Verzeichnisinhalt konnte nicht empfangen werden

Auf dem anderen Server funktioniert der Zugang einwandfrei.

Stelle ich dann auf dem betroffenen Server die Firewall ab, klappt es auch dort mit dem FTP Zugang und dem list

Ich habe bei BEIDEN fuer ftp die gleiche Firewall Konfiguration:

-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 21 --state NEW -j ACCEPT
......... andere Service
-A RH-Firewall-1-INPUT -j DROP

Meine Frage:
Wieso funktioniert es mit dem einen FTP-Programm und mit dem anderen nicht?
Und warum funktioniert es mit Filezilla auf dem einen Server und auf dem anderen nicht?

Was muss ich an der Firewall aendern, damit es auch bei dem Problem Server klappt?

Vagabundo

HirschHeisseIch
09.07.09, 18:16
Passive-FTP-Ports öffnen.

Wahrscheinlich benutzt das andere Programm keinen Passive-Mode und der Filzilla evtl. bei der Verbindung zum anderen Server ebenfalls nicht...
Oder die Firewall/der Ftpd ist doch ein wenig anders konfiguriert...

Vagabundo
09.07.09, 19:06
Also Filezilla verwendet bei beiden Servern den Passiv mode. Das hier ist der Zugriff auf den funktionierenden Server:

Status: Verbunden
Status: Empfange Verzeichnisinhalt...
Befehl: PWD
Antwort: 257 "/"
Befehl: TYPE I
Antwort: 200 Switching to Binary mode.
Befehl: PASV
Antwort: 227 Entering Passive Mode (208,49,75,184,193,237)
Befehl: LIST
Antwort: 150 Here comes the directory listing.
Antwort: 226 Directory send OK.

Und die firewall ist ebenfalls gleich konfiguriert

Und mit WSFTP LE ging es ja auch auf beiden Servern und es hat auch auf beide im Passiv Mode zugegriffen.

Vagabundo

Newbie314
10.07.09, 14:45
TCP 20 und 21 auf beiden Servern erreichbar ?

Vagabundo
12.07.09, 15:24
Hallo,

danke fuer den Hinweis.

Port 20 ist nirgends freigegeben, weder auf dem funktionierenden Server noch auf dem nicht funktionierenden Server.

Aber ich habe eben mal getestet, ob sich etwas veraendert, wenn ich Port 20 zusaetzlich freigebe. Aber es gab keinerlei Veraenderung:

Befehl: LIST
Fehler: Zeitüberschreitung der Verbindung
Fehler: Verzeichnisinhalt konnte nicht empfangen werden

Wer hat noch einen Tip fuer mich?

Vagabundo

L00NIX
12.07.09, 16:37
IPTables benötigt ein Modul nf_conntrack_ftp, um die passiven Verbindungen verwalten zu können.

Testweise kannst du ja mal FTP im Active Mode testen, das sollte nämlich funktionieren.

Gruß
L00NIX

Vagabundo
12.07.09, 18:24
Danke fuer den Hinweis,

habe ich versucht: Im Filezilla unter dem Server Aktiver Modus eingestellt, wechselt aber trotzdem weiterhin zu passivem Modus und bringt dann kein Listing.

Was ich aber vor allem nicht verstehe:
Warum ging das ganze mit WS-FTP LE (auch passiv), einem uralten Programm und mit Filezilla nicht?
Und warum geht es bei gleicher Konfiguration bei einigen Servern und bei einigen nicht? (habe inzwischen noch mehr Server gefunden bei denen es nicht geht - bei gleicher Konfiguration und Software)
Oder habe ich mir mit Filezilla ein schlechtes Programm ausgesucht?
Was gibt es fuer bessere Alternativen?
Herzliche Gruesse
Christian

L00NIX
12.07.09, 18:56
Es ist mit Sicherheit kein Client-Problem.

Ist das FTP-Conntrack-Modul geladen, wie ich oben geschrieben habe?

Das wäre mal ein Ansatzpunkt.

Wenn das nicht hilft, könnte es noch etwas ganz anderes auf Clientseite sein, aber das glaube ich eher nicht.

Vagabundo
12.07.09, 21:31
Hallo,

habe jetzt herausgefunden, dass weder auf den funktionierenden noch auf den nicht funktionierenden Servern dieses Modul geladen ist.

Auf dem funktionierenden Server finde ich allerdings ein
ip_conntrack_ftp

lsmod zeigt mir auf dem funktionierenden Server:
ip_conntrack 41205 4 ip_nat_ftp,ip_conntrack_ftp,iptable_nat,ipt_stat

Erfuellt das den gleichen oder einen aehnlichen zweck? Habe gerade in Google gelesen, dass das wohl die VorgaengerVersion war.

Und wie bekomme ich es auf dem nicht funktionierenden Server geladen?

Mit diesen Dingen habe ich mich noch nie vorher befasst, da ich normalerweise mit fertig konfigurierten Servern gearbeitet habe. Und mit dem Client-Programm WS-FTP LE hatte ich auch nie Probleme. (Weshalb nicht ??? wenn dieses Modul doch gebraucht wird)

Wie bekomme ich denn jetzt diese Module auf meine Server und wie starte ich sie?

Vagabundo

L00NIX
12.07.09, 21:44
Die Version des contrack sollte nix zur Sache tun, vor allem, wenn der andere Server auch diese Version nutzen sollte.



Eine andere Idee:

Stehen die Server bei unteschiedlichen Providern? Wenn ja, drehe mal deine MTU auf dem Client runter, sagen wir mal testweise wir auf 1400, das machste so:


# ifconfig eth0 1400


Wenn es dann gehen sollte, liegt es daran, dass ICMP geblockt wird und keine Aushandlung der maximalen Segment Size stattfinden kann.

Gruß
L00NIX

Newbie314
12.07.09, 22:36
Probiere mal das Kommandozeilen FTP mit der Option die aktives FTP erzwingt. Wenn ja liegt es definitiv am passiven FTP.

Habe ein ähnliches Problem mit einem Fedora Server (den ich nicht administriere...) da ist es aber so dass die Windows-Mitstreiter mit ihrem Filezilla problemlos drauf zugreifen können, ich den Kommandozeilen FTP aber auf aktiv stellen musste bis ich herausfand wie man das beim Konqueror auch hinbekommt....

Janes
13.07.09, 13:00
ich hatte gerade erst das gleiche problem schau mal hier:

http://www.linuxforen.de/forums/showthread.php?t=262338

Vagabundo
13.07.09, 14:59
Problem geloest.

Danke an Euch alle. Es lag wirklich an dem Modul ip_conntrack_ftp, das gefehlt hatte.

Ich hatte nach Euren infos immer nach dem nf_conntrack_ftp gesucht. Aber scheinbar laeft bei mir auf allen Servern noch das ip... statt dem nf....

Nur noch eine Frage:
Ich habe jetzt mit
modprobe ip_conntrack_ftp
gestartet. Aber was kommt nach einem Neustart? Muss es dann wieder neu geladen werden?

Wie kann ich das automatisieren?

Tut mir leid, aber ich habe bisher mit Modiulen praktisch keine Erfahrung.

Vagabundo

Janes
13.07.09, 15:24
schreib in die config der firewall



FW_LOAD_MODULES=ip_conntrack_ftp