FTP-Server über „falschen Port“ via NAT

 


Mighty Mike
Veteran

07.08.11
15:04 Uhr
Hallo Nerds!

Ich versuche gerade FTP auf meine NAS fit zu machen. Hintergrund ist, dass ich für längere Zeit in die USA gehe, und im Notfall (sprich Festplatten voll) einen Teil der Daten auf mein NAS kopieren können möchte.

Mein Setup sieht in etwa so aus:

NAS (192.168.1.5) <— NAT-Router (192.168.1.1) <— Interwebz

Wenn ich alles schön über Port 21 laufen lasse funktioniert das tadellos. Am NAT habe ich den Port 21 intern und extern auf 192.168.1.5 geroutet.

Doch da ich eher der vorsichtige Typ bin möchte ich nicht 21 als Well Known Port 24/7 offen lassen. (das ist schon sehr paranoid, da ich ja laufend meine IP wechsle und mein Nas nur zu bestimmten Tageszeiten läuft. Ich möchte aber nicht eines Tages merken dass meine Daten kopiert / gelöscht / sonst was wurden.)

Wieso kann ich an meinem NAT-Router nun nicht einfach intern 21 lassen und extern 212121 hintun? Theoretisch müssten dann ja alle Verbindungen von 212121 auf 21 übersetzt und auf 192.168.1.5 geroutet werden, nicht?

Wenn ich aber so connecte bekomme ich Zugriff und die Verzeichnisbäume angezeigt, aber sobald ein Filetransfer starten soll bricht alles ab (Passiv wie aktiv). Woher kommt das? Wie kann ich das lösen?

Und wie kann ich eine verschlüsselte Verbindung starten? Unterstütze das jeder Server? Ich habe bei der Recherche ein Durcheinander mit SFTP und FTP-SSL.

Vielen Dank für eure Antworten im Voraus.

Nette Grüsse
Michael
Link zu diesem Beitrag in die Zwischenablage kopieren
Mighty Mike
Veteran

07.08.11
15:25 Uhr
Editiert: 07.08.11, 15:56 Uhr
Habe mittlerweile das Logfenster in Cyberduck gefunden rafftnix

Es scheint als laufe meine Verbindung einfach aus:

200 Type set to I.
PASV
227 Entering Passive Mode (83,76,110,31,217,78)
STOR /bkp_michael_1/testfil.file

[längere Warzeit]

220 DiskStation FTP server ready.
USER admin
331 Password required for admin.
PASS ********
230 User admin logged in.
FEAT

Wenn ich PORT erzwinge (gegenteil von PASV) dann erhalte ich folgendes:

TYPE I
200 Type set to I.
PORT 192,168,1,12,200,65
500 Illegal PORT range rejected.
NOOP
200 NOOP command successful.
SITE CHMOD 644 /bkp_michael_1/Notfall.docx
550 /bkp_michael_1/Notfall.docx: No such file or directory.
QUIT
221 Goodbye. You uploaded 0 bytes and downloaded 0 bytes.

Edit:

Ich habe langsam das gefühl, dass mein NAT-Router den Port 21 als FTP erkennt und dann selbständig „Regeln“ setzt. Wenn das Ganze auf 212121 kommt hat er keine Ahnung davon un dich übersehe etwas.

Edit2:

Unschöne Notlösung: Ich habe das Webinterface auf einen „falschen Port“ route können (via HTTPS). Darüber kann ich den FTP Service aktivieren und dann via 21 (ohne Verschlüsselung) zugreifen. Ich schalten den FTP Server also nur für ein paar Stunden an, an dem ich ihn brauche.
Link zu diesem Beitrag in die Zwischenablage kopieren
webflo
Dauergast

07.08.11
17:58 Uhr
Was ist das für ein NAS? SFTP sollte doch irgendwie gehen ...
Link zu diesem Beitrag in die Zwischenablage kopieren
Mighty Mike
Veteran

07.08.11
18:52 Uhr
Ein Synology.

JA sftp scheint irgendwie schon zu funktionieren, mir wird jedenfalls ein Zertifikat angeboten. Aber bezüglich des Filetransfers dann das gleiche Theater. (
Link zu diesem Beitrag in die Zwischenablage kopieren
keks
Veteran

07.08.11
19:15 Uhr
Kannst du der Kiste nicht einen anderen FTP-Port zuweisen, in deinem Fall dann „212121“?
Link zu diesem Beitrag in die Zwischenablage kopieren
Patric
Veteran

07.08.11
19:21 Uhr
nimmst du wirklich 212121 als Port?
probier mal testweise was kleiner als 65535

Greifst du auch wirklich von „außen“ zu?
Also nicht von deinem lokalen PC über deine öffentliche IP, sondern wirklich von außerhalb?
Link zu diesem Beitrag in die Zwischenablage kopieren
atzoo
Dauergast

08.08.11
14:01 Uhr
Patric schrieb am 07.08.11, 19:21 Uhr:

nimmst du wirklich 212121 als Port?
probier mal testweise was kleiner als 65535

+1
Link zu diesem Beitrag in die Zwischenablage kopieren
Mighty Mike
Veteran

08.08.11
21:08 Uhr
Ja, ich greife von aussen zu, und ja ich habe verschiedene Prots probiert.

Das lustige ist, der „Steuerport“ 21 (bzw. dann eben der übersetzte Port dazu) scheinen zu funktionieren. (Login, LIST) Was nicht geht ist der „Datenport“. Ich finde aber nicht wirklich heraus welcher jeweilige Port vom Server annonciert wird, da der ja dann wahrscheinlich in meine NAT-Router untergeht. Das serverseitige Log ist leer, bzw scheint nicht zu funktionieren.

Kurioserweise funktioniert weder erzwungenes PORT noch PASV. Zweiteres wurde ja mehr oder weniger für dieses Problem entworfen. Mit SFTP beginn' ich gar nicht erst bis das Andere läuft.

Ich muss dazu aber auch sagen, dass ich nicht genau verstehe wie das mit dem ganzen FTP funktioniert. Eigentlich müsste ich ja die ganze Range an Ports auf das NAS routen, die als annoncierten Datenport in Frage kommt, sollte das wirklich das Problem sein.
Link zu diesem Beitrag in die Zwischenablage kopieren
Antoine
Dauergast

08.08.11
21:54 Uhr
Schmeiss doch einfach mal Wireshark an und schau dir an was genau passiert.

So aus neugierde, was für ein Gerät genau spielt denn bei dir NAT Router?

Ich sehe dass du Steuer und Datenport erwähnst und dir dessen bewusst bist, aber hast du dann auch entsprechend von draussen nach drinnen ein Portmapping für beide Ports gemacht?

also zum beispiel extern 2020 intern 20 und extern 2121 intern 2121

Edit: bzw. was für ein FTP Server ist das denn? Ich sehe was du zum Thema Datenport anouncing sagst
Link zu diesem Beitrag in die Zwischenablage kopieren
Patric
Veteran

08.08.11
21:55 Uhr
naja, im grunde reicht der port, auf dem der ftp-server läuft. evtl. noch port 20, ich glaube da war mal was(?)

natürlich könnte der router einen bug haben, wenn du von außen von „212121“ auf 21 weiterleitest, dass die antwort vom nas nicht mehr zum anfragenden zurückkommt bzw. einfach falsch in der nat-table steht.

aber mal was anderes: kann dein router evtl. portknocking?
Link zu diesem Beitrag in die Zwischenablage kopieren
Mighty Mike
Veteran

08.08.11
22:05 Uhr
Das war meine erste Idee, das hatten wir mal in der FH. Leider kann der das nicht (

Mittlerweile bin ich nicht mehr sich, ob ich wirklich „von aussen“ komme. Ich hatte gedacht, wenn ich über einen ddns-host connecte schnallt das FTP nicht, scheint aber doch so zu sein. Wenn ich aber nun per sftp zu connecten versuche finde ich das im Log:

PASV
227 Entering Passive Mode (192,168,1,5,217,48)
[Replacing site local address 192.168.1.5 with x.x.x.x (externe ip)]

Ich muss das wohl mal von sonst wo her testen. Nur von da kann ich den Router nicht kontrollieren, da der nur Service von innen erlaubt. Und Zeit habe ich auch keine mehr. heul
Link zu diesem Beitrag in die Zwischenablage kopieren
Patric
Veteran

08.08.11
22:06 Uhr
du solltest halt von einer anderen ip als deiner externen kommen.
probier doch mal so ein www2ftp service aus - z.b. http://www2ftp.de/
Link zu diesem Beitrag in die Zwischenablage kopieren
Mighty Mike
Veteran

08.08.11
22:50 Uhr
Editiert: 08.08.11, 23:02 Uhr
Also.

Ich kriege keine Verbindung AUSSER über Port 21. Egal ob ich etwas mappen lasse oder nicht.

FTP Server Port: 21 - NAT-Router routet 21 auf 192.168.1.5 geht *

FTP Server Port: 21 - NAT-Router mappt 212121 auf 21 und routet auf 192.168.1.5 geht nicht (Ziel)

FTP Server Port: 212121 - NAT-Router routet 212121 auf 192.168.1.5 geht nicht *

* kein port mapping

Ich habe das Gefühl, dass mein Router „mitdenkt“ und bei Anfragen über 21 irgend etwas zulässt oder regelt das er bei allen andere Anfragen nicht tut.

Habe auch mit anderen Ports probiert. Mit extrem hohen sowie mit > 1023

Edit:

Ich habs cheer



Ich habe die Port Range für den Datentransfer (Die Ports die annonciert werden) auf eine custom range geändert (am server) und diese am Router hinterlegt. Jetzt funktioniert alles. Eigener Port, SFTP usw.

Wieso das bei der standard port Range nicht funktioniert ist mir absolut schleierhaft. planlos

Danke für eure Mithilfe danke
Link zu diesem Beitrag in die Zwischenablage kopieren
Mighty Mike
Veteran

08.08.11
23:13 Uhr
Gewisse online FTP Tools funktionieren nicht. brain Hätte jemand die Güte das kurz mit mir zu testen?

Am liebsten von Mac aus mit cyberduck, kann aber auch gerne etwas anderes sein!
Link zu diesem Beitrag in die Zwischenablage kopieren
Patric
Veteran

08.08.11
23:16 Uhr
windows + cyberduck kann ich anbieten
Link zu diesem Beitrag in die Zwischenablage kopieren
Mighty Mike
Veteran

08.08.11
23:46 Uhr
Danke )

Konnte es mit jemandem aus Facebook mit Mac & Cyberduck testen. Gewisse Online FTP Tools scheinen wohl Probleme zu haben mit wasweisich. Funktioniert jetzt alles.
Link zu diesem Beitrag in die Zwischenablage kopieren
Patric
Veteran

08.08.11
23:48 Uhr
party
Link zu diesem Beitrag in die Zwischenablage kopieren
 
#