[SOLVED] Unraid und SSL Zertifikat


Lyror

Recommended Posts

Hey zusammen,

 

vor langer Zeit hatte ich mal über lets encrypt irgendwie ein SSL Zertifikat erstellt bekommen. Irgendwann ist das ausgelaufen.

 

Wie mache ich das denn am schlausten mit mehreren Docker Containern die über DynDNS nach draußen gehen (Ports im Router öffnen)

 

EDIT: Ist sowas für mich richtig? https://medium.com/@chrismorris_82249/setup-a-reverse-proxy-nextcloud-server-on-unraid-using-letsencrypt-831905d94f7d

 

Gruß

Sebastian

Link to comment
16 minutes ago, Lyror said:

Hey zusammen,

 

vor langer Zeit hatte ich mal über lets encrypt irgendwie ein SSL Zertifikat erstellt bekommen. Irgendwann ist das ausgelaufen.

Das sollte sich eigentlich von alleine Updaten, bitte vergiss nicht das LS.io den LetsEncrypt Container auslaufen lässt und du jetzt den SWAG Container nutzen solltest.

 

EDIT: Bisschen mehr hintergundinfo wäre auch nicht schlecht... :D

Nutzt du DuckDNS oder Cloudflare bzw Statische IP?

Was sagt das log?

Router hast du schon richtig konfiguriert?

Link to comment
2 minutes ago, ich777 said:

Das sollte sich eigentlich von alleine Updaten, bitte vergiss nicht das LS.io den LetsEncrypt Container auslaufen lässt und du jetzt den SWAG Container nutzen solltest.

Ich hatte mal manuell eins erzeugt

 

2 minutes ago, ich777 said:

EDIT: Bisschen mehr hintergundinfo wäre auch nicht schlecht... :D

Nutzt du DuckDNS oder Cloudflare bzw Statische IP?

Was sagt das log?

Router hast du schon richtig konfiguriert?

Ich kenne mich da gar nicht aus. Ich weiß nur das ich SSL gerne hätte und das nicht einfach nach x Tagen abläuft

Link to comment
Just now, Lyror said:

Ich hatte mal manuell eins erzeugt

Das brauchst du nicht da das SWAG eins bei LetsEncrypt andfordert, autmoatisch installiert und auch aktualisiert :)

 

2 minutes ago, Lyror said:

Ich weiß nur das ich SSL gerne hätte und das nicht einfach nach x Tagen abläuft

Das LetsEncrypt Zertifikat läuft nach 90 Tagen, ist so von denen festgelegt aber SWAG erneuert das für dich automatisch ohne das du was machen musst.

 

Was willst du genau machen oder für was brauchst du das Zertifikat genau?

Link to comment

Also ich würd dir mal empfehlen das du dir einen DDNS Anbieter aussuchst.

 

Die DDNS macht aus deiner Öffentlichen Dynamischen IP eine Domain sprich aus zB: 234.221.56.34 -> meinedomain.duckdns.org (kannst auch zB für Nextcloud dann sowas machen: nextcloud.meinedomain.duckdns.org).

 

Zuerst würde ich aber mal nachsehen ob du das port 80 und 443 von außen erreichbar machen kannst alse ein portweiterleitung von 80 und 443.

 

Wenn das möglich ist und die ports von außen erreichbar sind hast du schon mal gute Voraussetzungen dafür.

 

 

Das ganze würde dann ca so funktionieren:

DDNS -> SWAG -> Nextcloud und/oder OpenVPN und/oder ...

Link to comment

Bin gerade mal über das Tutorial geflogen, sieht nicht schlecht aus, ich verstehe nur den Schritt bei LetsEncrypt/SWAG nicht bei dem er den Port auf 180 und 1443 umstellt da er dem Container eine statische IP (Custom) gibt, da kannst den port ruhig auf 80 und 443 lassen und im router dann eine NAT weiterleitung von extern 80 auf intern 80 mit der statischen IP für den container und das gleiche für 443.

Link to comment

Er macht ein weiteres Docker Netzwerk auf. Dieses läuft aber im Bridge Mode.
Heißt Serverip:80 und Serverip:443 werden normalerweise vom Unraid Server verwendet.
Daher biegt er die beiden Ports in der Firewall um und lässt den Swag Docker darauf reagieren.

 

ich habe z.b. nur den port 80 umgebogen:

WAN-Adresse:80 -> Serverip:180 -> Swag:80 (was ich soweit ich weiß nicht brauche)

WAN-Adresse:443 -> Serverip:443 -> Swag:443

Da ich die Unraid Webseite nur über Port 80 aufrufe (nur intern und nicht von außen) brauch ich diese nicht auf 443 reagieren lassen.

 

Da meine vorige Firewall kein NAT Reflection konnte, habe ich DNS Splitting gemacht und das lief somit viel besser.

https://nextcloud.mydomain.at  hat dann von außen und innen funktioniert.

 

Da der Guide in Englisch ist, würde ich mir @SpaceInvaderOne Video anschauen:

 

How to Setup and Configure a Reverse Proxy on unRAID with LetsEncrypt & NGINX

https://www.youtube.com/watch?v=I0lhZc25Sro


How to Migrate from Letsencrypt to the New Swag Container

https://www.youtube.com/watch?v=qnEuHKdf7N0

 

 

 

Link to comment
14 minutes ago, Morrtin said:

Er macht ein weiteres Docker Netzwerk auf. Dieses läuft aber im Bridge Mode.
Heißt Serverip:80 und Serverip:443 werden normalerweise vom Unraid Server verwendet.
Daher biegt er die beiden Ports in der Firewall um und lässt den Swag Docker darauf reagieren.

Stimmt so nicht ganz, er legt eine statische ip adresse für den container an und da is es egal ob unraid diesen port benutzt da die ip nicht mehr die gleiche wie von unraid is.

 

Deswegen hab ich auch gemeint er kann port 80 und auch 443 container und host lassen.

 

EDIT: Bridge und custom sind ganz verschiedene sachen.

Die bridge macht eine brücke zwischen dem container netzwerk und deinem lan.

Custom ermöglicht dem container eine statische IP im LAN zu erhalten ohne das container netzwerk so wiewenn es ein eigenständiger rechner ist.

Link to comment

Also ich hab irgenwas gemacht :D Ist immer gut

 

Ich hab noch nicht so richtig verstanden wie ich nextcloud dazu kriege das zertifikat zu schlucken. Ich hab "swag" in trusted_proxies eingetragen.

Ich habe das extra docker netzwerk erstellt und swag sowieso nextcloud reingepackt.

Ich habe Cloudflare eingerichtet, nameservers auf cloudflare umgestellt.

Ich habe in swag auf dns ding umgestellt und das plugin cloudflare angegeben. Die Cloudflare.ini habe ich korrekt bearbeitet.

 

Hier die Swag Logausgabe:

Brought to you by linuxserver.io
-------------------------------------

To support the app dev(s) visit:
Certbot: https://supporters.eff.org/donate/support-work-on-certbot

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid: 99
User gid: 100
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 20-config: executing...
[cont-init.d] 20-config: exited 0.
[cont-init.d] 30-keygen: executing...
using keys found in /config/keys
[cont-init.d] 30-keygen: exited 0.
[cont-init.d] 50-config: executing...
Variables set:
PUID=99
PGID=100
TZ=Europe/Berlin
URL=***********
SUBDOMAINS=
EXTRA_DOMAINS=
ONLY_SUBDOMAINS=false
VALIDATION=dns
DNSPLUGIN=cloudflare
EMAIL=s*************
STAGING=false

No subdomains defined
E-mail address entered: s*********
dns validation via cloudflare plugin is selected
Different validation parameters entered than what was used before. Revoking and deleting existing certificate, and an updated one will be created
Saving debug log to /var/log/letsencrypt/letsencrypt.log
No match found for cert-path /config/etc/letsencrypt/live/s.************/fullchain.pem!
Generating new certificate
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator dns-cloudflare, Installer None
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for **************
Unsafe permissions on credentials configuration file: /config/dns-conf/cloudflare.ini
Waiting 10 seconds for DNS changes to propagate
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/***********/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/************/privkey.pem
Your cert will expire on 2021-01-21. To obtain a new or tweaked
version of this certificate in the future, simply run certbot

again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

New certificate generated; starting nginx
Starting 2019/12/30, GeoIP2 databases require personal license key to download. Please retrieve a free license key from MaxMind,
and add a new env variable "MAXMINDDB_LICENSE_KEY", set to your license key.
[cont-init.d] 50-config: exited 0.
[cont-init.d] 60-renew: executing...
The cert does not expire within the next day. Letting the cron script handle the renewal attempts overnight (2:08am).
[cont-init.d] 60-renew: exited 0.
[cont-init.d] 99-custom-files: executing...
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-files: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
nginx: [alert] detected a LuaJIT version which is not OpenResty's; many optimizations will be disabled and performance will be compromised (see https://github.com/openresty/luajit2 for OpenResty's LuaJIT or, even better, consider using the OpenResty releases from https://openresty.org/en/download.html)

Server ready

 

Irgendwie kriegt er sein Zertifikat nicht.

Link to comment

Update: Bin jetzt und bleibe jetzt bei RouterOS. Die 10G Module haben irgendwie nicht funktioniert mit SWOS aufeinmal. Frag mich nicht. In RouterOS funktionieren sie, ergo ich bleib bei RouterOS

 

EDIT: Die Netzwerkkarten sind noch nicht da. Ich habe jetzt ein paar 10G Module für den QNap Netzwerkadapter benutzt. Dann hat mein Macbook schonmal die 10G

Edited by Lyror
  • Like 1
Link to comment
On 10/23/2020 at 3:21 PM, ich777 said:

Stimmt so nicht ganz, er legt eine statische ip adresse für den container an und da is es egal ob unraid diesen port benutzt da die ip nicht mehr die gleiche wie von unraid is.

Da muss ich dir leider widersprechen. Das Custom Netzwerk ist ein Bridge Netzwerk mit der Möglichkeit eine fixe IP Adresse zu vergeben. Aber er vergibt keine fixe IP. Er lässt das Feld leer.

 

image.png.4f231727580247738e51b4c1da1822d8.png

 

und hier sieht man das die LAN IP verwendet wird:

image.png.6a49c1692552ec565dd84543ef0ca3e5.png

 

 

 

Link to comment
On 10/23/2020 at 3:33 PM, Lyror said:

Irgendwie kriegt er sein Zertifikat nicht.

 

Du hast keine Subdomains definiert. SUBDOMAINS= und die Meldung "No subdomains defined" weißt darauf auch hin. Somit kann nichts zertifiziert werden.

Des Weiteren weiß ich nicht ob du die Validierung wirklich über DNS und cloudflare laufen lassen willst. Keiner der beiden Guides behandelt das Thema und ich glaube mich daran zu erinnern, dass ich bei HTTP geblieben bin, weil es nicht so kompliziert ist. 🙂

 

Ich würde vorschlagen das Video von Spaceinvader noch einmal durch zugehen. Da wird es echt schön Schritt für Schritt erklärt.

Link to comment
22 minutes ago, Morrtin said:

Da muss ich dir leider widersprechen. Das Custom Netzwerk ist ein Bridge Netzwerk mit der Möglichkeit eine fixe IP Adresse zu vergeben. Aber er vergibt keine fixe IP. Er lässt das Feld leer.

 

image.png.4f231727580247738e51b4c1da1822d8.png

 

und hier sieht man das die LAN IP verwendet wird:

image.png.6a49c1692552ec565dd84543ef0ca3e5.png

 

 

 

Ja aber warum macht er das das ist doch unnötig?

Ich würd eine fixe IP im LAN vergeben ist doch 10 mal besser und du brauchst dich nicht mit den Ports herumschlagen.

 

Wie gesagt ich hab das Tutorial überflogen.

Link to comment

Spaceinvaderone nimmt ein eigenes Netz, um die Container, die über SWAG Zugänglich sein sollen abzuschirmen. Dadurch haben die Container alle Ihre eigene IP und im LAN kann nicht einfach irgendjemand auf die Container zugreifen, bzw belegen auch keine IP Adressen (im DHCP bereich).

 

Ich habe das auch so und funktioniert bestens.

 

*edit* solltest du dich doch dazu entscheiden, eine eigene Domain zu benutzten, würde ich statt DuckDNS direkt nen Cloudflare-DDNS Docker nehmen.

Damit kannst du direkt deine IP vom ISP auf eine eigene Domain (zb ip.deinedomain.de) aktuallisieren lassen und dann jede subdomain per CNAMEN auf ip.deinedomain.de verlinken. Damit sparst du dir einen "Dienst".

Edited by sonic6
Link to comment
1 hour ago, Morrtin said:

Ich glaub die machen das um die "exposten" Container in einem eigene Netz zu haben

Das ist ja schön und gut aber wenn er dann wieder den zugriff auf das interne netz bzw host netz zulässt was er dann in irgend einem weiteren schritt macht bringt das gar nichts da du ungehindert auf das host netz zugreifen kannst. ;)

Link to comment
  • ich777 changed the title to [SOLVED] Unraid und SSL Zertifikat

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.