#MNF1V1: Zugriff von FTP Client auf WAN und FTP Server auf LAN (aktiver FTP Modus)

Applikationsbeispiel: #MNF1V1: Zugriff von FTP Client auf WAN und FTP Server auf LAN (aktiver FTP Modus)

benötigte Dokumente:

  • Handbuch für mbNET/mbNET.mini

verwendete Software und Hardware:

  • mbNET HW1 ab Firmwareversion 5.1.6
  • mbNET ab HW2 ab Firmwareversion 6.0.6
  • mbNET.mini ab Firmwareversion 2.0.0
  • my/mbCONNECT24 ab Version 2.4.1

Dieses Applikationsbeispiel beschreibt die Firewalleinstellungen von mbNET/mbNET.mini wenn auf der LAN-Seite ein FTP-Server betrieben wird, welcher von der WAN-Seite via FTP-Clients erreichbar sein soll. In dem Beispiel sollen zwei FTP-Clients auf den FTP-Server Zugriff haben.

Abbildung 1 – Netzwerkdarstellung der verwendeten Komponenten

Der Lösungsansatz hier, ist zum einen von WAN nach LAN mit einem Forwarding zu arbeiten und die "Antworten" des FTP-Server über LAN>WAN Regeln festzulegen.

Folgende Voraussetzungen:

  • die FTP Verbindung wird nur für den "Aktiv Mode" bei FTP unterstützt. Das wird durch die Einstellung des FTP-Clients bestimmt!
  • der FTP Server muß als Gateway das mbNET/mbNET.mini eingetragen haben
  • SNAT (LAN) in der Firewalleinstellung des mbNET/mbNET.mini hat hier keine Relevanz, kann somit ein- oder ausgeschalten sein. Der FTP-Server benötigt in jedem Fall das mbNET/mbNET.mini als Gateway

Wissenswertes zu FTP:

Die FTP Verbindung wird in der Regel über das Protokoll TCP und Port 21 übertragen. Bei FTP gibt es einen sogenannten "Command" Kanal und einen "Data" Kanal. Der "Command" Kanal wird wie gesagt über TCP-Port 21 hergestellt und dient dem Austausch von Kommandos von Client und Server. Über den "Data" Kanal werden dann später die eigentlichen Daten (z.B. Dateien) übertragen. Der "Data" Kanal wird aber erst nach der "Commando"Verbindung ausgehandelt. Das erschwert die feste Regelung in der Firewall, da somit der Port für den "Data" Kanal nicht von vorneherein festgelegt ist.

  • Im "Aktive Mode" gibt der der FTP-Client dem FTP-Server vor, wo der FTP-Server sich für den "Data" Kanal hin-verbinden soll. D.h. der FTP-Client übermittelt dem FTP-Server seine IP-Adresse und den TCP-Port über den er über den "Data" Kanal erreichbar ist.
  • Im "Passive Mode" hingegen, übermittelt der FTP-Server dem FTP-Client sein IP-Adresse und den TCP-Port über den der "Data" Kanal erreichbar ist.

Problemstellung bei "Passive Mode":

Wenn der FTP-Server hinter einem NAT-Netzwerk sitzt (also so auch wie in unserem Beispiel, bzw. immer dann wenn es IP-Netzwerk-Übergänge gibt von einem IP-Adressbereich auf einen Anderen), geht der FTP-Server davon aus, dass seine lokale IP-Adresse durchaus mit jedem Port vom FTP-Server erreichbar ist. Das würde bedeuten unser FTP-Client müsste wissen, wo er die lokale IP-Adresse des FTP-Server erreichen kann. Da wir hier aber mit einem NAT Netzwerk arbeiten, ist die lokale IP-Adresse aus dem mbNET LAN-Netzwerk dem FTP-Client auf der WAN Seite nicht bekannt und auch direkt nicht erreichbar. Für FTP im passive Mode gibt es aber andere Möglichkeiten, wie z.B. SimpleNAT welche in einem anderem Applikationsbeispiel beschrieben sind.


Einstellung am FTP-Server (in unserem Beispiel FileZilla):

Da wir den aktiv Mode betreiben, sind hier keine speziellen Einstellungen notwendig. In den neueren FileZilla Servern gibt es aber die "Security settings" und hier sollten Sie die Option "Disable IP-Check" wählen. Das ist notwendig, da wir im NAT-Netzwerk sind und die IP-Adresse des Clients quasi ausserhalb des Netzes liegt. (Hinweis: Ist SNAT (LAN) ausgeschalten, kann die Einstellung "Security Settings" auf "Require matching peer ip ..." verbleiben.


Einstellung am FTP-Client (in unserem Beispiel FileZilla):

Hier muß der "Aktiv" Transfermodus gewählt werden. Ansonsten sehen Sie hier die Einstellung speziell für unser Beispiel (Achtung: die IP-Adresse bitte entsprechend Ihrer Applikation anpassen)

Abbildung 2 – Einstellung Transfermodus am FTP-Client

Abbildung 3 – Einstellung FTP-Client


Einstellung am mbNET/mbNET.mini:

Der Ansatz hier, ist zum einen die Erreichbarkeit des FTP-Servers im LAN-Netzwerk mittels eines Port-Forwardings zu erreichen und zum Anderen mittels LAN>WAN Regel den FTP-Client vom FTP-Server aus zu erreichen. Im ersten Schritt geben wir somit den FTP-Server TCP-Port 21 über die WAN-IP-Adresse des mbNET/mbNET.mini mittels Port-Forwarding frei:

Abbildung 4 – Einstellung Forwarding mbNET/mbNET.mini in mbCONNECT24

Wichtig ist hier, dass als Interface "WAN-Ethernet" ausgewählt ist. Das bedeutet, dass auschliesslich diese Forwarding-Regel für Datenverkehr am WAN-Ethernet benutzt wird. Diese Forwarding-Regel bewirkt nun, dass alle Verbindungen auf die WAN-IP-Adresse des mbNET/mbNET.mini mit TCP-Port 21 automatisch auf die LAN-IP-Adresse 192.168.0.140 (FTP-Server) weitergeleitet werden. (Hinweis: der FTP-Server sieht bei aktiver SNAT-Einstellung der Firewall, den FTP-Client als IP: 192.168.0.132, wäre SNAT ausgeschalten, würde der FTP-Client als seine reale WAN-IP-Adresse am FTP-Client ankommen. D.h. wenn Sie z.B. SNAT (LAN) deaktivieren, dann könnten Sie die "Security Settings" des FTP-Servers wieder einschalten, da dann für den FTP-Server die IP-Adresse bei "Commando" und "Data" Kanal gleich ist zu der Sender-IP-Adresse (quasi der FTP-Client))

Grundsätzlich könnten Sie das ganze System noch weiter "härten", indem Sie jeden FTP-Client als Source-IP angeben. D.h. Sie würden für jeden FTP-Client eine eigene Forwarding-Regel einrichten, mit der jeweiligen Source-IP.

Mit der obigen Forwarding-Regel haben wir nun erreicht, dass der FTP-Server über die WAN-IP-Adresse des mbNET/mbNET.mini erreichbar ist und den "Commando" Kanal aufbauen kann. Damit nun auch der "Data" Kanal funktioniert, muß jetzt der FTP-Server sich auch mit dem FTP-Client verbinden können. Dafür ist dann eine entsprechende LAN>WAN Regel notwendig. Diese Regel muß dann für jeden FTP-Client im WAN-Netzwerk eingetragen werden.

Abbildung 5 – Einstellung LAN>WAN Regel für einen FTP-Client in mbCONNECT24

Die Angaben der Source-IP und Destination-IP sind gemäß Ihrer Applikation dann natürlich anzupassen. Wichtig ist, dass die richtigen LAN und WAN Interfaces ausgewählt werden (siehe obige Kennzeichnung)

In unserem Beispiel würde die Firewalleinstellung dann Gesamt so aussehen:

Abbildung 6 – Einstellung der Firewall für diese Applikation