johannesschwenzer
Goto Top

Portforwarding Routerkaskade FritzBox zu Mikrotik RouterOs7

Hallo,

ich möchte folgendes Minimalbeispiel lösen:


ISP --> Fritzbox --> Mikrotik Router --> FTP Server

Die Fritzbox ist über abc.ddnss.xy zu erreichen und hat die lokale IP 192.168.178.1
Der Wan Port des Mikrotik hat die IP 192.168.178.254
der FTP Server die IP 192.168.3.200

Die FTP Ports sind 24 TCP aktiv und 55536-55600 TCP passiv.
Ich würde jetzt auf der Fritzbox eine Weiterleitung der Ports zum WAN Interface des Mikrotik auf 192.168.178.254 machen und dann im Mikrotik
eine Firewallregel einstellen die diese Ports an ihr Ziel 192.168.3.200 weiterleitet.
Dazu ein screenshot:

screenshot 2021-10-21 153617

Das sollte es doch eigentlich schon gewesen sein oder muss noch etwas anderes beachtet werden (Ziel ist über abc.ddnss.xy:24 den FTP Server zu erreichen)
Ich kann Interface In und Out im Mikrotik bestimmen und auch die Art der Verbindung (FTP z.B.) aber eigentlich sollte der Router das doch von alleine merken.

Danke und Grüße

Johannes

Content-Key: 1414990544

Url: https://administrator.de/contentid/1414990544

Printed on: May 4, 2024 at 12:05 o'clock

Member: Visucius
Visucius Oct 21, 2021 at 13:51:24 (UTC)
Goto Top
Ist natürlich möglich.

Gibts nen Grund, warum Du den FTP-Server nicht direkt an die Fritze hängst und das Setup eher als DMZ aufziehst?!
Member: JohannesSchwenzer
JohannesSchwenzer Oct 21, 2021 at 14:08:09 (UTC)
Goto Top
Hi,
ja, es gibt 2 Fritzboxen mit 2 unterschiedlichen ISPs und der Mikrotik macht failover und load balancing für 2 VLAN Netze an denen jeweils 5-10 Clients hängen. Der FTP Server soll intern für alle clients erreichbar sein und es gibt noch einige andere Server auf die ebenfalls extern zugegriffen werden soll. Das Minimalbeispiel mit dem FTP Server lässt sich am leichtesten testen.

Reichen forward rules oder brauche ich auch noch Regeln die die Antwort des FTP zurückrouten?
Member: aqui
aqui Oct 21, 2021 updated at 14:22:59 (UTC)
Goto Top
Die FTP Ports sind 24 TCP aktiv und 55536-55600 TCP passiv.
Was soll das sein ?? 24 ??
FTP hat im Stand TCP 20 und TCP 21 für den Kommando und Data Port !
https://de.wikipedia.org/wiki/File_Transfer_Protocol

Beachte das ein FTP Server hinter einem NAT Router zwingend im Passive Mode arbeiten muss ansonsten kannst du die NAT Firewall nicht überwinden. Warum das so ist siehe hier:
https://www.cosmos.esa.int/documents/772136/977578/psa_activeVsPassiveFt ...
https://www.hosteurope.de/faq/webhosting/hochladen-von-webinhalten-ftp/u ...
Reichen forward rules
Reicht. Der FTP Server behält das Gateway das die aktuelle Session bedient.
Member: JohannesSchwenzer
JohannesSchwenzer Oct 21, 2021 at 15:04:45 (UTC)
Goto Top
Hallo,

danke für die Rückmeldungen.
Port 21 wird schon für einen anderen FTP Server benutzt. Gegen Port 24 ist doch eigentlich nichts einzuwenden, oder?
Member: aqui
aqui Oct 21, 2021 at 18:09:57 (UTC)
Goto Top
Wenn du dich nicht mit Herrn Rick Adams streiten willst dem weltweit dieser Port offiziell zugeordnet ist dann nicht.
https://www.iana.org/assignments/service-names-port-numbers/service-name ...
Alle Ports < 1024 sind weltweit fest vergeben.
Generell funktionieren sehr viele der FTP Clients nicht wenn man nicht standartisierten Ports verwendet. Versuch macht klug... face-wink
Member: JohannesSchwenzer
JohannesSchwenzer Oct 21, 2021 at 23:55:33 (UTC)
Goto Top
Ah, reserviert für any private mail system.
Der port wird in dieser Konfiguration allerdings schon seit einigen Jahren benutzt. Ich glaube die standard Software der Clients ist Filezilla und die unterstützt custom Ports. Aber eine interressante Übersicht, habe ich noch nie so wirklich drüber nachgedacht warum ssh immer auf port 22 ist, beispielsweise.
Member: aqui
aqui Oct 22, 2021 at 07:50:00 (UTC)
Goto Top
habe ich noch nie so wirklich drüber nachgedacht
Leider bist du da nicht der Einzige ! face-sad
Member: JohannesSchwenzer
JohannesSchwenzer Oct 24, 2021 updated at 17:29:18 (UTC)
Goto Top
Hallo,

leider funktioniert die Portweiterleitung nicht. Weder FTP noch RDP.
Da der FTP Server in Benutzung ist habe ich jetzt einen Testclient aufgebaut für RDP auf TCP Port 3389.

Ziel: Domäne.xy:3389 soll über Fritzbox zum Mikrotik WAN Interface und von da zum Testclient

Der Wan Port des Mikrotik hat die IP 192.168.178.254
der Testclient die IP 192.168.3.5

Auf der Fritzbox ist eine Portweiterleitung vom TCP Port 3389 auf das Mikrotik WAN Interface (192.168.178.254)

wenn ich jetzt Regelen erstelle:
ip firewall filter  
add action=accept chain=forward dst-address=192.168.3.5 dst-port=3389 protocol=tcp

ip firewall nat
add action=dst-nat chain=dstnat dst-address=192.168.178.254 dst-port=3389 protocol=tcp to-addresses=192.168.3.5 to-ports= 3389
funktioniert die Portweiterleitung nicht...

Mir ist unklar welche IP Adresse bei der dstnat Regel die dst-address ist aber ich habe sowohl die WAN Port IP 192.168.178.254 als auch das Fritzbox gateway 192.168.178.1 als auch die externe IP x.y.z.a versucht und bei keiner dieser Einstellungen komme ich durch.
Die clientseitige Firewall lässt den Port durch und vom lokalen Netz aus kann mich über Prt 3389 verbinden.
Ich finde die Verwendung von source und destination irgendwie counter intuitiv, da die source doch eigentlich externe IP sein sollte und die destination das Ziel wo hingeroutet wird.
Member: aqui
Solution aqui Oct 25, 2021 at 09:53:48 (UTC)
Goto Top
Du brauchst 2 Einträge auf dem Mikrotik fürs Port Forwarding:
  • Firewall Regel die den Port eingehend erlaubt VOR der Block Regel. ACHTUNG, die Reihenfolge zählt hier !
  • Dann eine Destination NAT Regel die die Zieladresse (WAN) umschreibt auf die lokale Zieladresse.

Hier ein Beispiel mit dem Wireguard Port UDP 51820 der auf eine lokale IP 182.168.40.148 geforwardet wird und wie das auszusehen hat.
mikrotik-portforwarding
Member: JohannesSchwenzer
JohannesSchwenzer Oct 28, 2021 at 12:02:36 (UTC)
Goto Top
Hallo,
danke für deine Anleitung! Ich könnte schwören, dass ich das genau so 30mal eingestellt habe und das meine oben angegebenen commands auch genau diese Einstellungen einrichten.
Jetzt funktioniert es auf jeden Fall. Was ich aber durch das kopieren deiner Anleitung gemacht habe, ist die port forwarding dst-nat Regel über die masquerade source nat regel zu schieben. Ich frage mich ob es daran gelegen hat oder ob ich vorher irgendwo einen Tippfehler hatte. Vielleicht hab ich auch die Portweiterleitung in der Fritzbox nicht aktiviert...

Eine weitere Frage habe ich dazu noch:
Ändert sich die Vorgehensweise wenn der destination port teil einer bridge ist?
Member: aqui
aqui Oct 28, 2021 updated at 14:44:57 (UTC)
Goto Top
Jetzt funktioniert es auf jeden Fall.
👏👍
Ich frage mich ob es daran gelegen hat
Ja, denn sonst verhindert doch die NAT Firewall generell alle eingehenden Verbindungen. Deshalb müssen PFW Regeln immer davor.
Ändert sich die Vorgehensweise wenn der destination port teil einer bridge ist?
Nein, denn eine Bridge ist immer Layer 2 und hat mit IP Adressen und Forwarding rein gar nix zu tun.. face-wink
Case closed...
Member: JohannesSchwenzer
JohannesSchwenzer Oct 28, 2021 updated at 20:19:34 (UTC)
Goto Top
Ich frage mich ob es daran gelegen hat
Ja, denn sonst verhindert doch die NAT Firewall generell alle eingehenden Verbindungen. Deshalb müssen PFW Regeln immer davor.

Da lag also mein Fehler! Auf die Idee das es da eine Reihenfolge gibt, bin ich nicht gekommen. Hätte gedacht der spezifizierte Port wird dann gesondert behandelt und in der Firewall akzeptiert. Aber die Logik scheint zu sein falls Port x befolge Regel x, falls kein spezifizierter Port --> source nat masquerade. Und wenn source nat masquerade ganz oben steht, sind die nachfolgenden Firewallregeln egal da bereits die Verbindung blockiert ist.

Nein, denn eine Bridge ist immer Layer 2 und hat mit IP Adressen und Forwarding rein gar nix zu tun..
Ja, bin ich auch von ausgegangen aber beim durchlesen einiger Threads zum mikrotik port forwarding,
hatte ich irgendwo gelesen, dass das extra konfiguriert werden muss und der Menüpunkt Bridge hat auch einen extra NAT Unterpunkt.

Case closed...

Danke dir!
Member: aqui
aqui Oct 29, 2021 at 10:01:24 (UTC)
Goto Top
Auf die Idee das es da eine Reihenfolge gibt, bin ich nicht gekommen.
Uuuhhh, das lernt der IT Azubi im ersten Lehrjahr ! face-wink
Es gelten immer die goldenen Grundregeln:
  • First match wins
  • Deswegen gilt immer: Reihenfolge zählt
und der Menüpunkt Bridge hat auch einen extra NAT Unterpunkt.
Nee, da hast du dann falsch gelesen !
Danke dir!
Immer gerne ! 🙂
Member: JohannesSchwenzer
JohannesSchwenzer Nov 05, 2021 at 15:04:16 (UTC)
Goto Top
Hi,

leider haben sich doch noch 2 Probleme bezüglich des port forwardings ergeben:

1. Der Zugriff auf einen Server über die HTTP/HTTPS Ports funktioniert von außen nicht.
Dazu erstmal eine kurze Skizze wie es aussehen soll

pw

Jetzt müssen 2 Ports bzw.3 mit HTTPS weitergeleitet werden, dazu ein Bild aus der Einrichtungsanleitung:
memo

ich habe also 3 Portweiterleitungen jeweils über TCP Port: 2705, 80 und 443 von der Fritzbox auf den WAN Port des Mikrotik eingerichtet.
Von da wie folgt zum Server weitergeroutet (Server IP 192.168.178.5):
Firewall Regeln
fw1
*Die Firewall Regeln davor (#0-2) sind für 3 andere Ports auf einem FTP Server, funktionieren und blocken keine anderen Ports.

NATRegeln
nat1
*Die NAT Regeln davor (#0-2) sind für die 3 oben genannten anderen Ports auf dem FTP Server.

Hier noch ein genauerer screenshot einer NAT Regel
nat2

nat3


Eigentlich sollte das alles so stimmen aber von außerhalb des Netzwerks war kein Zugriff möglich über abc.ddnss.xy
(das sollte ja standardmäßig Port 80 nehmen).
Ich vermute irgendein HTTP Problem aufgrund des doppelten NAT.
Was mich zu meinem 2. Problem bringt:

Ein anderer Server bei dem die Portweiterleitung über Port 8080 funktioniert, ist von einigen Netzen außerhalb nicht erreichbar wegen eines Timeouts, während es von anderen Netzen (meinem beispielsweise) erreichbar ist. Das scheint mir irgendeine Sicherheitseinstellung zu sein die kein HTTP hinter einem doppelten NAT akzeptiert.
Sobald alles mit der Portweiterleitung funktioniert werde ich sowieso keine HTTP Verbindungen mehr zulassen aber erstmal muss ich verstehen warum die Portweiterleitung bei meinem Mikrotik Router nicht so funktioniert wie ich mir das vorstelle.

Grüße Johannes