Das Homelab im Internet
Dein Anbieter gibt dir keine öffentliche IPv4-Adresse, oder du willst zu Hause keinen Port öffnen. Ein kleiner VPS in deinem Netz nimmt die Verbindungen für docs.example.org an und reicht sie durch den Tunnel an dein NAS weiter, wo TLS endet.
Was du bekommst #
docs.example.org lässt sich in jedem Browser öffnen, und das NAS zu Hause
liefert die Seite aus. Das NAS baut die Verbindung zum VPS selbst auf, dein
Router öffnet also keinen Port, und seine Adresse steht in keinem
öffentlichen DNS-Eintrag. Der VPS, der Ingress, liest nur den Namen, den
ein Browser anfragt, und reicht die Verbindung weiter. TLS endet erst auf dem
NAS, mit einem Zertifikat von Let’s Encrypt, der Ingress sieht den Inhalt
also nie.
Mitglieder des Netzes gehen nicht über den Ingress, sondern erreichen den Namen direkt am NAS, durch den Tunnel.
Was du brauchst #
- Eine Domain, hier
example.org, und Zugriff auf ihre DNS-Einträge. - Einen VPS mit öffentlicher Adresse unter Linux oder FreeBSD, der Mitglied
des Netzes ist. Öffne dort 41643/udp, mit
sudo ufw allow juist, damit sich das NAS direkt mit ihm verbindet (Ports). - Das NAS unter Linux oder FreeBSD, mit dem Dienst auf einem lokalen Port,
hier
127.0.0.1:8080.
Einrichten #
Leg die Domain des Netzes fest und mach den VPS zum Ingress:
juist network domain example.org
juist grant vps ingressLass *.example.org auf die öffentliche Adresse des VPS verweisen, oder nur
docs.example.org.
juist ingress serveDer Befehl fragt einmal nach sudo, startet den Ingress und öffnet 443 und 80 in firewalld oder ufw.
Veröffentliche den Namen, mit HTTP/3 für Browser, die es können:
juist publish add docs 127.0.0.1:8080 --http3Die Ausgabe lautet ending TLS for docs.example.org to 127.0.0.1:8080, with HTTP/3.
Danach folgen zwei DNS-Einträge für deinen DNS-Anbieter. Mit dem
HTTPS-Eintrag beginnen Browser gleich mit HTTP/3. Der CAA-Eintrag bindet die
Zertifikate des Namens an das ACME-Konto dieses Geräts.
Darauf achten #
- Trag den CAA-Eintrag ein. Ohne ihn könnte sich, wer den Ingress kontrolliert, ein Zertifikat für deinen Namen holen und den Verkehr von Besuchern aus dem Internet mitlesen.
- Ein veröffentlichter Server erreicht nach einem Einbruch dein Netz. Das NAS ist ein vollwertiges Mitglied. Veröffentliche von dort nur, was du ohnehin ins Internet stellen würdest, und betreibe alles andere als Service-Mitglied, von dem kein Gerät Verbindungen annimmt.
- Der Ingress sieht den Namen, die Adresse des Clients, Datenmengen und Zeitpunkte und protokolliert jede Verbindung in einer Zeile.
- Veröffentlichen ist eine Änderung der Admins. Hat das NAS keinen Admin-Schlüssel, nennt der Befehl den, den ein Admin ausführt.
Weiterlesen #
- Dienste veröffentlichen: alle Optionen, der Ingress, Grenzen
- HTTP/3
- Spieleserver und andere TCP-Dienste