so jetzt habe ich etwas mehr Zeit deswegen jetzt mehr Hintergründe.
FTP besteht aus 2 Verbindungen 1 Controll und 1 Daten.
Der Aufbau der passiven FTP-Verb. geschiet auf folgende Weise:
Der Client baut eine Verbindung zu Server auf Port 21 auf.
Der Server antwortet und sendet das Port komando mit einem Port und einer IP.
Auf diese IP und Port versucht der Client die Datenverb. aufzubauen.
Das ist sehr kurz und knapp beschreiben, aber dafür habe ich ja vorhin weiterführende Links gepostet.
Hier sieht man schon die 2 großen Probleme eines FTP-Servers hinter einer NAT.
1) Der Server nimmt in der Standartconfig als IP, die IP auf der die Verb. eingegangen ist. Also beim Forwarding 192.168.178.1 (oder eine VirtuelleIP), diese ist für den Client aber nicht erreichbar.
2)Der Port, mit dem der Server antwortet ist nicht in der Firewall geöffnet.
Aktuelle Firewalls können diese Probleme beheben, indem sie der FTP-Verbindung "folgen" und den Port automatisch öffnen, sowie die IP ausbessern.
Verwendet man aber SSL, geht das natürlich nciht, weil sie es nicht lesen können.
Deswegen muss man das mit der Hand machen.
zu 1) Es ist wichtig den Port nicht zu forwarden, sondern zu "öffnen", als in der ar7.cfg einen 0.0.0.0:21 0.0.0.0:21 Eintrag vorzunehmen, damit die Verbidnung auf der Öffentlichen IP eingeht. Man kann die IP beim vsftpd auch mittels "pasv_address=84.170.YYY.XXX" überscheibe, dann müsste man das aber bei jedem IP-Cange ändern.
zu 2)Man legt am besten im Webif einen Range für die Passiven Port fest (z.b. Min 22333, max 22388) und macht ein forwarding für all diese Ports, damit der Server dort erreicht werden kann.
So habe ich jetzt meinen ftps-Server nach außen erreichbar bekommen.
@ Darky schicke mir doch nochmal deine aktuelle Config, vielleicht auch ne ICQ oder, dann schauen wir mal was bei dir fehlt. Dass bekommen wir schon hin.
zum aktiven FTP nur soviel:
Hier baut der Server die Datenverb. zum Client auf, deswegen muss die NAT-Firewall des Cleint eingestellt werden, dies ist aber in der Regel noch viel kompilizerter, da man ja verschiedene Clients zu lassen wil.