Hallo ihr Lieben.
Das Prinzip von Tailscale ist soweit klar, jedoch gibt es Verständnisprobleme, dass offenbar mit großer Wahrscheinlichkeit mit meinem Netzwerk-Setup zusammenhängt.
Der IST-Zustand:
WWW → FritzBox (DS-Lite) → Hardware-Firewall (DHCP+DNS) → Switch → LAN-Geräte (Laptop, Server, etc.)
Nun soll von außen auf dem im LAN befindlichen Server zugegriffen werden und aufgrund der obigen Probleme mit DS-Lite, soll Tailscale da ja ideal für sein.
Auf dem Server sind mehrere Docker-Dienste, einer davon ist Caddy um u.a. HTTPS zu ermöglichen.
Um nicht immer via IP+PORT auf entsprechende Docker-Dienste zuzugreifen und um die Warnmeldungen im Browser zu eliminieren, wurde lokal eine Domain eingerichtet (*.server.home) und ein Self-Signed Zertifikat mit mkcert erstellt und Caddy entsprechend damit konfiguriert.
Die IP des Servers lautet 192.168.100.2
Auf der Hardware-Firewall, die ja auch für DNS zuständig ist, wurden ebenfalls alle Einträge zur Auflösung der Domains eingetragen, speziell für Mobilgeräte:
192.168.100.2 immich.server.home
192.168.100.2 it-tools.server.home
usw.
Auf dem Laptop wurde unter Linux die /etc/hosts bearbeitet mit den gleichen Einträgen wie in der Hardware-Firewall. Warum?
Es läuft dort ein kommerzieller VPN um IP-Tracking zu reduzieren und dabei wird ja der DNS des VPN’s genutzt.
So, nun zu Tailscale.
Sobald auf dem Laptop und dem Server Tailscale installiert ist bekommen diese ja eine eigene Tailnet-IP und die Tailnet DNS name z.b. tail7f50c3.ts.net
Wie kann man nun vom Laptop via Tailscale auf den Server zugreifen? Nur die Tailnet-IP ergibt kein HTTPS, Warnmeldungen im Browser sind wieder vorhanden und einige Docker-Dienste erfordern HTTPS und via Tailnet DNS name würde ebenfalls kein HTTPS greifen weil es dafür noch kein Zertifikat gibt.
Nach mehrtägigen Lesens von TUT’s und Videos gäbe es wohl 2 Optionen:
Option 1 - Server als Subnet Router:
Dabei wird allerdings das gesamte Heimnetz zur Verfügung gestellt → sinnvoll?
Allerdings wäre so der DNS-Server (Hardware-Firewall) ebenfalls erreichbar zwecks Namensauflösung und die jetzige Netzwerkstruktur wäre wohl ohne weitere Konfiguration nutzbar.
Option 2 - Tailscale alles machen lassen:
In Tailscale HTTPS aktivieren und so das von Let’s Encrypt signierte Zertifikat für die
*.ts.net-Adresse erstellen.
Allerdings muss dazu wohl Caddy bzw. das Caddyfile umkonfiguriert werden und wahrscheinlich noch „/var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock“ im Docker-stack hinzugefügt werden?
Anmerkung:
Das obige Szenario wurde als Gedankenkonstrukt behandelt. Soll heißen das es praktisch so noch nicht getestet wurde.
Lediglich 2 VM’s wurden damit getestet.
Desweiteren gibt es Ungereimtheiten was die Installation auf dem Server betrifft.
Eingentlich ist es nur ein Befehl:
curl -fsSL https://tailscale.com/install.sh | sh
Aber im Admin-Bereich von Tailscale gibt es unter „Add device“ noch die Option „Linux server“.
Damit wird dann ein anderer Befehl generiert inkl. eines AUTH-Keys.
Was wäre nun richtig?
Ich bitte vorab um Entschuldigung für diesen langen Text. Aber ich denke, je mehr Infos ihr habt desto besser könnt ihr darauf eingehen.