KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[Frage] [V4.0.1] Einrichtung von MacVLAN - Detailfragen

Informationen über Docker, Verwaltung mit portainer und VMs
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Benutzeravatar

Ersteller
speckenbuettel
Reactions:
Beiträge: 384
Registriert: Mo Jun 27, 2022 9:30 am
Hat sich bedankt: 298 Mal
Danksagung erhalten: 220 Mal

#11

Beitrag von speckenbuettel »

Hallo Yves,
starwarsfan hat geschrieben: Mi Aug 07, 2024 11:44 am Sofern man ein Image so verwendet, wie es von dessen Entwicklern vorgesehen ist, braucht es auf Seite TW nicht wirklich viele Settings.
Vielen Dank - auf den ersten Blick sieht das recht einfach aus und ich habe es auch schon versucht, nur leider klappt es nicht.

Zunächst mal eine Verständnisfrage: du hast in deinem Screenshot unter Zieladresse nach dem Port noch mal die Teil-URL "/proxy/..." angegeben. Ist das so richtig und funktioniert das bei dir? Bei mir nämlich nicht.

Ich habe eine Container für den Onwtracks-Recorder laufen (ich benutze OwnTracks in Verbindung mit MQTT für die Anwesenheitskontrolle - das ganze Projekt stelle ich hier noch ausführlich vor sobald ich Zeit dazu finde und es auch bei mir rund und zuverlässig läuft).
In Portainer sieht das so aus:

Bild

Über die URL https://<timberwolf>:8083 kann ich die Webseite des Recorders ohne Probleme aufrufen, auch die Links darin funktionieren.

Wenn ich den Reverse Proxy im TWS wie folgt einrichte, dann kann ich über die URL http://<timberwolf>/proxy/owntracks (ohne s, mit s funktioniert es nicht) immerhin die Startseite des Recorders aufrufen, die Links auf dieser Seite laufen aber ins Leere und es gibt 404-Fehler.
Bild

Wenn ich den Revers Proxy so konfiguriere:
Bild

dann führt schon der Aufruf der URL http://<timberwolf>/proxy/owntracks zur Fehlermeldung 404 - Not found.

Siehst du auf den ersten Blick einen Fehler?

Vielen Dank und viele Grüße
Falk
Vielen Dank und viele Grüße
Falk

TWS 3500M ID:810 - VPN aktiv - Reboot nach Absprache
1-Wire, KNX (MDT u. a.), EnOcean (Eltako u. a.), Gira TKS, ekey multi
Benutzeravatar

starwarsfan
Reactions:
Beiträge: 1395
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 863 Mal
Danksagung erhalten: 1199 Mal

#12

Beitrag von starwarsfan »

Hallo Jochen
jhaeberle hat geschrieben: Mi Aug 07, 2024 11:15 pm dafür kann (oder besser: sollte) man ja den schon auf dem TWS vorhandenen Portainer nehmen, mit dem du für jeden Container ja auch einen RevProxy konfigurieren kannst.
Das hätte ich gern etwas genauer erklärt. :confusion-scratchheadyellow:
Kind regards,
Yves

TWS 2500 ID:159 / TWS 3500 ID:618 / TWS 3500 ID:1653 + PBM ID:401 / ProxMox / 1-Wire / iButtons / Edomi (LXC / Docker) / evcc / ControlPro
(TW-VPN jeweils offen, Reboot nach Rücksprache)
Benutzeravatar

starwarsfan
Reactions:
Beiträge: 1395
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 863 Mal
Danksagung erhalten: 1199 Mal

#13

Beitrag von starwarsfan »

Hallo Falk
speckenbuettel hat geschrieben: Do Aug 08, 2024 4:33 am Zunächst mal eine Verständnisfrage: du hast in deinem Screenshot unter Zieladresse nach dem Port noch mal die Teil-URL "/proxy/..." angegeben. Ist das so richtig und funktioniert das bei dir? Bei mir nämlich nicht.
Ja, das tut es.

speckenbuettel hat geschrieben: Do Aug 08, 2024 4:33 am Über die URL https://<timberwolf>:8083 kann ich die Webseite des Recorders ohne Probleme aufrufen, auch die Links darin funktionieren.

Wenn ich den Reverse Proxy im TWS wie folgt einrichte, dann kann ich über die URL http://<timberwolf>/proxy/owntracks (ohne s, mit s funktioniert es nicht) immerhin die Startseite des Recorders aufrufen, die Links auf dieser Seite laufen aber ins Leere und es gibt 404-Fehler.
Das Problem resp. die Herausforderung ist in so einem Fall, wie die jeweilige Applikation im Container mit den übermittelten RequestURIs umgeht bzw. ob sie damit überhaupt umgehen kann. Sprich, im Fall der Prometheus-Instanz auf meinem Screenshot muss es explizit so konfiguriert werden, wobei ich jetzt aus dem Stehgreif nicht sagen kann, ob/was ich da an Prometheus an und für sich geändert habe bzw. ändern musste. Das ist zu lange her.

Allgemeingültig kann ich das auf die Schnelle nicht erklären aber in einfachen Worten geht es darum, dass die Applikation im Container wissen muss, wie sie mit der RequestURI des eingehenden WebRequest umgehen muss. Sprich, die Applikation muss aus den RequestURIs der eingehenden Requests gültige Referenzen generieren können, damit weiterführende Links/Requests/etc funktionieren.

Wie das nun geht, ist für jede Applikation anders. Bei gitea bspw. muss die BasisURL explizit konfiguriert werden, damit alles weitere korrekt funktioniert. Hier kommt man dann zwangsläufig zu dem Problem, dass i.d.R. nur ein Zugriffspfad sauber konfiguriert werden kann.
Kind regards,
Yves

TWS 2500 ID:159 / TWS 3500 ID:618 / TWS 3500 ID:1653 + PBM ID:401 / ProxMox / 1-Wire / iButtons / Edomi (LXC / Docker) / evcc / ControlPro
(TW-VPN jeweils offen, Reboot nach Rücksprache)

jhaeberle
Reactions:
Beiträge: 208
Registriert: Do Aug 24, 2023 11:07 am
Wohnort: Raum Augsburg
Hat sich bedankt: 86 Mal
Danksagung erhalten: 40 Mal

#14

Beitrag von jhaeberle »

starwarsfan hat geschrieben: Do Aug 08, 2024 9:40 am Hallo Yves,

Das hätte ich gern etwas genauer erklärt. :confusion-scratchheadyellow:
Wenn du einen Container anlegst, kannst du Port-Mappings erstellen.

Bild

Das kann man bestimmt auch nachträglich noch ändern, aber das hab ich grad nicht gefunden… :oops:

Alternativ oder vlt noch besser wäre Traefik, ein Container, der für's Proxying gemacht ist, aber den hab ich noch nicht zum Laufen gebracht… Ist bei mir was länger her, da war in Kreisen state-of-the-art, Portainer mit Watchtower und Traefik laufen zu lassen. Zumindest Watchtower geht auf dem TWS schon mal nicht… und der https-Port 443 ist auch schon belegt, was unschön ist. Wäre vielleicht ein schöner, hilfreicher Ansatz, wenn das von Haus aus so konfiguriert so käme, dann könnte der TWS hinter dem Traefik laufen, aber da können wir nix dran machen, denk' ich…

Gruß
Jochen

Edit: Traefik weiter ausgeführt…
Zuletzt geändert von jhaeberle am Do Aug 08, 2024 11:30 am, insgesamt 1-mal geändert.
TWS 3500XL, ID: 1409 (VPN offen, Reboot nach Rücksprache)
Benutzeravatar

starwarsfan
Reactions:
Beiträge: 1395
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 863 Mal
Danksagung erhalten: 1199 Mal

#15

Beitrag von starwarsfan »

Hallo Jochen
jhaeberle hat geschrieben: Do Aug 08, 2024 10:57 am Wenn du einen Container anlegst, kannst du Port-Mappings erstellen.
Sorry, aber das hat mit ReverseProxy überhaupt gar nichts zu tun! Genau darum geht es ja hier, dass es bei der Verwendung von MacVLAN eben diese Mappings nicht funktionieren, weil der Container aus Netz-Sicht ein eigenständiger Host mit eigener IP ist. Damit sind alle Ports direkt ansprechbar.

Natürlich könnte man einen Container _ohne_ MacVLAN so starten, dass er bspw. den Port 80 auf 8080 mappt. Dann braucht man in der Konfiguration des TW-ReverseProxy den Port 8080 nicht angeben, weil der ReverseProxy auf Port 80 des Containers weiterleitet und beim Übergang vom Host-Netz Port 80 ins Docker-Netz Port 8080 das Mapping vom Docker-Daemon gemacht wird. Aber IMHO macht man es sich damit nur unnötig schwer bzw. ist soetwas nur dann notwendig, wenn man mehrere Instanzen der gleichen Applikation nebeneinander betreiben will.
Kind regards,
Yves

TWS 2500 ID:159 / TWS 3500 ID:618 / TWS 3500 ID:1653 + PBM ID:401 / ProxMox / 1-Wire / iButtons / Edomi (LXC / Docker) / evcc / ControlPro
(TW-VPN jeweils offen, Reboot nach Rücksprache)

jhaeberle
Reactions:
Beiträge: 208
Registriert: Do Aug 24, 2023 11:07 am
Wohnort: Raum Augsburg
Hat sich bedankt: 86 Mal
Danksagung erhalten: 40 Mal

#16

Beitrag von jhaeberle »

Hey Yves,
starwarsfan hat geschrieben: Do Aug 08, 2024 12:07 pm Sorry, aber das hat mit ReverseProxy überhaupt gar nichts zu tun! Genau darum geht es ja hier, dass es bei der Verwendung von MacVLAN eben diese Mappings nicht funktionieren, weil der Container aus Netz-Sicht ein eigenständiger Host mit eigener IP ist. Damit sind alle Ports direkt ansprechbar.
das Portmapping im Portainer funktioniert, ob das Netzwerk bridged ist oder MacVlan. Eher ist IMHO die Frage, ob du lieber im TW-ReverseProxy eine Pfad-URL erzeugst oder per MacVlan einen neuen Host im lokalen Netz. Beide Ansätze dienen dazu, die internen Ports los zu werden/zu verstecken.

Sie teilen sich auch die Probleme mit der URL-Generierung, wenn man das erst mal am Start hat und die Hauptseite ausgeliefert ist. Das hast du ja auch schon (in diesem Thread?!??) angesprochen.

Gruß
Jochen
TWS 3500XL, ID: 1409 (VPN offen, Reboot nach Rücksprache)
Benutzeravatar

Ersteller
speckenbuettel
Reactions:
Beiträge: 384
Registriert: Mo Jun 27, 2022 9:30 am
Hat sich bedankt: 298 Mal
Danksagung erhalten: 220 Mal

#17

Beitrag von speckenbuettel »

Hallo Yves,
starwarsfan hat geschrieben: Do Aug 08, 2024 10:50 am Das Problem resp. die Herausforderung ist in so einem Fall, wie die jeweilige Applikation im Container mit den übermittelten RequestURIs umgeht bzw. ob sie damit überhaupt umgehen kann.
danke für deine Erläuterung. Damit sind wir ja wieder bei dem Punkt, den Göran und Stefan schon angesprochen haben: MacVLAN ist die einfachste Art, Container auch „laienbedienbar“ zu machen, ohne allzu tief in die Netzwerkkonfiguration oder die Konfiguration der jeweiligen Container einsteigen zu müssen.

Bis ich Zeit und Muße habe, mich damit zu beschäftigen laufe ich lieber auf der Krücke umher ;)

Aber alles in allem eine interessante Diskussion!

Viele Grüße
Falk
Vielen Dank und viele Grüße
Falk

TWS 3500M ID:810 - VPN aktiv - Reboot nach Absprache
1-Wire, KNX (MDT u. a.), EnOcean (Eltako u. a.), Gira TKS, ekey multi
Benutzeravatar

starwarsfan
Reactions:
Beiträge: 1395
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 863 Mal
Danksagung erhalten: 1199 Mal

#18

Beitrag von starwarsfan »

Hallo Jochen
jhaeberle hat geschrieben: Do Aug 08, 2024 1:23 pm das Portmapping im Portainer funktioniert, ob das Netzwerk bridged ist oder MacVlan. Eher ist IMHO die Frage, ob du lieber im TW-ReverseProxy eine Pfad-URL erzeugst oder per MacVlan einen neuen Host im lokalen Netz. Beide Ansätze dienen dazu, die internen Ports los zu werden/zu verstecken.
Völlig klar. :handgestures-thumbupright:

Ich habe aber nachgefragt, weil Du geschrieben hast, dass man direkt in Portainer einen ReverseProxy konfigurieren könnte, was mir gänzlich neu wäre. Mittlerweile hat sich aber gezeigt, dass Du lediglich von Portmappings sprichst und eben genau das hat mit dem was ein ReverseProxy macht nichts zu tun. Ausser vielleicht dem Feature, von Quellport A auf Zielport B zu routen, ok...
Kind regards,
Yves

TWS 2500 ID:159 / TWS 3500 ID:618 / TWS 3500 ID:1653 + PBM ID:401 / ProxMox / 1-Wire / iButtons / Edomi (LXC / Docker) / evcc / ControlPro
(TW-VPN jeweils offen, Reboot nach Rücksprache)

jhaeberle
Reactions:
Beiträge: 208
Registriert: Do Aug 24, 2023 11:07 am
Wohnort: Raum Augsburg
Hat sich bedankt: 86 Mal
Danksagung erhalten: 40 Mal

#19

Beitrag von jhaeberle »

Hi Yves,
starwarsfan hat geschrieben: Do Aug 08, 2024 2:06 pm Ich habe aber nachgefragt, weil Du geschrieben hast, dass man direkt in Portainer einen ReverseProxy konfigurieren könnte, was mir gänzlich neu wäre. Mittlerweile hat sich aber gezeigt, dass Du lediglich von Portmappings sprichst und eben genau das hat mit dem was ein ReverseProxy macht nichts zu tun. Ausser vielleicht dem Feature, von Quellport A auf Zielport B zu routen, ok...
ok. Aber viel mehr kannst du im TWS-Kontext und dem da verfügbaren Reverse Proxy doch auch nicht machen… :?: Auf die ganzen höherwertigen Funktionen hast du hier doch auch keinen Zugriff, oder?
Ok, die TWS Authentifizierung und das SSL-Zert, dass seine eigenen… Herausforderungen mitbringt :D

Gruß
Jochen
TWS 3500XL, ID: 1409 (VPN offen, Reboot nach Rücksprache)

gbglace
Reactions:
Beiträge: 4088
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1415 Mal
Danksagung erhalten: 1901 Mal

#20

Beitrag von gbglace »

Da ich es bei mir auch noch nie zum laufen bekommen habe irgendeinen Service des TWS mit einem URL-Namen aufzurufen, benutze ich durchweg nur die IP-Adressen. Und da habe ich dann einfach 225 >> TWS, 226 SSH, 227 MQTT Broker, 228 NR, 229 HA. Und dann eben die Ports noch hinten dran. Und dann steckt das alles einfach in Lesezeichen im Browser.

Ja alles nicht schön und sauber aber es funktioniert für mich.

Für jemand anderen sowas sauber einrichten, keine Ahnung von. Auch nach mittlerweile drei Handy-Wechseln zu Lebzeiten des TWS habe ich es auch noch nicht hinbekommen nicht immer die Warung zu erhalten, hey das ist jetzt aber keine sichere Seite. Bei dem einen alten PC hatte ich das mit den DNS mal irgendwo hart in eine Konfiguration getippt. aber Zielführend ist das ja auch nicht. Aber das ist gaube auch alles wieder etwas anderes an der Netzwerktechnik.
Grüße Göran
#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#PV 43,2 kWh Akku; 3x VE MP2 5000; 6,7 kWp > 18 Panele an 4x HM1500 + 1 HM800 WR; Open-DTU
Antworten

Zurück zu „Docker, portainer, VM“