Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IdFTP hinter Router (https://www.delphipraxis.net/47231-idftp-hinter-router.html)

Unplugged 8. Jun 2005 06:30


IdFTP hinter Router
 
Hallo,

ich hab folgendes Problem:
Hinter einem Router habe die Rechner ja nur eine netzinterne IP, und kennen normalerweise ihr öffentliche überhaupt nicht.
Indy sendet im aktiven Modus dabei natürlich auch die netzinterne IP und die Verbindung kommt nicht zustande.

Nun kann man aber bequem den Portbereich beschränken. Diese bräuchte man nur am Router auf den Rechner weiterleiten.
Soweit, so gut. Nur wie kann ich jetzt die IP beeinflussen, die zum Server geschickt wird. Aktuell hab ich die Eingabe der Dyndns vorgesehen. Die will ich dann quasi beim connecten auflösen und dann die IP für den aktiven Modus nutzen.

Ich mein theoretisch geht es, da gängige FTP CLients die Option auch anbieten.
Geht es aber auch mit der IndyFTP-Komponente?

Btw: Ich benutze die aktuelle Indy 9 Version

Danke und Gruß

StuffM

Arnulf 9. Jun 2005 08:52

Re: IdFTP hinter Router
 
Hi
Ganz verstehen tu ich die Frage nicht.
Redest du hier von einem FTP Client oder einem Server?
Bei einem Client mußt du ja nur den host angeben, dann sollte es auch über den Router ohne Probleme gehen.
Ein Proxy könnte Probleme machen - aber Router normalerweise nicht.

Redest du von einem FTP Server, mußt du eigentlich nur den port forwarden (21 für FTP) zu deiner localen Ip dann geht die Verbindung schon. Ein Server würde sich aber auch nicht zu anderen Computern verbinden.

Also ist mir das ganze anliegen nicht so recht klar :)
Für Proxys gibts glaub ich einen idMappedFTP der gehen könnte - ist unter den Servern zu finden.

Arnulf

Unplugged 9. Jun 2005 10:23

Re: IdFTP hinter Router
 
Ich hab es mittlerweile hinbekommen, indem ich die IdFTP.pas editiert habe.

Und was ich meinte:
Du hast ja hinter einem Router nur eine lokale Netzwerk-Ip. Wenn du jetzt mit einem FTP-Client zum Server connectest, wird ja im Active-Mode folgender Befehl geschickt:

PORT ip1,ip2,ip3,ip4,port1,port2

ip1-4 = IP
port1,port2 = PORT

Der Client hat quasi dann lokal einen Miniserver geöffnet und wartet nun auf die Verbindung des Servers.
Er sendet aber dummerweise die lokale Netzwerk-Ip, und das war mein Problem.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz