PASV/Port/Router-Problem

CubiX

bekommt Übersicht
Huhu folks,

ich weiss, es ist ein leidiges Thema, allerdings bin ich am Ende mit meinem Latein, so dass ich mir von Euch neue Denkanstösse erhoffe.

Folgendes ist der Stand der Dinge:
Ich habe einen G6 Server installiert, der lief auch immer ganz gut, bis sich die Meldungen von den Benutzern häuften, dass sie erst nach mehrmaligem Reconnect einen Verzeichnisinhalt zu sehen bekommen, oder aber Zugriff auf ein Verzeichnis bekommen.

Gut, hab ich mir gedacht, irgendwas stimmt an der Konfiguration nicht, warscheinlich irgendwas mit der Verbindung über PASV. Unter Domain settings/IP-Binding ist "disable PASV-Mode" aus, "Redirect PASV-IP" ist auf die dyn-Adresse eingestellt und als Port-Rangee habe ich 50000-50100 angegeben.

Eigentlich alles ok, wenn das nicht die Merkwürdigkeit wäre, dass diese Portrange nur benutzt wird, wenn ich lokal connecte.
Also wohl eher ein Routerproblem.... Mein Router ist ein Lancom 1821, an dem kann man so ziemlich alles einstellen, was ich bisher gebraucht habe. Für die Tests habe ich die Firewall am Server und im Router ausgeschaltet, es geht also lediglich um das Portforwarding. Im Router habe ich genau den gleichen Portbereich (50000-50100) mit der internen IP-Adresse des Servers verbunden.

Wenn ich nun versuche, mit einem FTP-Client zu connecten (ich hab jetzt schon mehrere durchprobiert, daran kann es nicht liegen), kommt eine immer ähnlich wie die folgende klingende Meldung:

227 Entering Passive Mode (82,83,117,59,227,248)
Opening data connection IP: 82.83.117.59 PORT: 58360.
Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.
PORT 192,168,111,100,6,221
200 Port command successful.
Opening data connection IP: 192.168.111.100 PORT: 1757.
MLSD
150 Opening data connection for directory list.
233 bytes received successfully. (233 B/s) (00:00:01).
226 Transfer ok.

82,83,117,59 war zum Zeitpunkt der Verbindung die öffentlich IP, also die richtige. allerdings ist der Port aus einem völlig falschen Bereich, warum das so ist, kann ich mir nicht erklären.
Die 192.168.111.100 ist die IP des Rechners, von dem ich connecte. Nachdem das PASV-Kommando fehlgeschlagen ist, bekommt er die Verbindung ja trotzdem hin.

Wenn ich nun über http://www.g6ftpserver.com/de/ftptest den Server teste, kommt immer nur

< 227 Entering Passive Mode (82,83,117,59,227,27)
* Trying 82.83.117.59... * Timed out
* couldn't connect to host

Auch hier wieder ein Port, der nicht im angegeben Portbereich liegt. Das witzige an der Sache ist, wenn ich nun einen Portbereich vom 57000-60000 (indem die Ports für PASV merkwürdigerweise immer liegen) freigebe, kommt die Verbindung auch nicht fehlerfrei zustande. auch wenn ich den gesamten Bereich von 1024-65535 freigebe, will die Verbindung nicht glücken.

Der Router ist eigentlich sehr zuverlässig, habe bisher noch keine Probleme damit gehabt, andere Portbereiche, die ich freigeben mussten, haben immer problemlos funktioniert.

Ach ja, es ist übrigens egal, onb der Server auf Port 21 oder einem anderen Port läuft, auch ist es egal, ob StandardFTP oder SSL.

Habe ich noch etwas vergessen, was für die Ideengebung noch wichtig sein könnte oder habe ich etwas übersehen, was ich noch einstellen muss?

Viele Grüße,

CubiX
 
Ist unter Domaineinstellung/IP Bindung Passive IP deine Dyndns oder vergleichbares eingetragen? Die lokale IP des Rechners, auf dem sich der FTP befindet, sollte da nicht stehen.
 
Was früher unbedingt nötig war, führt bei neueren Routern häufig zu Problemen. Versuche mal folgende Einstellung, auch wenn es Dir seltsam erscheint:

- im Router nur Port 21 freigeben, die PASV-Ports nicht.
- Server auf Port 21 legen
- PASV-Portrange festlegen
- Eintrag unter Passive Mode IP: nichts!

Genau so (und nur so) funktioniert es z.B. mit der Fritz!Box oder dem Devolo-Router. Ich bin auch fast zum Tier geworden, weil ich zuviel konfiguriert hatte.
 
Huhu,

mal ganz ehrlich, überall findet man, dass man die richtige Portrange freigeben muss.
Wie soll man da auf die Idee kommen, dass man genau das Gegenteil tun muss. Aber gut, dass es jetzt hier steht, hoffentlich wird damit auch anderen geholfen und die schlagen sich nicht mehrere Tage damit rum.

> PASV
< 227 Entering Passive Mode (82,83,118,39,228,146)
* Trying 82.83.118.39... * connected
* Connecting to 82.83.118.39 (82.83.118.39) port 58514
* Connected the data stream with PASV!

> TYPE A
< 200 Type set to A.

> LIST
< 150 Data connection accepted from 213.215.47.130:6616; transfer starting.
* Getting file with size: -1
< 226 Transfer ok.

Jetzt ist mit dem unverschlüsseltem Zugang alles bestens, vielen Dank für den Tip.

Das einzige Problem ist der verschlüsselte Zugang, den ich nunmal lieber hätte.
Unter IP-Binbing habe ich nun unter Port 21 "Regular FTP-Sessions, allow Explicit-SSL" eingestellt (unverschlüsselt funktioniert ja auch prima), explicit-SSL allerdings nicht. Auf Port 990 habe ich implizites SSL zugelassen, gleiches Ergebnis (Wie gesagt, verschlüsselt hatte vorher schonmal getan, bis ich versucht habe, unverschlüsseltes FTP hinzuzunehmen). Nun habe ich im Zuge dieser Konfiguration soviel umgestellt, dass die Verschlüsselung nicht mehr klappt. Unter
Interessanterweise wird verschlüsselt auch genau die Portrange benutzt, die ich angegeben habe:

> PASV
< 227 Entering Passive Mode (82,83,118,39,195,163)
* Trying 82.83.118.39... * Timed out
* couldn't connect to host

Wenn Ihr jetzt noch so einen schnellen genialen Tipp parat habt, habt Ihr mir das Wochenende gerettet.


Cubix
 
Im Router auch Port 990 und 113 freigegeben? 113 ist für die SSL-Übertragung Notwendig.
 
990 war schon frei, 113 noch nicht, das war aber nicht das Problem. Wie gesagt, es hat ja auch schonmal funktioniert, wenn auch mit Problemen (Verzeichnisse wurden teilweise nicht angezeigt), da war der 113 auch nicht frei.
 
Huhu,

folgende Einstellungen habe ich unter IP-Binding gemacht: siehe Bild im Anhang.
Unter Redirect PASV-IP habe ich auch schon den Dyndns-Namen angegeben, hat keinen Unterschied gemacht. Das Ergebnis ist das gleiche :(
 

Anhänge

  • ftp.gif
    ftp.gif
    11,5 KB · Aufrufe: 671
Das doch gammel... Nun weiß ich leider auch nicht mehr weiter. Ich hoffe jemand kompetenteres kann weiterhelfen.
 
Ich finde das Logfile für deine Konfig. bissel eigenartig ?! :crazy

Opening data connection IP: 82.83.117.59 PORT: 58360.

Was macht der denn auf 58360, wo er doch nur auf 20,21 und 50000-50100 darf ??
War das Zufall oder kommt das häufiger vor?
 
genau, deshalb habe ich ja auch erst hier gepostet. Der Port-Range wurde halt nicht benutzt, den ich eingestellt hatte (zumindest nicht bei unverschlüsseltem FTP).
Wenn ich versuche, verschlüsselt mich zu verbinden, dann dann nimmt er Ports aus der angegebenen Range. Allerdings dann verbindet er nicht wegen Time-Out.

regular FTP (Port 21):

> PASV
< 227 Entering Passive Mode (82,83,118,39,228,176)
* Trying 82.83.118.39... * connected
* Connecting to 82.83.118.39 (82.83.118.39) port 58544
* Connected the data stream with PASV!

explicit FTP (Port 21):

PASV
< 227 Entering Passive Mode (192,168,111,99,195,161)
* Trying 192.168.111.99... * Timed out
* couldn't connect to host

Hier nimmt er einen Port aus dem richtigen Bereich (50081), beim implizit-FTP auf Port 990 ist es das gleiche Verhalten.
Anfangs klappte es ja mit keiner Verbindung, bis Supernature den Tipp mit den Ports brachte, die nicht im Router freigeschaltet werden dürfen. Danach klappte es interessanterweise mit dem regulären FTP, allerdings auch nicht innerhalb des angegebenen Port-Range.
 
Was macht der denn wenn du (temporär) die SSL Funktion vom Server entfernst.

Benutzt du die 3,5 oder älter?
 
ich benutze die 3.5er Version.

Auch wenn ich SSL ausstelle, nimmt er den "falschen PASV-Port":

> PASV
< 227 Entering Passive Mode (82,83,118,39,228,100)
* Trying 82.83.118.39... * connected
* Connecting to 82.83.118.39 (82.83.118.39) port 58468
* Connected the data stream with PASV!

Allerdings funktioniert es, daher ist es mir vom Prinzip her egal, wenn er nicht einen Port aus der angegebenen Range benutzt.
 
Es geht beides, die Idee von MaXg, eine zweite Domain anzulegen, ist genau der richtige Weg. Eine Domain ist für den verschlüsselten Zugang, die andere für den unverschlüsselten Zugang zuständig. Damit kann man beides nutzen. Einziger Nachteil an dieser Lösung jedoch ist die Notwendigkeit, alle User doppelt anlegen zu müssen.

Vielen Dank für die aktive Mitarbeit, Problem ist damit weitgehend gelöst :funny

Viele Grüße

CubiX
 
Nu isses wohl schon zu spät - aber Du hättest die ini-Dateien der Benutzer einfach nur in das Verzeichnis der zweiten Domain kopieren müssen :).
 
Oben