wusa88
Goto Top

Mikrotik Reverse Proxy

Hallo Zusammen,

ich würde gerne einen Reverse Proxy Manager bei mir Testen.
Speziell würde es um diesen hier gehen: https://hub.docker.com/r/jc21/nginx-proxy-manager

Dazu hätte ich ein zwei Fragen.

1. Ich nutze die Standard Konfig von Mikrotik auf dem Router. Router ist ein RouterBOARD 941-2nD und alleiniger Router im Netzwerk. Keine Kaskade.
Wie müsste ich hier vorgehen, damit ich von außen auf den Reverse Proxy komme? Leider finde ich mehrere Anleitungen im Netz, aber alle sind verschieden aufgebaut.
Funktioniert das über Firewall und NAT? Oder muss das bei der Standard Konfig über die Firewall selbst gemacht werden?

2. Ich nutze den DynDNS / Cloud von Mikrotik selbst.
bild_2022-01-25_131228
Das wäre dann vermutlich auch die URL in Verbindung mit dem Port damit ich auf den Reverse Proxy komme?
Könnte der irgendwie angepasst werden? Dort stehen nämlich nur Zahlen und Buchstaben gemischt.
(Über diese Adresse komme ich über meinen VPN in mein Netz. Also grundsätzlich funktioniert es.)

Danke

Content-ID: 1759833240

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

Ausgedruckt am: 24.11.2024 um 16:11 Uhr

colinardo
colinardo 25.01.2022 aktualisiert um 22:38:58 Uhr
Goto Top
Servus,
natürlich musst du hier ein Port-Forwarding vornehmen sofern IPv4 genutzt wird und da der Proxy ja nicht direkt auf dem Router läuft face-wink.

Ergo DSTNAT Regel(n) sind angesagt wenn du nicht nur aus deinem VPN heraus den Proxy ansprechen willst:
/ip firewall nat add chain=dstnat in-interface=ether1 dst-port=80,443 protocol=tcp action=dst-nat to-addresses=10.5.0.3
und ebenso bei default "gedroppter" Forward-Chain eine Ausnahme in dieser hinzufügen, hier mal eine generelle die alle durch den Router geNATete Verbindungen aus dem WAN interface zulässt
 /ip firewall filter add chain=forward in-interface=ether1 connection-nat-state=dstnat action=accept
und darauf achten das die Filter-Regel auch vor der letzten generellen Drop-Regel der Forward-Chain steht damit sie wirkt.
Interfaces bzw. Adressen / Ports natürlich an die eigene Umgebung anpassen.

Wie immer sehr hilfreich den Paketflow auch zu verstehen dann weist du was an Firewall-Regeln nötig ist face-smile
https://wiki.mikrotik.com/wiki/Manual:Packet_Flow

screenshot

Nun alles klar?

Grüße Uwe
wusa88
wusa88 25.01.2022 um 20:28:36 Uhr
Goto Top
Vielen Dank für die Erklärung.
Firewall mache ich echt selten und kann es leider auch nicht besonders gut. Bin daher über solche Hilfen echt Dankbar.
Ich werde das ganze testen.
wusa88
wusa88 26.01.2022 um 14:56:12 Uhr
Goto Top
Ich greife das ganze heute an.
Eine Frage bleibt aber noch offen, damit der Reverse Proxy auch Sinn macht.

Wie bekomme ich über den DDNS von Mikrotik an eine Subdomain?
So sieht meine DDNS Adresse momentan aus: 7dxxxxxx40.sn.mynetname.net
Ping auf diese Adresse funktioniert auch ohne Probleme.

Die Frage ist aber wie bekomme ich zb. test.7dxxxxxx40.sn.mynetname.net
Nur so kann ich ja auf verschiedene Dienst mit dem selben internen Port zugreifen.
colinardo
colinardo 26.01.2022 aktualisiert um 15:47:38 Uhr
Goto Top
Zitat von @wusa88:
Wie bekomme ich über den DDNS von Mikrotik an eine Subdomain?
Über die Mikrotik-Cloud gar nicht. Dazu benötigst du am besten eine eigene Domain oder anderen DynDNS-Anbieter mit CNAME-Support, dort legst du dann im DNS einen CNAME Eintrag an der auf den FQDN zeigt den du über die Mikrotik Cloud zugewiesen bekommst.

Also CNAME bei deinem Domain-Hoster : subdomain.meinedomain.tld zeigt auf 7dxxxxxx40.sn.mynetname.net

Der Reverse-Proxy unterscheidet ja nach Hostheader der beim Aufruf verwendet wurde, dieser sieht dann nur subdomain.meinedomain.tld und unterscheidet anhand von diesem an welchen internen Server er weiterleitet.
wusa88
wusa88 12.02.2022 um 21:36:22 Uhr
Goto Top
Ich bräuchte leider nochmal Unterstützung.
Ich habe leider die Domain die ich wollte nicht bekommen und mich umgesehen und bin auf ddnss.de gestoßen.
Dort wird eigentlich genau das beschrieben, was ich möchte.
Ich kann eine Domain bei ddnss.de haben, zb. meine-domain.dyndns1.de
Darunter kann ich dann wiederum Subdomains anlegen. Also eigentlich genau das, was ich benötige.

ddnss1

Mit der Wildcard, kann man Subdomains nutzen: *.meine-domain.dyndns1.de

Ich nutze den Nginx Reverse Proxy in einem Docker Container. Die IP Adresse von meinem Docker ist 192.168.7.11

Ich würde jetzt gerne ein Subdomain nutzen, um zb. mein Pihole über den Reverse Proxy zu erreichen.
Das nur mal als Beispiel. pihole.meine-domain.dyndns1.de
Das ganze sieht dann im Nginx Reverse Proxy und im Docker so aus:
pihole_docker
nginx_pihole_li


Hier noch meine Firewall und NAT Einstellungen.

mikrotik_firewall
mikrotik_nat

Wenn ich einen Ping auf die Domain absetzen oder auch auf die Subdomain, wird der Ping mit meiner IP aufgelöst.
Rufe ich nun die Subdomain direkt im Browser auf, lande ich nicht bei dem Pihole, sondern bei der Mikroik Router Anmeldeseite.

Was mache ich hier falsch?

Danke
colinardo
colinardo 12.02.2022 aktualisiert um 22:06:24 Uhr
Goto Top
Rufe ich nun die Subdomain direkt im Browser auf, lande ich nicht bei dem Pihole, sondern bei der Mikroik Router Anmeldeseite.
Dann ist deine DSTNAT Regel falsch weil sie nicht greift landest du auf dem MIkrotik was aber auch übel ist denn dann ist dein Firewall Regelwerk Bullshit das Webinterface des MIkrotik macht man nie niemals am WAN auf. Du hast wohl vergessen die Zieladresse anzugeben, aber das kann ich hier auf den Bildern nicht erkennen.
Bitte die Regeln nicht als Bilder sondern im Klartext via Export aus dem Terminal Posten, auf deinen Bildern erkennt man die wichtigen Dinge nicht. Wie die Regeln auszusehen haben steht oben unmissverständlich im Klartext.
Das ether1 musst du natürlich durch das Interface ersetzen das bei dir das WAN ist. Wenn du dort ein PPPoE Interface einsetzt ist das dein WAN, nicht ether1, wir kennen ja dein Setup hier nicht. Ergo ein
export hide-sensitive 
ins Terminal gekippt und hier gepostet, sagt mehr als 1000 Worte oder Bilder.
wusa88
wusa88 13.02.2022 um 10:00:03 Uhr
Goto Top
Also ich muss meine Aussage doch nochmal revidieren.
Ich habe die URL im Browser, allerdings im internen Netz getestet. Dann wurde ich zum Router weitergeleitet.
Aus dem WAN also über mein Handy mit mobilen Daten, komme ich nicht im Router raus. Die Seite wird einfach gar nicht aufgelöst. Somit sorry, für die falsche Aussage.

Nachdem du mir das mit dem
export hide-sensitive
gesagt hast, habe ich den Fehler gefunden.
Ich habe mich bei der IP Adresse leider vertippt.

Greife ich jetzt über den Browser über das interne Netz zu, dann lande ich auf der Mikrotik Anmeldeseite.
Greife ich über extern also zb. die mobilen Daten vom Handy aus zu, dann lande ich beim Pi Hole.

Ist das ein normales Verhalten, oder ist hier etwas noch falsch Konfiguriert?
colinardo
colinardo 13.02.2022 aktualisiert um 10:19:03 Uhr
Goto Top
Zitat von @wusa88:
Ist das ein normales Verhalten, oder ist hier etwas noch falsch Konfiguriert?

Du bist in die Hairpin-NAT Falle getappt. Das ist normal wenn du kein Hairpin-Nat konfiguriert hast
https://help.mikrotik.com/docs/display/ROS/NAT#NAT-HairpinNAT
https://forum.mikrotik.com/viewtopic.php?t=172380
Der Client sendet das Paket an die externe Adresse, der Router erkennt, aha das bin ich selbst und leitet das Paket direkt nach intern, der Server aber schickt das Paket wegen der internen Absenderadresse direkt an den Client, dieser erwartet es aber von der externen Adresse und schon knallts, keine Verbindung 😉. Deswegen ist für solche Szenarien eine Hairpin-NAT Regel notwendig.