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

FTP Client unter suse 11.1

Hallo,

bin neu hier, und auch ziemlich neu mit openSuse unterwegs. Bin aber ein alter Solaris Guru, so ein bischen mit UNIX kenne ich mich also aus.

Wir haben hier zwei Linux Systeme aufgesetzt, beide mit openSuse 11.1, und wollen per ftp Daten zwischen den beiden austauschen.

Nun habe ich auf beiden Rechnern ftp Server installiert und die Firewall freigegeben. Eigenartigerweise passiert aber folgendes: ich kann mich von jedem dieser Rechner auf den anderen per FTP einloggen, ich krieg aber keine Datenübertragung hin. Und, verwende ich als Client oder Server irgendein anderes Betriebssystem, dann klappt das Ganze. Nur von Linux zu Linux klappt es nicht, egal welcher der beiden als Server oder Client läuft.

Hier die Ausgaben auf der Linux Konsole:

/home/da> ftp
ftp> open linux-m5cx
Connected to linux-m5cx.mis.amat.com.
220-Welcome to Pure-FTPd.
220-You are user number 1 of 50 allowed.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (linux-m5cx:da):
331 User da OK. Password required
Password:
230-User da has group access to: lcd users video dialout
230 OK. Current directory is /home/da
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Extended Passive mode OK (|||31230|)
^C
receive aborted. Waiting for remote to finish abort.
ftp> close
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.

Nach dem Extended Pasive mode OK passiert nix mehr, nur noch Ctrl-C geht.

Hier dasselbe wenn ich einen Solaris FTP Server nehme:

/home/da> ftp
ftp> open chardonnay
Connected to chardonnay.mis.amat.com.
220 chardonnay FTP server ready.
Name (chardonnay:da):
331 Password required for da.
Password:
230 User da logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls -l
229 Entering Extended Passive Mode (|||21844|)
150 Opening ASCII mode data connection for /bin/ls.
total 356814
-rw-rw-r-- 1 da users 752 Oct 11 1999 .@Blanker_Detail.pdf
-rw-rw-r-- 1 da users 758 Sep 24 1999 .@Blanker_Ubersicht.pdf
-rw-rw-r-- 1 da users 760 Aug 11 1999 .@Operating_ManualV2.pdf
-rw-r--r-- 1 da users 716 Jun 26 2001 .@desktop
-rw-rw-r-- 1 da lcd 742 Jul 10 10:54 .@desktop.ileaf

Ebenso kann ich von einem Solaris Client auf den Linux Server zugreifen, oder auch von einem Windows Client. Nur von Linux nach Linux geht es nicht. Woran hapert es?

Volker
 
VolkerD schrieb:
Nun habe ich auf beiden Rechnern ftp Server installiert und die Firewall freigegeben.
Naja, bei der detaillierten Angabe ist eine Fehlerdiagnose schlecht möglich. Was wurde wie geändert? Und warum nimmst du nicht einen ftp-Server den openSUSE mitliefert?

Ich würde sagen 99% aller Probleme bei ftp-Verbindungen lassen sich auf die Passiv-Ports zurück führen. Entweder werden die nicht auf dem Server freigegeben oder ein NAT-Router bzw. explizite Firewall blockieren diese.
 
Hallo!

Funktioniert es eventuell auf den Linux kisten, wenn du vorher:
Code:
export FTP_PASSIV=1
Sagst? Bei mir ist dies quasi maßgebend. Habe hier pure-ftpd mit SSL only und in MySQL angebunden.

Gruß,

R
 
Also da wurde nix geaendert sondern neu installiert und es hat von Anfang an nicht funktioniert.
Und mehr als das was die Konsole ausspuckt weiss ich erst mal auch nicht.

Per default ist leider gar kein FTP Server unter Suse 11.1 installiert. Zum nachinstallieren gab es zwei Moeglichkeiten, entweder den pure-ftp oder den vsftp. Letzterer hat gleich beim versuchten Verbindungsaufbau eine Fehlermeldung gebracht (Ooops, cannot bind to socket, oder so aehnlich), der pure-ftp scheint aber zu gehen, zumindest solange man nicht ein anderes Linux als Client verwendet.

Zuerst dachte ich, dass die Firewall noch irgendwas blockiert, also habe ich sie deaktiviert, ohne Erfolg.

Dann habe ich das mit dem FTP_PASSIV probiert. Hat auch nix genutzt.

Vielleicht liegt es ja an der Fehlermeldung des vsftp, cannot bind to socket, und der pure-ftp macht halt diese Meldung erst gar nicht, scheitert aber genauso. Aber was kann ich da machen?

Weitere Vorschlaege?

Volker
 
Habe jetzt herausgefunden woran es liegt, so halb jedenfalls.

Es liegt doch an der Firewall, was ja auch mein erster Verdacht war. Es liegt aber nicht am Client, sondern am Server. Dort genuegt es nicht, den ftp Port 21 freizugeben, es sind wohl auch die Datenports freizugeben. Nur die kenne ich ja nicht. Ich habe jetzt die Firewall komplett deaktiviert, damit geht es erst mal.

Heisst das, man kann auf einem Server generell keine Firewall verwenden, oder gibt es eine Moeglichkeit, diese "richtig" zu konfigurieren?

Man kann ja verschiedene Zonen verwenden / einrichten. Aber damit habe ich noch nichts gemacht. Werde mal unseren IS&Tler fragen, der sollte sich damit besser auskennen.

Volker
 
admine schrieb:
Warum nimmst du nicht ssh und damit scp bzw. sftp?
Zum einen haben wir das noch nie benutzt und zum anderen soll es auch Betriebssysteme geben, die so was nicht koennen, zum Beispiel unsere Standard-Windows-Installation hier in der Firma.

Ausserdem stellt sich die Frage, ob das da anders gehandhabt werden wuerde, weiss ich nicht.

Volker
 
VolkerD schrieb:
... zum anderen soll es auch Betriebssysteme geben, die so was nicht koennen, zum Beispiel unsere Standard-Windows-Installation hier in der Firma.
Was sich durch die Installation von WinSCP beheben lässt.
Das Argument "Auf den Rechner kommt nur SW von Fa. XY und sonst nix" wiegt deutlich weniger als die Verwendung von klassischem FTP und dem damit verbundenen Umstand dass Logindaten unverschlüsselt ins Netz geschickt werden.
 
panamajo schrieb:
VolkerD schrieb:
... zum anderen soll es auch Betriebssysteme geben, die so was nicht koennen, zum Beispiel unsere Standard-Windows-Installation hier in der Firma.
Was sich durch die Installation von WinSCP beheben lässt.
Das Argument "Auf den Rechner kommt nur SW von Fa. XY und sonst nix" wiegt deutlich weniger als die Verwendung von klassischem FTP und dem damit verbundenen Umstand dass Logindaten unverschlüsselt ins Netz geschickt werden.
Das hat damit erst mal gar nix zu tun. Nicht ich installiere die Windows-Rechner sondern unsere IT Abteilung. Ich habe weder das Recht noch die Möglichkeit so was zu tun. Lediglich die UNIX Maschinen darf ich was machen, weil da kennt sich die IT Abteilung nicht aus. Und wir haben hier im Hause auch noch andere Betriebssysteme im Einsatz, wie z.B. Echtzeit OS-9, da gibt es meines Wissens nach auch kein ssh für.

Also, ich möchte hier einen FTP Zugang realisieren, und keine Diskussion darüber wie sicher oder unsicher das ist. Muß ich dazu nun die Firewall komplett deaktivieren oder geht es auch anders?

Volker
 
Tooltime schrieb:
Und warum nimmst du nicht einen ftp-Server den openSUSE mitliefert?
Entschuldigung, habe proFTP und pureFTP verwechselt.
VolkerD schrieb:
Dort genuegt es nicht, den ftp Port 21 freizugeben, es sind wohl auch die Datenports freizugeben. Nur die kenne ich ja nicht.
Genau das sind die passiv-Ports. Habe hier schon mal was detaillierter drüber geschrieben:
Die einfachste Lösungsvariante, installiere yast2-ftp-server und konfiguriere damit den ftp-Server. Damit muss man nur noch angeben wieviele Verbindungen max zulässig sind. Die Anzahl der passiv-Ports und die Firewall werden dann automatisch angepasst.
 
Danke für den Link, werde ich mir mal reinziehen.

Aber eine Frage habe ich noch: wenn es daran liegt, weshalb habe ich dann keine Probleme, wenn ich mit einem Solaris oder Windows FTP Client auf den Linux Server zugreife?

Volker
 
Hallo!

Ich vermute du musst dem client erst mitteilen, dass er Passiven FTP machen soll. (Von linux client zu Linux client). Ich habe den Eintrag aus meinem ersten Posting in der usernames .bashrc. Also der FTP client kann beides beispielsweise dass programm "ftp";

Default ist eines von beiden (passiv oder nicht):
- Eines von beiden ist für dich richtig also 0 oder 1.

Falls es das nicht ist, auch ok. :)

Gruß,

R
 
VolkerD schrieb:
Aber eine Frage habe ich noch: wenn es daran liegt, weshalb habe ich dann keine Probleme, wenn ich mit einem Solaris oder Windows FTP Client auf den Linux Server zugreife?
Naja wie ich in dem Link hoffentlich erklärt habe:

  • a)
    Die Clients benutzen aktiv FTP, dann geht die Datenverbindung rückwärts vom Server zum Client. Wenn blockt dann die Firewall vom Client. War früher normal, das sich die Clients aber heutzutage typischer Weise hinter NAT verstecken funktioniert das nicht ohne besondere NAT-Router. Also ist man zu passiv FTP gewechselt.

    b) Verbindung per UDP, dann läuft die Datenverbindung über Port 20 und den hast du bestimmt freigegeben.

    c) Es gibt noch eine Möglichkeit die ich nicht kenne.
 
OK, dann wird es wohl so sein, dass die Windows und Solaris FTP Clients defaultmaessig den Aktiv Modus nehmen und der Linux Client defaultmaessig den Passiv Modus, warum auch immer.
 
Wenn man Daten transferiert (put/get) müsste doch eine entsprechende Meldung kommen, "open data connection ... active/passive mode" oder ähnlich. Bei Linux kann man mit ftp -A den active mode auf dem Client erzwingen.
 
Oben