Fragen zu NPM Docker Installation
Hallo,
Ich habe ein paar kleine Fragen zur NPM Installation auf Ubuntu 22.0.4 LTS SERVER.
Hab es nach Anleitung auf der NPM Seite als Stack mit Portainer installiert, aber so richtig laufen tut es noch nicht.
Fragen:
1. Muss ich für jeden Proxy Host, den ich im NPM anlege, z.B. test.domain.de, auch in der DNS Verwaltung der Domain Domain.de eine Subdomain anlegen?
2. Aktuell habe ich die Ports wie in der Anleitung exposed: 80, 443, 81. Das NPM Interface möchte ich nicht öffentlich zugänglich machen. Einfache Idee war, den Port bei der Putty Verbindung zu tunneln. Somit Zugriff auf Port 81 nur bei SSH Verbindung möglich. D.h. ich kann diesen Port 81 komplett aus dem Stack rausnehmen oder?
3. Wie kann ich denn den Containern fixe IPs verpassen, damit die sich nicht bei jedem Neustart ändern und die Firewall Regeln nicht mehr passen? Beim Wireguard Server, der ein eigenes Docker Netz hat, ging es einfach einzutragen. Container im Netz Bridge verweigern das. Gibt's ne andere Lösung?
Hintergund:,Aufgrund des UFW Docker Problems nutze ich das TOOL UFW Docker was auch funktioniert, aber wenn sich die Container IP ändert funktionieren eben die Regeln nicht mehr.
4.Jeder Container, den ich über NPM erreichen will muss in des NPM Docker Netzwerk, richtig? Also zusätzlich zu dem Netz, das in dem er selbst schon war?
Richte ich dann in den Proxy Hosts die IP ein, oder den Containernamen? Wenn IP, dann die aus dem NMP Netz oder die aus dem ursprünglichen Netz?
Ich weiß viele Fragen.
Trotzdem Danke
Ich habe ein paar kleine Fragen zur NPM Installation auf Ubuntu 22.0.4 LTS SERVER.
Hab es nach Anleitung auf der NPM Seite als Stack mit Portainer installiert, aber so richtig laufen tut es noch nicht.
Fragen:
1. Muss ich für jeden Proxy Host, den ich im NPM anlege, z.B. test.domain.de, auch in der DNS Verwaltung der Domain Domain.de eine Subdomain anlegen?
2. Aktuell habe ich die Ports wie in der Anleitung exposed: 80, 443, 81. Das NPM Interface möchte ich nicht öffentlich zugänglich machen. Einfache Idee war, den Port bei der Putty Verbindung zu tunneln. Somit Zugriff auf Port 81 nur bei SSH Verbindung möglich. D.h. ich kann diesen Port 81 komplett aus dem Stack rausnehmen oder?
3. Wie kann ich denn den Containern fixe IPs verpassen, damit die sich nicht bei jedem Neustart ändern und die Firewall Regeln nicht mehr passen? Beim Wireguard Server, der ein eigenes Docker Netz hat, ging es einfach einzutragen. Container im Netz Bridge verweigern das. Gibt's ne andere Lösung?
Hintergund:,Aufgrund des UFW Docker Problems nutze ich das TOOL UFW Docker was auch funktioniert, aber wenn sich die Container IP ändert funktionieren eben die Regeln nicht mehr.
4.Jeder Container, den ich über NPM erreichen will muss in des NPM Docker Netzwerk, richtig? Also zusätzlich zu dem Netz, das in dem er selbst schon war?
Richte ich dann in den Proxy Hosts die IP ein, oder den Containernamen? Wenn IP, dann die aus dem NMP Netz oder die aus dem ursprünglichen Netz?
Ich weiß viele Fragen.
Trotzdem Danke
Please also mark the comments that contributed to the solution of the article
Content-ID: 42010191581
Url: https://administrator.de/contentid/42010191581
Printed on: November 5, 2024 at 17:11 o'clock
13 Comments
Latest comment
Moin,
Gruß,
Dani
1. Muss ich für jeden Proxy Host, den ich im NPM anlege, z.B. test.domain.de, auch in der DNS Verwaltung der Domain Domain.de eine Subdomain anlegen?
Ja, am Besten als CNAME Eintrag, welcher auf den FQDN des NPM zeigt.2. Aktuell habe ich die Ports wie in der Anleitung exposed: 80, 443, 81. Das NPM Interface möchte ich nicht öffentlich zugänglich machen.
Die Verwendung einer Access List des NPM ist keine Option für dich?3. Wie kann ich denn den Containern fixe IPs verpassen, damit die sich nicht bei jedem Neustart ändern und die Firewall Regeln nicht mehr passen?
In dem du vor du den Container startest, das jeweilige Netzwerk mit Subnetz manuell anlegst. Die Zuweisung erfolgt dann an Hand des Namens des Netzwerk in der YML Datei des Containers.4.Jeder Container, den ich über NPM erreichen will muss in des NPM Docker Netzwerk, richtig?
Ja und nein. Hängt davon, ob der Container hinter NPM selbst ins Internet muss oder nicht. Wenn dieser nicht ins Internet oder mit einem anderen Container sprechen muss, ist kein dediziertes Netzwerk erforderlich.Gruß,
Dani
Moin,
https://www.baeldung.com/ops/docker-assign-static-ip-container
Unabhängig davon bräuchte doch nur der NPM eine fixe IP. Weil die Container sprichst du über den NPM mit deren Namen an.
Gruß,
Dani
4. Was wärs denn ein Beispiel für einen Container der nichts ins WWW muss? Ne Datenbank?
Webserver, Datenbank, etc. das hängt schlussendlich vom Container bzw. den Zweck ab. Da gibt es keine Faustformel.Geplant ist dann auch 2FA nicht Authelia.
Du meinst sicherlich mit und nicht nicht.3.Versteh ich nicht. Die feste IP in den Stack mit rein oder das yaml oder den Dockerbefehl?
https://docs.docker.com/network/network-tutorial-standalone/https://www.baeldung.com/ops/docker-assign-static-ip-container
Unabhängig davon bräuchte doch nur der NPM eine fixe IP. Weil die Container sprichst du über den NPM mit deren Namen an.
Gruß,
Dani
Moin,
Gruß,
Dani
- UNter "Access Lists" einen User samt PW vergeben und auf beiden Proxy Hosts aktiviert => Funktioniert 1a für Heimdall, wenn ich die NPM Domain aufrufe kann ich die Zugangsdaten gemäß Access List eingeben, komme auf die Loginseite von NPM, kann mich aber nicht einloggen (Zugangsdaten korrekt, eingesetzt aus Keepass, selbe wie für Heimdall) => Ideen woran das liegen kann?
wenn du die ACL entfernst, funktioniert der Login?Die NPM Login Seite ist aber nach wie vor unter IP:81 zu erreichen. => Sollte doch durch u.g. Maßnahmen nicht mehr sein, oder?
Ne, wieso? Sperr doch einfach den Port 81 in der lokalen Firewall. So wie das alle anderen auch machen.Irgendwo hab ich gelesen, in meinem Fall Raspi Portainer und Server Portainer würden auch über Port 8000 kommunizieren?
Wo hast du das gelesen? Auf dem Server läuft kein Webserver. D.h. es würde reichen, wenn ich dort in er UFW Port 80 & 443 TCP für den NPM Container und das NPM-Network freigebe. Generelle Freigabe von 80 & 443 ist nciht mehr nötig => Hab ich das so richtig verstanden?
Für ein NPM Network kannst du keine Ports freigeben. Du kannst Ports für den Container (in deinem Fall NPM) freigeben. Was du mit "generelle Freigabe" meinst erschließt sich mir nicht.Wenn ich nun die Ports entferne und ein anderer Container lauscht auch intern auf z.B. Port 80? Wird da dann doch die Einstellung im NPM http => Containername => Port 80 geregelt, oder gibt es dann Fehler.
Probieren geht über studieren.Gruß,
Dani
Moin,
Steht, wenn du den Fehlerfall reproduziert hast, etwas im Log des NPM?
Gruß,
Dani
Hab ich, siehe hier:
ich sehe da eine Allow Regel für Port 81. Indem Zusammenhang beschäftige dich mit Thema ufw-docker.Ja, dann funktioniert es.
Warum sicherst du den Login von NPM mit einer ACL, wenn das Passwort gleich ist?!Steht, wenn du den Fehlerfall reproduziert hast, etwas im Log des NPM?
Mit "genereller Freigabe" meinte ich die generelle Freigabe von Port 80 & 443, also nicht nur für den NPM Container.
Kannst du machen. Was auf Port 80 und 443 "lauscht" hängt davon ab, was du konfigurierst. In dem Fall mappst du so zusagen den NPM dagegen. Was anderes macht doch auch keinen Sinn?!Gruß,
Dani
Moin,
Gruß,
Dani
Ich brauche nur Port 80 & 443 für den NPM
wenn du zuvor für das Management UI für NPM, welche auf Port 81 läuft eine ProxyHost angelegt hast. Anderenfalls sperrst du dich ja aus.Für die Container, für die ich in NPM einen Proxy Host angelegt habe, brauche ich keine weiteren Firewall Regeln (das scheint das Problem gewesen zu sein)
Richtig. Weil die Kommunikation zwischen NPM und dem Container stattfindet. Für Container, die nicht über den NPM laufen, wie der Wiregaurd in meinem Screenshot, mache ich weiter die UFW-Docker Regeln
Die beschriebene Problematik tritt immer auf, wenn UFW und Container zum Einsatz kommen, welche aus dem Internet erreichbar sind (Port veröffentlicht).Gruß,
Dani