[Unraid] Docker am sichersten nutzen inklusive Reverse Proxy

Don-DCH

Captain
Registriert
Aug. 2009
Beiträge
3.230
Guten Nachmittag zusammen,



ich habe mich die letzten Tage mit Unraid und Docker beschäftigt.

Auf meinem Testsystem habe ich aktuell eine Netzwerkkarte.



Nun habe ich mehrere Docker Container installiert mit dem Netzwertyp Bridge. Dadurch haben diese ja keine eigene IP im Netz, sondern nutzen die IP des Unraid Servers mit einem bestimmten Port.

Bei Host würde ja jeder Container eine eigene IP bekommen wenn ich das richtig sehe.



Jetzt habe ich noch ngnix-Proxy-Manager-Offical installiert um alle Container über eine URL inklusive HTTPS Zertifikat zu erreichen. Für mein Testsystem habe ich mir dafür DuckDNS eingerichtet und mich für DNS Challange entschieden, da ich keine Portfreigabe nutzen möchte.

Soweit so gut.



Wenn ich im Beispiel die Seite PHP Myadmin über die IP und Port öffne geht das ganze ja über HTTP

Entsprechend bekomme ich dadurch eine Fehlermeldung beim besuchen der Seite:

1711721386390.png





Gehe ich über die URL phpmyadmin.meinesite.duckdns.org bekomme ich diesen Fehler nicht, allerdings nach dem Einloggen auf der rechten Seite unter Datenbank-Server folgende Meldung:


1711721356276.png





Warum kommt da die Meldung SSL wird nicht verwendet, das verstehe ich nicht.

Der URL steht ein HTTPS voran und andere Seiten meckern nicht, bzw. alle Seiten erreiche ich über meine Proxy Hosts.



Dazu meine Fragen:



1. Wenn der ngnix Proxy Manager auf dem gleichen Host läuft wie die anderen Docker geht ja garnichts übers Netzwerk oder? Und die Option Bridge sollte sehr sicher sein?



2. Kann ich wenn ich einen zweiten Unraid Server im Netz habe ebenfalls von meinem Hauptserver problemlos ein Reverse Proxy eintrag machen oder ist es besser und sicherer auf jedem Unraid Server den ngnix proxy manager zu insatllieren?



3. Ist es von der Sicherheit besser Bridge oder Host bei dem Docker Container auszuwählen oder ist das vollkommen egal und hat nur den Sinn falls man eine andere IP haben möchte?



4. Ist es so wie ich es eingerichtet habe Ideal?



5. Aktuell komme ich auch noch per Port und IP über http auf die Seite, kann ich das noch irgendwie abschalten Firewall regel oder Plugin?

6. Auf meinem finalen System möchte ich gerne eine 10 Gigabit Netzwerkkarte einbauen, muss ich dann noch etwas spezielles beachten?

Vielleicht mag https im eigenen Heimnetzwerk nicht notwendig sein, aber ich hätte es gerne so sicher wie möglich und einige Apps beschweren sich auch bei einem Login mit http.



Über eure Meinung und Hilfe würde ich mich freuen und wünsche euch tolle Ostertage :)
 
Don-DCH schrieb:
Warum kommt da die Meldung SSL wird nicht verwendet, das verstehe ich nicht.

Der URL steht ein HTTPS voran und andere Seiten meckern nicht, bzw. alle Seiten erreiche ich über meine Proxy Hosts.

damit wird nicht die https-verbindung zwischen browser und web-server mit phpmyadmin gemeint sein, sondern dass sich phpmyadmin unverschlüsselt zu mariadb verbindet.

ganz allgemein würde ich von phpmyadmin abraten. verwende ein tool wie dbeaver wenn du an die datenbank musst. dazu muss man auch keinen netzwerkzugriff von aussen auf die db erlauben, man kann das auch über ssh tunneln und das tool unterstützt das auch.
 
  • Gefällt mir
Reaktionen: Don-DCH
0x8100 schrieb:
damit wird nicht die https-verbindung zwischen browser und web-server mit phpmyadmin gemeint sein, sondern dass sich phpmyadmin unverschlüsselt zu mariadb verbindet.
Ah ok, danke dir!
Dann stimmt das, aber würde in diesem Falle die Verbindung unsicher sein? Ist ja alles auf dem gleichen Server?
Ich dachte es wird über Port 3306 laufen, den Standardport für mariadb und generell nicht über http oder https

0x8100 schrieb:
ganz allgemein würde ich von phpmyadmin abraten.
Das habe ich auch schon öfters gelesen, mittlerweile habe ich mich ach nach alternativen umgesehen. Adminer fand ich ganz gut um mal kurz was zu schauen. Zum bearbeiten habe ich mir vor längerer Zeit lokal DBeaver installiert, damit bin ich sehr zufrieden :)

Bezüglich SSH schaue ich mir mal an
 
Don-DCH schrieb:
Dann stimmt das, aber würde in diesem Falle die Verbindung unsicher sein? Ist ja alles auf dem gleichen Server?
wenn der web-server mit phpmyadmin und mariadb auf demselben server sind und du der einzige mit zugang zu der maschine bist, dann kann da auch keiner mitlauschen. bindet man dagegen externe hosts in phpmaydmin ein oder dritte könnten (auch auf dem loopback-device) die verbindung anschauen, dann ist eine verschlüsselte verbindung pflicht (wie gesagt, es geht um die verbindung phpmyadmin <--> mariadb auf 3306, die verschlüsselung über https für den zugriff auf phpmyadmin ist eine separate).

aber wie gesagt, phpmyadmin ist - gerade wenn es aus dem internet ereichbar ist - unnötig und ein weiteres einfallstor für ungebetene gäste. ssh hat man meistens ja sowieso schon und dann kann man auch einfach die datenbankverbindung darüber tunneln.
 
Don-DCH schrieb:
Ich dachte es wird über Port 3306 laufen, den Standardport für mariadb und generell nicht über http oder https
Du bist doch derjenige der die ganz Zeit von http(s) redet obwohl das rein gar nichts mit MySQL/MariaDB zu tun hat :freaky:

Ich kann meinen Webserver auch auf Port 3306 binden wenn ich lustig bin. Trotzdem kann mein Webserver dann kein MySQL sprechen sondern weiterhin nur HTTP.

Genauso sprechen MySQL/MariaDB niemals HTTP(S). Und ja, die MySQL-Verbindung ist standardmäßig unverschlüsselt, kann also alles mitgelesen werden; kann auch nicht anders gehen wenn du in der MySQL Konfiguration / my.cnf nicht selber ein SSL Zertifikat konfiguriert hast.
 
0x8100 schrieb:
wenn der web-server mit phpmyadmin und mariadb auf demselben server sind und du der einzige mit zugang zu der maschine bist, dann kann da auch keiner mitlauschen
Da die Docker Container über das interne Subnetz (172.x.x.x) gehen, sofern auf Bridge gestellt, richtig?
Kann es bei Host passieren, das die Anfrage erstmal durchs Netz geht?

0x8100 schrieb:
aber wie gesagt, phpmyadmin ist - gerade wenn es aus dem internet ereichbar ist - unnötig und ein weiteres einfallstor für ungebetene gäste. ssh hat man meistens ja sowieso schon und dann kann man auch einfach die datenbankverbindung darüber tunneln.
In meinem Fall bezieht sich alles nur auf das lokale Netzwerk :)

Marco01_809 schrieb:
Du bist doch derjenige der die ganz Zeit von http(s) redet obwohl das rein gar nichts mit MySQL/MariaDB zu tun hat :freaky:
Hatte nur phpmyadmin als Beispiel genommen, da mir diese Meldugn aufgefallen ist.
War vielleicht etwas unglücklich.

Prinzipiell geht es mir um meine Fragen unabhängig von meinem Beispiel also das generell beste vorgehen:

1. Wenn der ngnix Proxy Manager auf dem gleichen Host läuft wie die anderen Docker geht ja garnichts übers Netzwerk oder? Und die Option Bridge sollte sehr sicher sein?



2. Kann ich wenn ich einen zweiten Unraid Server im Netz habe ebenfalls von meinem Hauptserver problemlos ein Reverse Proxy eintrag machen oder ist es besser und sicherer auf jedem Unraid Server den ngnix proxy manager zu insatllieren?



3. Ist es von der Sicherheit besser Bridge oder Host bei dem Docker Container auszuwählen oder ist das vollkommen egal und hat nur den Sinn falls man eine andere IP haben möchte?



4. Ist es so wie ich es eingerichtet habe Ideal?



5. Aktuell komme ich auch noch per Port und IP über http auf die Seite, kann ich das noch irgendwie abschalten Firewall regel oder Plugin?

6. Auf meinem finalen System möchte ich gerne eine 10 Gigabit Netzwerkkarte einbauen, muss ich dann noch etwas spezielles beachten?
 
Don-DCH schrieb:
Kann es bei Host passieren, das die Anfrage erstmal durchs Netz geht?
Nein, selbst dann bleibt es lokal auf der Maschine ...

Don-DCH schrieb:
1. Wenn der ngnix Proxy Manager auf dem gleichen Host läuft wie die anderen Docker geht ja garnichts übers Netzwerk oder? Und die Option Bridge sollte sehr sicher sein?
was sollte denn unsicher sein, ist auch egal ob bridge, custom, host ... solange du keine getrennten Karten oder vlans nimmst bleibst es lokal.

Don-DCH schrieb:
3. Ist es von der Sicherheit besser Bridge oder Host bei dem Docker Container auszuwählen oder ist das vollkommen egal und hat nur den Sinn falls man eine andere IP haben möchte?
Ja und Ja, verwechsel Host nicht mit custom ...

Host = stack von Unraid = auch IP von Unraid > freie Ports berücksichtigen ...
Custom = das was du meinst ... jeder Docker hat seine eigene LAN IP

1711743028843.png


Don-DCH schrieb:
4. Ist es so wie ich es eingerichtet habe Ideal?
Nein, es ist egal ... das was dir besser gefällt ;)

Ich gebe allen Dockers lieber ne eigene IP und laufen alle auf custom, sind aber offener "lokal" ... da ich jedoch zuhause keine Angriffe erwarte im LAN ;) ...

Don-DCH schrieb:
5. Aktuell komme ich auch noch per Port und IP über http auf die Seite, kann ich das noch irgendwie abschalten Firewall regel oder Plugin?
auf welche Seite ... ? "normal" sollten deine domains per http direkt umgeleitet werden auf https

Don-DCH schrieb:
6. Auf meinem finalen System möchte ich gerne eine 10 Gigabit Netzwerkkarte einbauen, muss ich dann noch etwas spezielles beachten?
Nein

Rest wurde ja bereits bestens erklärt ... lokal verbinden sich die meisten Dienste per http, hat aber nichts mit der Sicherheit von extern am Hut da alles über den RP geht.
 
  • Gefällt mir
Reaktionen: Don-DCH
Guten Abend,

vielen herzlichen Dank dir für die Ausführliche Antwort!

alturismo schrieb:
Nein, selbst dann bleibt es lokal auf der Maschine ...
Ah ok, interessant, ich dachte es würde zumindest bis zum Switch und wieder zurück gehen :)

alturismo schrieb:
was sollte denn unsicher sein, ist auch egal ob bridge, custom, host ... solange du keine getrennten Karten oder vlans nimmst bleibst es lokal.
Ok, danke dir!

alturismo schrieb:
Ja und Ja, verwechsel Host nicht mit custom ...

Host = stack von Unraid = auch IP von Unraid > freie Ports berücksichtigen ...
Custom = das was du meinst ... jeder Docker hat seine eigene LAN IP
Ah, entschuldige du hast recht. Ich habe mir das heute nochmal angesehen und verschiedene Docker in verschiedenen Netzwerken erstellt.

bei bridge wird demnach ein eigenes Subnetz aufgebaut für den Container mit Kommunkation über dieses und möglichkeit über die Server IP mit entsprechendem Port "raus" zu gehen.

Bei Host verwendet der Container die Unraid Server IP und den entsprechenden Port

Und wie du natürlich richtig sagtest, ist bei Custom so das man eine eigene IP Vergibt.

Verstehe auch das es egal ist, da es ja alles extern erreichbar ist. Spielt da irgendwo noch eine Firewall eine rolle? Das diese bei host oder custom außenvorgelassen wird? Oder ist das bei allen 3 gleich?

alturismo schrieb:
Ich gebe allen Dockers lieber ne eigene IP und laufen alle auf custom, sind aber offener "lokal" ... da ich jedoch zuhause keine Angriffe erwarte im LAN ;) ...
Genau das meinte ich bei dem Punkt oeben mit dem Bezug auf Firewall :)
Benötigen Manche Dienste das?
AdGuard habe ich nämlich aktuell auch auf meinem Synology NAS im Einsatz

Bei der Anleitung, nach der ich gegangen bin, wird wohl auch host verwendet:
https://mariushosting.com/synology-install-adguard-with-portainer/

Würde da Bridge auch genauso Problemlos funktionieren?
Habe gerade mal geschaut Unraid schlägt bei Adguard direkt Custom vor.
Bei ngnix habe ich auch mal geschaut, da wird es auch vorgeschlagen. Also sollte man sich am besten an das Template halten oder?


alturismo schrieb:
auf welche Seite ... ? "normal" sollten deine domains per http direkt umgeleitet werden auf https
Entschuldige, das war sehr unpräzise formuliert.
Als Beispiel, wenn ich jellyfin installiere komme ich auf die Verwaltungs GUI mit der IP des Unraid Servers und dem entsprechenden Port. Das geht immer über HTTP.
Wenn ich im ngnix Proxy Manager einen Proxy Host eintrag hinzufüge für diese URL, so kann ich mit jellyfin.mydomain.de ja verschlüsselt darauf zugreifen.
Nun würde ich gerne aber den Zugriff über HTTP gänzlich unterbinden geht das?





Jetzt habe ich noch neue Fragen und hoffe du kannst mir helfen.

Was sollte man am besten bei "Docker custom network type:" unter den Settings--> Docker auswählen?
So ganz bin ich bei den verlinkten Erklärungen nicht durchgestiegen, was vielelicht auch an der Sprache liegt. Für mich hat es sich so angehört das man es am Besten bei ipvlan belässt, stimmt das?

Wenn ich jetzt auf einem Unraid Server den ngnix proxy manager installiere und auf einen Docker Container auf einem zweiten unraid server verweise, so gehen die daten ja vom client zum unraid 1 über https und unraid 1 leitet dies weiter beispielsweise per http über den einegstellten port. Wäre das dann unsicher?

Sollte ich auf jedem Unraid Host ein ngnix Proxy Manager installieren und mein Wildcard Zertifikat über DNS Challange abrufen, geht das überhaupt? Oder kann ich das Zertifikat nur auf einem Server abrufen?

Sollte ich um auf meienn Unraid host zu kommen direkt die IP mit HTTPS eingeben oder kann ich auch per unraid.mydomain.de gehen? Oder muss da der Ngnix auch auf dem gleichen Server liegen und es wäre ja auch immer ein Umweg über den Container.

Wenn ich es richtig sehe bietet unraid selbst keine DNS Challange für eigene Domains an sondern nur ein selbstgeneriertes SSL Zertifikat was eine Meldung bringt oder wenn man Strikt auswählt ein Zertifikat über unraid.net ist das richtig?

Gibt es eine Empfehlung für die lokale TLD?
Ich habe es aktuell auf dem Standardwert .local.
Ich habe mal gehört, das man das in Verbindung mit Apple Geräten nicht verwenden soll, kann man da einfach .aa oder .zz nehmen das sind ja freie extra für den Heimgebrauch reservierte Bereiche.

Ist jetzt nicht alles direkt zu Docker aber ich würde mich trotzdem sehr über eine Rückmeldung freuen :)
Sind wirklich sehr viele Fragen geworden.

Viele Grüße
 
Don-DCH schrieb:
Spielt da irgendwo noch eine Firewall eine rolle? Das diese bei host oder custom außenvorgelassen wird? Oder ist das bei allen 3 gleich?
da keine Firewall auf Unraid läuft ...

Don-DCH schrieb:
Benötigen Manche Dienste das?
ich nicht, wenn ich deine Fragen sehe denke ich, du schon für dein Gewissen ;)

Don-DCH schrieb:
Bei der Anleitung, nach der ich gegangen bin, wird wohl auch host verwendet:
sorry, aber zu diesen ganzen Guides welche da kursieren sage ich nichts

Don-DCH schrieb:
Würde da Bridge auch genauso Problemlos funktionieren?
Habe gerade mal geschaut Unraid schlägt bei Adguard direkt Custom vor.
Bei ngnix habe ich auch mal geschaut, da wird es auch vorgeschlagen. Also sollte man sich am besten an das Template halten oder?
ab hier kommt der Punkt wo ich dir nur vorschlagen kann, lies dich ein um die Unterschiede zu verstehen. du stellst so viele Fragen mit der "Überschrift" Sicherheit aber dir fehlen einige Grundsätzlichkeiten.

ganz grob und simpel

Host mode, Docker läuft auf dem Host Netzwerk Stack, sprich, eine IP (Host) und alle Dienste teilen sich diesen Stack und Ports können auch nur einmalig belegt werden, Beispiel HTTP Port 80 ...
> Port mapping obsolet, egal was du machst ... der Dienst läuft wie nativ gestartet auf seinem Port
>> alle Ports der Dienste im Docker sind komplett erreichbar und auf

Bridge Mode, Docker läuft im eigenen Netz in einer Bridge, jeder Docker hat in der bridge eine eigene IP, Bsp 172..... zur Kommunikation untereinander in der bridge, diverse Dienste können laufen wie Sie wollen (intern), auch beispielsweise 2x HTTP Dienste auf Port 80.
> Port mapping erforderlich um die Dienste außerhalb der bridge zu erreichen, müssen aber einmalig (Host) zugeordnet sein, Beispiel 8080 <> 80 (Dienst 1), 8081 <> 80 (Dienst 2), weil du auf dem Unraid Host nur einmalig einen Port für einen Dienst zur Verfügung stellen kannst
>>nur die Ports wo das Port mapping eingerichtet sind ... sind auch erreichbar und auf

Custom "Bridge" Mode, Docker laufen jeweils auf Ihrem eigenen Stack und Ihrer eigenen IP, Der Dienst läuft wie nativ auf seinem Port (und IP).

> Port mapping obsolet, egal was du machst ... der Dienst läuft wie nativ gestartet auf seinem Port (und IP)
>> alle Ports der Dienste im Docker sind komplett erreichbar und auf (der jeweiligen IP).

Jetzt zu deiner Frage und lass uns darüber nachdenken,
adguard ist ein DNS Service, recht starrer Port ;) der sollte immer extern oder zumindest auf einer eigenen IP laufen um beispielsweise nicht mit einem DNS Dienst auf dem Host zu kollidieren (port 53).
nginx proxy manager (ich schätze du meinst den) ist ein HTTP/S Server, der "per se" Port 80 und 443 für sich beansprucht, während Unraid auch einen (nginx) HTTP/S Server bereits laufen hat ... jetzt müsste man einem der beiden beibringen auf anderen Ports zu laufen wenn die beispielsweise auf dem Host laufen sollten, oder wenn der NPM in der bridge läuft ... dann muss ich das mapping entsprechend setzen, Beispiel Host:180 <> Docker:80 ... auf der custom mit eigener IP wäre es wiederum egal da beider über verschiedene IP's anzusprechen sind und es keine Konflikte gibt ...

on du dich jetzt an das template halten willst oder nicht obliegt dir, berücksichtige das "warum ..." und entscheide für dich wie dein setup aussehen soll, meins habe ich ja oben beschrieben.

Don-DCH schrieb:
Wenn ich im ngnix Proxy Manager einen Proxy Host eintrag hinzufüge für diese URL, so kann ich mit jellyfin.mydomain.de ja verschlüsselt darauf zugreifen.
Nun würde ich gerne aber den Zugriff über HTTP gänzlich unterbinden geht das?
auch hier .. Basics einlesen oder sauber formulieren was du willst

HTTP Zugriff von außen ?
Antwort stand oben, sollte eh direkt umgeleitet werden auf HTTPS
> HTTP komplett ablehnen, lass halt deinen Port 80 am Router zu ;) warum auch immer (siehe darüber)

HTTP Zugriff zuhause im LAN über http://ip_von_jelly:8096 ?
wenn du Jelly und NPM in der bridge hast, lass das mapping zu 8096 weg, dann ist der Docker isoliert, NPM kann in der internen bridge darauf zugreifen ... warum erschließt sich mir jetzt nicht ... und beachte bitte in so einem Beispiel, deine lokalen Clients (Jelly Player) müssen sich dann auch per https verbinden (über den "externen" Umweg ...) ... warum du das anstrebst, erschließt sich mir noch weniger ;)
> kurz, ich erwarte zuhause in meinem LAN keine Angriffe ... wenn du das erwartest, mach das ... aber mit allen Konsequenzen und ich würde bei Issues zu so etwas keinen support mehr geben (im Unraid Forum)

Don-DCH schrieb:
Für mich hat es sich so angehört das man es am Besten bei ipvlan belässt, stimmt das?
kommt auf die Hardware Umgebung an und wie ich es jetzt einrichte.

Für mich ist IPVLAN für custom keine Option, alle Docker haben immer die gleiche mac ... und viele Geräte (Router ...) haben damit Probleme da Sie nach mac Adresse routen (Bsp. Fritz).

wenn alles in der bridge läuft, dann ja ... ist IPVLAN die bessere Option da "leichter", macvlan erzeugt virtuelle bridges zur Kommunikation mit dem Host.

Don-DCH schrieb:
Wenn ich jetzt auf einem Unraid Server den ngnix proxy manager installiere und auf einen Docker Container auf einem zweiten unraid server verweise, so gehen die daten ja vom client zum unraid 1 über https und unraid 1 leitet dies weiter beispielsweise per http über den einegstellten port. Wäre das dann unsicher?
siehe "zuhause Angriffe im LAN ...."

Don-DCH schrieb:
Sollte ich auf jedem Unraid Host ein ngnix Proxy Manager installieren und mein Wildcard Zertifikat über DNS Challange abrufen, geht das überhaupt? Oder kann ich das Zertifikat nur auf einem Server abrufen?
da du den Reverse Proxy für den Zugriff von extern nutzt ...
https://jelly_deine_domain.de ...

wie oft kannst du denn extern port 443 weiterleiten ;) kurz, 1 x und fertig ...

Don-DCH schrieb:
Sollte ich um auf meienn Unraid host zu kommen direkt die IP mit HTTPS eingeben oder kann ich auch per unraid.mydomain.de gehen? Oder muss da der Ngnix auch auf dem gleichen Server liegen und es wäre ja auch immer ein Umweg über den Container.
ganz ehrlich, bei den Fragen da oben zu Sicherheit und jetzt fragst du ernsthaft an wie du deinen Server von außen zugänglich machen willst, sollst, ... ;) Sorry, passt überhaupt nicht zusammen.

Tipp 1 > lass es !!! bis du mal ein paar Basics sitzen hast ...
Tipp 2 > wenn dann per VPN nach Hause und dann "im LAN" aufrufen
Tipp 3 > Unraid bietet hierfür auch einen relay an über deren Seite und deinen account ...

Zusammengefasst, lass das erstmal zum Start ...

Don-DCH schrieb:
Wenn ich es richtig sehe bietet unraid selbst keine DNS Challange für eigene Domains an sondern nur ein selbstgeneriertes SSL Zertifikat was eine Meldung bringt oder wenn man Strikt auswählt ein Zertifikat über unraid.net ist das richtig?
ja

Don-DCH schrieb:
Gibt es eine Empfehlung für die lokale TLD?
Ich habe es aktuell auf dem Standardwert .local.
Ich habe mal gehört, das man das in Verbindung mit Apple Geräten nicht verwenden soll, kann man da einfach .aa oder .zz nehmen das sind ja freie extra für den Heimgebrauch reservierte Bereiche.
da ich alles nur kein ios nutze (nur berufliches Arbeitshandy was ne Umleitung drin hat ;) ) ...
am Ende liegt das daran was dein DNS zuhause so alles treibt ... und ich gehe darauf jetzt nicht ein ;)

Don-DCH schrieb:
Ist jetzt nicht alles direkt zu Docker aber ich würde mich trotzdem sehr über eine Rückmeldung freuen :)
Sind wirklich sehr viele Fragen geworden.
alles gut, was ich zwar nicht ganz verstehe (nicht offensiv gemeint), du hast das Unraid Forum gefunden ... wo viele user sind ... und es extra einen deutschsprachigen Teil gibt ... und viele Threads gibt wo viele deiner Themen behandelt wurden (Suche ...), aber gut ;)
 
  • Gefällt mir
Reaktionen: Don-DCH
Nochmals vielen vielen herzlichen Dank dir das du dir die Zeit nimmst und mir so toll weiterhilfst :)

Anhand der Erklärungen und Recherche habe ich glaube viele Fragezeichen gelöst :)

Ich habe mich die letzten Tage jetzt nochmal intensiv damit Beschäftigt um jetzt besser zu antworten, nicht, dass du denkst, ich hätte den Thread vergessen :)


Ehrlich gesagt habe ich in deutscher Sprache nichts allumfassendes zum Thema Docker Netzwerktypen und macvlan ipvlan gefunden immer nur eher Bruchstücke.

Im Unraid Forum habe ich mich auch umgesehen, da hatte google einige Treffer für mich parat :)

alturismo schrieb:
auch hier .. Basics einlesen oder sauber formulieren was du willst

HTTP Zugriff von außen ?
Ich glaube das habe ich einfach schlecht formuliert.

Ich denke ich werde mal was mit draw io zeichnen das man es besser versteht, manchmal kann ich einfach nicht gut erklären....
--> Das habe ich mittlerweile gemacht da ich auch noch eine Frage zu dem nginx Proxy Manager hatte in Verbindung mit Docker, das es vielleicht nicht so ausufert und andere durch eine Suche das besser finden habe ich einen Thread hier erstellt.
https://www.computerbase.de/forum/threads/einen-oder-mehrere-nginx-proxy-manager.2190453/

Da habe ich nochmal Skizzen gemacht :)

alturismo schrieb:
ganz ehrlich, bei den Fragen da oben zu Sicherheit und jetzt fragst du ernsthaft an wie du deinen Server von außen zugänglich machen willst, sollst, ... ;) Sorry, passt überhaupt nicht zusammen.
Das ist auch leider Missverständlich.
Mit Außen meine Ich die Kommunikation im LAN.
Mir geht es darum, dass ich von den Clients verschlüsselt auf die Container zugreifen kann über den nginx proxy manager und die Container nur über diesen laufen und der Traffic aller Container möglichst nicht übers Netwzwerk gehen.

Meinen Wunsch hatte ich auch nochmal genaustens hier beschrieben:https://www.computerbase.de/forum/threads/einen-oder-mehrere-nginx-proxy-manager.2190453/

Entschuldige die Verwirrung. Manchmal kann ich mich nicht so gut ausdrücken, bzw. ist es sehr schwierig das so als Text niederzuschreiben ohne Grafik oder Skizzen die das geschriebene ergänzen.

alturismo schrieb:
Host mode, Docker läuft auf dem Host Netzwerk Stack, sprich, eine IP (Host) und alle Dienste teilen sich diesen Stack und Ports können auch nur einmalig belegt werden, Beispiel HTTP Port 80 ...
Vielen Dank, dadruch habe ich es gut verstanden :)
zusätzlich können die Container dadurch sich nicht "unterhalten" sofern die Option Host access to custom networks: nicht auf Enabled gestellt ist gell?

alturismo schrieb:
Bridge Mode, Docker läuft im eigenen Netz in einer Bridge, jeder Docker hat in der bridge eine eigene IP, Bsp 172..... zur Kommunikation untereinander in der bridge, diverse Dienste können laufen wie Sie wollen (intern), auch beispielsweise 2x HTTP Dienste auf Port 80.
Hier sehe ich den Vorteil das die Container in einem "geschützten Netz" sind und unverschlüsselt übertragen werden kann und nach außen dann ja immer problemlos der NPM eingesetzt werden kann.

(Nach außen auch hier wieder meine ich das LAN Netzwerk, generell geht es mir nicht darum, dass ich auch nur irgendetwas im Internet freigebe, sondern nur im LAN.)

alturismo schrieb:
Custom "Bridge" Mode, Docker laufen jeweils auf Ihrem eigenen Stack und Ihrer eigenen IP, Der Dienst läuft wie nativ auf seinem Port (und IP).
Können hier die Docker Container untereinander "reden" ohne das Host access to custom networks: auf Enabled gestellt sein muss? Und wenn ja verlässt der Traffic den Unraid Server?

alturismo schrieb:
adguard ist ein DNS Service, recht starrer Port ;) der sollte immer extern oder zumindest auf einer eigenen IP laufen um beispielsweise nicht mit einem DNS Dienst auf dem Host zu kollidieren (port 53).
nginx proxy manager (ich schätze du meinst den) ist ein HTTP/S Server, der "per se" Port 80 und 443 für sich beansprucht, während Unraid auch einen (nginx) HTTP/S Server bereits laufen hat ... jetzt müsste man einem der beiden beibringen auf anderen Ports zu laufen wenn die beispielsweise auf dem Host laufen sollten, oder wenn der NPM in der bridge läuft ... dann muss ich das mapping entsprechend setzen, Beispiel Host:180 <> Docker:80 ... auf der custom mit eigener IP wäre es wiederum egal da beider über verschiedene IP's anzusprechen sind und es keine Konflikte gibt ...

on du dich jetzt an das template halten willst oder nicht obliegt dir, berücksichtige das "warum ..." und entscheide für dich wie dein setup aussehen soll, meins habe ich ja oben beschrieben.
Verstehe, vielen Dank für das Beispiel!!

Das ist ein sehr gutes Beispiel gerade DNS kann man ja nicht an den Clients ändern das die über Port 50000 die Anfragen stellen. Das gibt Sinn, das man dafür Custom Bridge Nutzt um einfach sauber getrennt zu sein mit Unraid :)


alturismo schrieb:
HTTP Zugriff von außen ?
Nein, sorry für die Verwirrung.
Zugriff von Clients.
Bei meiner Synology ist es so, das ich nur über den Reverse Proxy auf die Dienste komme. Da in der Firewall Beispielsweise nicht die IP und 8096 im Falle von Jellyfin freigegeben ist sondern nur jellyfin.domain.de funktioniert. Das hätte ich gerne bei Unraid auch.

alturismo schrieb:
alles gut, was ich zwar nicht ganz verstehe (nicht offensiv gemeint), du hast das Unraid Forum gefunden ... wo viele user sind ... und es extra einen deutschsprachigen Teil gibt ... und viele Threads gibt wo viele deiner Themen behandelt wurden (Suche ...), aber gut ;)
Ich habe die Erfahrung gemacht, das sich schon sehr unterschiedliche Leute in den einzelnen Foren bewegen, oft habe ich mich bei den entsprechenden Fachforen angemeldet aber nie so tolle Antworten wie bei Unraid im Forum bekommen!

Über das Computerbase Forum habe ich immer Exellente Hilfe bekommen, zuletzt bei einem speziellen Phyton Problem, wo mir ein ganz liebes Mitglied super weitergeholfen hatte.

Meiner Erfahung nach fahre ich gut, wenn ich an mehreren Stellen Hilfe suche und mich interessieren auch oft die Meinungen wie andere es umgesetzt haben.

Beispielsweise in dem nginx Thread https://www.computerbase.de/forum/threads/einen-oder-mehrere-nginx-proxy-manager.2190453/

Wo auch jemand verschiedene Optionen aufgezählt hatte inklusive VPN, worauf ich garnicht gekommen bin und so auch nciht gehört habe.

Ich denke das es eine shcöne Sache ist sich mit möglichst vielen auszutauschen und so viele Möglichkeiten und Ideen einzuholen und die für mich praktikabelste auszusuchen :)

Ich hoffe du verstehst was ich meine und es kommt nicht falsch oder gar undankbar rüber, das soll es in keinem Fall!

Vielelicht bin ich da speziell....

Ich bedanke mich nochmals ganz herzlich für deine tolle Hilfe, sowohl hier, als auch im Unraid Forum. Das ist einfach toll, wenn es eine so aktive Community gibt, die Neulinge so gut unterstützt.

Gerne möchte ich in nächster Zeit durchstarten mit Unraid und mir ein schönes System aufbauen und so viel wie möglich verstehen um alles bestmöglichst zu konfigurieren.

Am schlausten werde ich durch den Austausch. Dokumentationen sind auch gut aber je nachdem wie geschrieben verstehe ich es besser wenn jemand das erklären kann, gerade auch wenn es mehrere Zusammenhängende Fragen sind, die sich mir ergeben, so kann ich dann manchmal da im Zusammenhang nicht ganz verstehen wenn ich mehrere Seiten Dokumentation lese wie alles zusammenhängt.
Da hilft es ungemein mit einem oder zwei Sätzen das kurz zu umschreiben ohne gleich zu tief beispielsweise reinzugehen in die Materie.

Viele Grüße
 
  • Gefällt mir
Reaktionen: alturismo
Don-DCH schrieb:
zusätzlich können die Container dadurch sich nicht "unterhalten" sofern die Option Host access to custom networks: nicht auf Enabled gestellt ist gell?
doch, natürlich können die das.

die Option bedeutet das alles auf dem Host (Bsp. Unraid) nicht mit Diensten in der Bridge (Bsp. Docker im bridge mode) kommunizieren können, aber untereinander können alle auf dem Host laufenden Docker miteinander ... es geht um bridge <> host Kommunikation.

Bsp. NPM auf dem Host, andere Docker in der Bridge, dann muss das aktiv sein weil sonst nichts geht ... ist ein gern genommenes Szenario ;)

den ganzen Rest deiner Anfrage habe ich jetzt (denke ich zumindest) verstanden mit lokalem Traffic ... aber da klinke ich mich aus da ich da keinerlei Sinn, viele Fehlerquellen, usw ... sehe und im Nachgang mehr Probleme bietet wie Nutzen, den ich in Summe zu 0,0 sehe im LAN ;)

mal angefangen damit welche Certs nutzt du denn und wie ... aber egal, viel Erfolg dabei ;)

Du wirst deine Gründe haben oder es ist der Spieltrieb dies zu machen ;)

nur ein Tipp, wenn später mal was hängt, erkläre das bitte immer dazu da dies kein normaler usecase ist, bevor andere lange versuchen zu unterstützen ...
 
  • Gefällt mir
Reaktionen: Don-DCH
Zurück
Oben