Re: vsftp und doppeltes NAT
Hallo Heiko,
From: "Heiko Schlittermann"
Daniel Bauer <mlist@dsb-gmbh.de> (Di 29 Jan 2013 18:37:06 CET):
ich versuche seit Tagen verzweifelt meinen vsftp verfügbar zu machen.
Als erstes kommt ein Router der als DMZ Host meine Firewall
eingetragen hat. Hinter dieser Firewall steht auch der Server. Auf
der Firewall wird folgendes akzeptiert:
-p tcp --sport 1024:65535 --dport 21
-p tcp --sport 1024:65535 --dport 20
-p tcp --sport 20 --dport 1024:65535
Andere Dienste wie z.B. SSH funktionieren einwandfrei.
Und was wird nicht akzeptiert? Es wäre hilfreich, das komplette
Ruleset
zu sehen, am einfachsten die Ausgabe von "iptables-save"
kann ich bei Bedarf senden, aber ich konnte das Problem weiter
eingrenzen.
Wenn ich den Server direkt hinter den Router klemme, funktioniert
alles bestens, sobald er hinter der Firewall ist kommt kein FTP
Connect mehr zustande.
Laut $Suchmaschine ist doppeltes NAT möglich, kann mir jemand bitte
einen Schups in die richtige Richtung geben.
Doppeltes NAT sehe ich in den von Dir zitierten Regeln gar nicht.
Nicht
mal einfaches NAT.
ich hatte extra nur die Regeln fürs FTP gezeigt, eigentlich sollte mit
Connection Tracking ja auch nur der Port 21 reichen, dann allerdings nur
für passives FTP.
Der Aufbau ist folgender:
10.20.1.180 (FTP Server)
<->
10.20.0.1 (Firewall)
192.168.1.11
<->
192.168.1.1 (Fritzbox)
ext. IP
<->
ext. IP
10.30.0.1 (Firewall)
<->
10.30.1.x (FTP Client)
Sobald ich nun den FTP Server auf die 192.168.1.12, oder den FTP Client
auf die externe IP lege funktioniert das Ganze. Aber fast jeder Client
ist hinter einem Router und nicht direkt im Internet.
FTP über ganze NAT-Kaskaden kann funktionieren, wenn dieses NAT-Router
alles richtig machen. Dazu gehört, daß sie in der Lage sind, das
FTP-Protokoll zu verstehen, nicht nur die TCP/IP-Header. Paketfilter
können von Natur nur die Header-Information auswerten, nicht die
Nutzlast. FTP transportiert aber Information zum Verbindungsaufbau in
der Nutzlast.
Für iptables gibt es da Unterstützung durch nf_conntrack_ftp (filter)
und nf_nat_ftp (nat). Das sind Kernel-Module, die geladen werden
müssen.
(Je nach Kernelversion heißen die - glaube ich - manchmal etwas
anders,
aber nat_ftp oder conntrack_ftp haben die immer im Namen.)
diese Module sind geladen.
Sobald Verschlüsslung ins Spiel kommt (FTP mit TLS oder SSL) wird es
komplexer. Dann würde ich sftp (SSH) bevorzugen.
das würde ich generell auch, aber die meisten wollen einen "einfachen"
FTP Zugang.
Die komplette Lösung überlasse ich Deiner Kreativität, die dsb-gmbh
(Dein Absender) bietet ja IT-Solutions an ?
auch nach über 24 Jahren im Geschäft gibt es keinen Tag an dem ich nicht
lernen muß.
Danke + Gruß
Daniel
Reply to: