Jump to content

Letsencryp Zertifikat error - Vaultwarden mit NPM und DuckDNS - Hilfe benötigt


pille

Recommended Posts

Nabend zusammen,

wie der Titel bereits vermuten lässt habe ich ein Problem beim erstellen der Zertifikate für Vaultwarden.  Ich bin zunächst nach der Anleitung hier vorgegangen

https://knilixun.wordpress.com/bitwarden-2/

 

Explizit ist es bei mir nun so:

ich habe vom Provider eine öffentliche IPv4 Adresse

 

meine DuckDNS Domain verweist auf diese öffentliche IP

Duck DNS läuft als Docker mit Network Type : Bridge

Subdomain ist ohne duckdns.org eingetragen und Token ebenfalls kopiert und eingefügt

 

Vaultwarden läuft via Network: br0 mit fester IP

NPM läuft via Network: br0 ebenfalls mit fester IP

Für die NPM Adresse ist im Router Portforwarding für 80 und 443 aktiviert

mit

curl ifconfig.io

erhalte ich als Ausgabe meine öffentliche IPv4 Adresse

ebenfalls erhalte ich beim Befehl

curl -sS http://IP_VOM_VAULTWARDEN_CONTAINER:80/ >/dev/null && echo "Container is reachable"

die Ausgabe "Container is reachable"

 

Im NPM selbst wollte ich dann den Host über Proxy Host hinzufügen (siehe angehängte Bilder)

 

log vom NPM sagt folgendes:

 

Quote

[9/21/2023] [8:13:34 PM] [Nginx    ] › ⬤  debug     Deleting file: /data/nginx/proxy_host/9.conf
[9/21/2023] [8:13:34 PM] [Nginx    ] › ⬤  debug     Could not delete file: {
  "errno": -2,
  "syscall": "unlink",
  "code": "ENOENT",
  "path": "/data/nginx/proxy_host/9.conf"
}
[9/21/2023] [8:13:34 PM] [Nginx    ] › ⬤  debug     Deleting file: /data/nginx/proxy_host/9.conf.err
[9/21/2023] [8:13:34 PM] [Nginx    ] › ⬤  debug     Could not delete file: {
  "errno": -2,
  "syscall": "unlink",
  "code": "ENOENT",
  "path": "/data/nginx/proxy_host/9.conf.err"
}
[9/21/2023] [8:13:34 PM] [Nginx    ] › ℹ  info      Reloading Nginx
[9/21/2023] [8:13:39 PM] [SSL      ] › ℹ  info      Requesting Let'sEncrypt certificates for Cert #19: meinedomainvonduckdns.duckdns.org
[9/21/2023] [8:13:39 PM] [SSL      ] › ℹ  info      Command: certbot certonly --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name "npm-19" --agree-tos --authenticator webroot --email "[email protected]" --preferred-challenges "dns,http" --domains "meinedomainvonduckdns.duckdns.org"
[9/21/2023] [8:13:42 PM] [Nginx    ] › ⬤  debug     Deleting file: /data/nginx/temp/letsencrypt_19.conf
[9/21/2023] [8:13:42 PM] [Nginx    ] › ℹ  info      Reloading Nginx
[9/21/2023] [8:13:42 PM] [Express  ] › ⚠  warning   Command failed: certbot certonly --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name "npm-19" --agree-tos --authenticator webroot --email "[email protected]" --preferred-challenges "dns,http" --domains "meinedomainvonduckdns.duckdns.org"
Saving debug log to /tmp/letsencrypt-log/letsencrypt.log
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/letsencrypt-log/letsencrypt.log or re-run Certbot with -v for more details.

 

Hat jemand eine Idee, woran es liegen könnte?

 

Beste Grüße

Screenshot 2023-09-21 200741.png

Screenshot 2023-09-21 201037.png

Edited by pille
Link to comment
  • Replies 51
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Die Logdatei innerhalb des Container von "/tmp/letsencrypt-log/letsencrypt.log" wäre schon ganz nützlich zu haben um herauszufinden wo das Problem liegt.

Was eventuell interessant zu wissen wäre ist welcher NPM Container das ist.

Edit:
So nebenbei, sicher das der TCP Port 433 freigegeben & weitergeleitet wurde? Müsste 443 sein.

Edited by Mainfrezzer
Link to comment
1 hour ago, Mainfrezzer said:

Die Logdatei innerhalb des Container von "/tmp/letsencrypt-log/letsencrypt.log" wäre schon ganz nützlich zu haben um herauszufinden wo das Problem liegt.

Was eventuell interessant zu wissen wäre ist welcher NPM Container das ist.

Edit:
So nebenbei, sicher das der TCP Port 433 freigegeben & weitergeleitet wurde? Müsste 443 sein.

 

wenn du mir sagst, wie ich die Logdatei irgendwie sichern kann, um diese hier hochzuladen kann ich das gerne machen. Ich weiß nur leider nicht, wie ich an die Datei, die in dem Container ist von außerhalb dran kommen.

 

Sorry, Tippfehler Meinerseits. Ist natürlich 443.

Handelt sich um den NPM Container von mgutt

Link to comment
Just now, Mainfrezzer said:

Einfachste ist im Container folgendes auszuführen

cp /tmp/letsencrypt-log/letsencrypt.log /data/

Dann liegt die Datei in "/mnt/user/appdata/Nginx-Proxy-Manager-Official/data"

Danke. Habs grad schon bisschen komplizierter hinbekommen :D Aber gut zu wissen für das nächste Mal.
Muss ich aus den Logs irgendwas rausschmeißen/kürzen, was hier nicht unbedingt öffentlich einsehbar sein sollte? Hatte jetzt meine Mail und die entsprechende Domain von DuckDNS geändert?

Link to comment
3 minutes ago, Mainfrezzer said:

Ich die öffentliche IP steht drin, auf jeden Fall steht da der Domainname. Vielleicht auch die Email. Da drüber zu gucken vorher würde ich auf jeden fall machen.

 

Ja genau. Öffentliche IP, Domainname und Mail hätte ich jetzt gefunden und ersetzt. Dann kann ich das ruhig dann hier posten?

Link to comment
2 minutes ago, Mainfrezzer said:

Ja, von mir aus^^
Der wichtige Abschnitt ist eh nur die Fehlermeldung die beginnt mit "Certbot failed to authenticate some domains" und halt die 3-5 Zeilen die folgen mit dem Grund.

 

 

Certbot failed to authenticate some domains (authenticator: webroot). The Certificate Authority reported these problems:
  Domain: meine_duck_dns_domain.duckdns.de
  Type:   connection
  Detail: meine_öffentlich_IPv4: Fetching http://meine_duck_dns_domain.duckdns.de/.well-known/acme-challenge/xi4GquFnHuBw79P6mFg_WfS7rSXyEeQKn8NZeIFDFZg: Timeout during connect (likely firewall problem)

Hint: The Certificate Authority failed to download the temporary challenge files created by Certbot. Ensure that the listed domains serve their content from the provided --webroot-path/-w and that files created there can be downloaded from the internet.

 

Dann mach ich das erst mal so. Wenn du mehr brauchst sag Bescheid. Die Firewall Meldung ist mir bei Durchsuchen vom Logfile auch schon ins Auge gesprungen.

Link to comment

Also wenn ich einfach die bei DuckDNS angegebene Domain in mein Handy eingebe passiert auch nichts.

 

Ping vom Rechner löst auf meine IP auf. Aus der unRaid CLI ebenfalls.  Aus dem Container selbst passiert gar nichts. Google wird zum Beispiel aber aufgelöst.

Edited by pille
Link to comment

Mhmmm, dual-stack Anschluss oder ds-lite?

Edit:

26 minutes ago, pille said:

 

Ping vom Rechner löst auf meine IP auf. Aus der unRaid CLI ebenfalls.

Intern den Router zu pingen sagt nix^^

Das ähnelt sich etwas mit dem Telefon ein anderes Telefon intern anzurufen um zu testen ob man von außerhalb angerufen werden kann.

Wo wir bei intern sind. Die interne IP von dem NPM Container erzielt die gewünschte "Glückwunschseite"?

Edited by Mainfrezzer
Link to comment
9 minutes ago, Mainfrezzer said:

Mhmmm, dual-stack Anschluss oder ds-lite?

Müsste Dual Stack sein, habe aber IPv6 in der FritzBox deaktiviert. Das einzige was noch speziell ist, ist das ich die Fritz Box im Bridge Mode an einem Modem betreibe. Bisher aber nie Probleme damit gehabt.

 

9 minutes ago, Mainfrezzer said:


Wo wir bei intern sind. Die interne IP von dem NPM Container erzieht die gewünschte "Glückwunschseite"?

Jo, da bekomme ich die Congratulations Seite angezeigt

 

 

Edit: Habe mir mal ein Tool runtergeladen. Pingen kann ich vom Handy mit LTE sowohl meine IPv4 als auch die DuckDNS Seite. Die löst dann auf meine IP auf.

Edited by pille
Link to comment
9 minutes ago, Mainfrezzer said:

Hat das Modem ne eigebaute Firewall? Ich würde da ja jetzt drauf tippen. Der Rest sieht mir nämlich soweit richtig aus.

Da ich pingen kann etc. könnte es auch am DNS liegen oder? Aber dann wunder micht, wieso er nicht per IP auflöst vom Handy aus.

 

Edit: Also im Modem selbst steht nicht viel drin.  Firewall stehet auf AN. Suche gerade, wie ich die zum Test mal ausschalten kann.

Da stehen aber sosnt auch keine Infos über IP drin. Das scheint alles über die FritzBox zu laufen.

 

Edited by pille
Link to comment
1 minute ago, Mainfrezzer said:


Die Frage ist was fungiert da als Modem?^^

Eine Vodafone Station im Bridge Mode. Laut Vodafone

Quote

Wenn Du den Bridge-Mode aktivierst, wird Dein Vodafone-Router in einen reinen Modem-Modus versetzt. Das bedeutet, dass die meisten Routing-Funktionen, wie WLAN, Firewall oder Telefonie, deaktiviert sind. 

 

Seltsam aber, dass in der Oberfläche der Station hinter Firewall "AN" steht

Link to comment
4 minutes ago, Mainfrezzer said:

Ja dann wäre es jetzt doch mal wert den TCP Port 80 und 443 von dort aus mal auf die Fritzbox zu leiten. Da kann ich leider nicht ganz behilflich sein da ich das Ding direkt postwendend zurückgeschickt habe^^

(Die Wireguard UDP Regel würde ich da auch mal direkt freigeben, das dürfte ja auch nicht funktionieren)

Ich kann da nichts weiterleiten/einstellen. Der Reiter für Internet fehlt bei mir. Vermutlich wegen des Bridge Modes

 

Die Wireguard Regel funktioniert ohne Probleme :/

Edited by pille
Link to comment
Just now, Mainfrezzer said:

. Wobei mich das jetzt mit Wireguard wirklich wundern würde, wie wurde denn die Funktionalität getestet?

Das ist die Einstellug/Vorgabe von unRaid, wenn man dort den VPN Dienst nutzt. Habe dann die Portweiterleitung entsprechend in der Fritz Box aktiviert und verbinde mich regelmäßig über den Tunnel in mein Netzwerk.

 

Ich habe mal aus "Spaß" für den unRaid Server direkt Portweiterleitungen eingerichtet und dort bin ich direkt mit http auf die Weboberfläche gekommen

Link to comment

oh mein Gott ich bin ein Idiot. Natürlich ist ipvlan an. Das kann mit ner Fritzbox nicht funktionieren. ARRGHHH.

Ich gehe mal stark davon aus das 6.12.4 benutzt wird. In den Netzwerkeinstellungen die Brücke ausschalten, in den Dockereinstellungen macvlan auswählen (eventuell, wenn gebraucht wird, host access enabled) und dann bei Docker br0 zu eth0 wechseln, bei Wireguard einmal kurz ne 1 irgendwo eintragen, wieder löschen, dann speichern. 

Edited by Mainfrezzer
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...