Geben Sie Ihren selbst gehosteten Diensten lokale Domainnamen mit diesem Pi-hole-Trick

Erfahren Sie, wie Sie mit Pi-hole und Nginx Proxy Manager lokale Domainnamen für selbstgehostete Dienste einrichten, um IP-Adressen zu vermeiden und Ihre Netzwerksicherheit zu erhöhen.
Haben Sie es satt, sich die IP-Adressen und Ports Ihrer selbstgehosteten Dienste zu merken? Ich war es, also habe ich herausgefunden, wie man Pi-hole und den Nginx Proxy Manager verwendet, um meinen Diensten lokale Domainnamen zu geben, ohne sie dem Internet auszusetzen.
Lokale Domainauflösung vs. Externe: Was ist der Unterschied
Wenn Sie einen Domainnamen in Ihren Browser eingeben, wie zum Beispiel https://technischeunterstutzung.com, versucht Ihr Browser, diese Domain aufzulösen, um zu wissen, wohin er Sie leiten soll.
Externe Auflösungen beziehen sich darauf, wenn eine Website von außerhalb ihres lokalen Netzwerks zugänglich ist. Wenn Sie auf How-To Geek zugreifen, greifen Sie auf einen Server in einem Rechenzentrum zu, der sich in einem externen Netzwerk im Vergleich zum internen lokalen Netzwerk Ihres Hauses befindet.
Wenn Sie jedoch einen Dienst zu Hause hosten, wie zum Beispiel Audiobookshelf, und über seine IP-Adresse darauf zugreifen, dann greifen Sie auf eine lokale Website zu. Sie können auch einen Dienst einrichten, der es Ihnen ermöglicht, auf diese lokal gehosteten Websites mit einem Domainnamen zuzugreifen, ohne Ihr lokales Netzwerk jemals zu verlassen.
Zusammenfassend: Lokale Domains werden nur in Ihrem lokalen Netzwerk aufgelöst, während externe Domains von jedem mit einer Internetverbindung zugänglich sind.
Dies ist entscheidend zu wissen, wenn es um selbstgehostete Dienste geht. Wenn Sie einen Dienst (wie Audiobookshelf) mit einer externen Domain ins Internet expose, kann jeder auf der Welt mit dieser Domain-Adresse auf diesen Dienst zugreifen.
Sie können jedoch auch sicherstellen, dass diese Domain-Anfragen nur aufgelöst werden, wenn Sie sich in Ihrem Heimnetzwerk befinden, um zusätzliche Sicherheit zu gewährleisten. Einige Dienste, wie mein Proxmox-VM-Manager oder Pi-hole-Instanzen, möchte ich aus Sicherheitsgründen nicht außerhalb meines lokalen Netzwerks zugänglich machen.
Dafür verwende ich Pi-hole in Kombination mit Nginx Proxy Manager, um meinen lokalen Diensten Domainnamen zu geben, sodass ich mich nicht an IP-Adressen erinnern muss.
Sie müssen keine Domain kaufen
Sie denken vielleicht, dass Sie eine Domain erwerben müssen, um dies zu tun. Tatsächlich ist das nicht der Fall. Ich empfehle zwar, eine Domain zu kaufen, aber es ist nicht unbedingt erforderlich.
Die Art und Weise, wie lokale Domainauflösungen funktionieren, besteht darin, einen lokalen DNS-Host (Pi-hole, in diesem Fall) zu verwenden und diesen DNS-Server bestimmte Domains auf eine lokale IP-Adresse aufzulösen zu lassen.
Tatsächlich könnten Sie theoretisch Ihre eigene Suchmaschine erstellen und dann Ihren lokalen DNS-Server darauf einstellen, https://google.com auf diese maßgeschneiderte, lokal gehostete Suchmaschine aufzulösen. Während dies möglich ist, ist es nicht ratsam, da das Umleiten öffentlicher Dienste große Teile Ihres Internetbrowsings beeinträchtigen könnte.
Sie könnten dasselbe tun, indem Sie Ihren lokalen DNS-Server anweisen, jede Domain, die Sie möchten, auf Ihre Dienste aufzulösen. Ähnlich wie bei der Google-Situation oben, ist das nicht immer eine gute Idee. Nehmen wir zum Beispiel The Verge. Ende 2011 wurde https://theverge.com zu The Verge, wie wir es heute kennen. Anfang 2011 war https://theverge.com tatsächlich The Verge Internet Services, eine ganz andere Art von Website.
Wenn Sie also einen Domainnamen auswählen, der momentan nicht registriert ist, oder einen, der auf einen Dienst verweist, von dem Sie denken, dass Sie ihn niemals benutzen werden, ist es durchaus möglich, dass diese Domain in der Zukunft nützlich oder sogar notwendig wird. Stellen Sie sich vor, jemand baut 2011 sein gesamtes Home-Lab mit https://theverge.com als Domainnamen auf, nur um später die Verge-Artikel im Internet lesen zu wollen. Er müsste all seine Dienste auf eine neue Domain migrieren, was weder eine kleine noch eine einfache Aufgabe ist.
Es ist am besten, eine Domain für lokale Domainauflösungen zu kaufen, auch wenn Sie nicht planen, auf die Dienste von außerhalb Ihres Netzwerks zuzugreifen, auch wenn dies nicht erforderlich ist.
Pi-hole behandelt lokale DNS-Anfragen
Um lokale DNS-Anfragen sinnvoll zu bearbeiten, benötigen Sie einen lokal gehosteten DNS-Server. Dafür verwende ich persönlich Pi-hole, obwohl Sie auch jeden anderen DNS-Server verwenden können, den Sie möchten.
Ich werde hier nicht erläutern, wie man Pi-hole einrichtet, da dafür bereits eine hervorragende Dokumentation vorhanden ist.
Sobald Sie jedoch Pi-hole in Ihrem Netzwerk eingerichtet und als Ihren primären DNS-Server festgelegt haben, können Sie zu Einstellungen > Lokale DNS-Einträge navigieren und beginnen, Ihre DNS-Einträge einzugeben.
Diese können Hauptdomains (testing.com) oder Subdomains (pi-hole.testing.com) sein, je nachdem, was Sie vorhaben.
Verwenden Sie Subdomains, damit ich service.domain.com als einprägsamen Slug nutzen kann.
Das Wichtigste, woran Sie denken sollten, ist, die IP-Adresse auf die IP-Adresse der Maschine zu verweisen, auf der Sie den Nginx Proxy Manager ausführen. Das ist alles, was es auf der Pi-hole-Seite zu beachten gibt.
Nginx Proxy Manager leitet Ihre Domains dorthin, wo sie hingehören
Sobald Sie Nginx Proxy Manager auf Ihrem System (unter Verwendung der Ports 80 und 443) eingerichtet haben, ist es an der Zeit, die restliche lokale Domain einzurichten.
Wenn Sie überhaupt kein HTTPS oder SSL verwenden möchten, ist der nächste Schritt einfach. Sie müssen nur die Domain hinzufügen, die Sie verwenden möchten (die Sie in Pi-hole eingegeben haben), als Proxy-Host.
Wenn Sie jedoch HTTPS oder SSL verwenden möchten, gibt es ein paar weitere Schritte zu beachten.
Zunächst müssen Sie ein selbstsigniertes SSL-Zertifikat für die Domain erstellen, die Sie verwenden möchten. Ich werde für diesen Artikel testing123.me verwenden.
Es gibt drei Befehle, die ausgeführt werden müssen:
openssl genrsa -out testing123.me.key 2048 openssl req -new -key testing123.me.key -out testing123.me.csr -subj "/CN=.testing123.me" openssl x509 -req -in testing123.me.csr -signkey testing123.me.key -out testing123.me.crt -days 825 -extensions v3_req -extfile
Diese drei Befehle erzeugen drei Dateien auf Ihrem System: ein CRT (das Zertifikat selbst), ein CSR (für unsere Zwecke ungenutzt) und ein KEY (den Zertifikatsschlüssel). Die oben genannten Befehle sind für die Domain testing123.me ausgelegt, also tauschen Sie einfach den Domain-Namen aus, falls Sie eine andere verwenden möchten.
Außerdem sind die Befehle so konzipiert, dass ein Wildcard-Zertifikat angeboten wird. Es handelt sich nicht um ein Zertifikat für die Domain selbst, sondern für jede Subdomain (da es als *.testing123.me eingerichtet ist).
Gehen Sie im Nginx Proxy Manager zum Tab SSL-Zertifikate und klicken Sie auf SSL-Zertifikat hinzufügen und dann auf Benutzerdefiniert. Geben Sie dem Zertifikat einen Namen, laden Sie die KEY-Datei in den Bereich Zertifikatsschlüssel und die CRT-Datei in den Zertifikatsbereich hoch.
Jetzt können Sie im Tab Proxy-Hosts zum SSL-Bereich gehen und Ihr Wildcard-Zertifikat auswählen. Dies gibt Ihnen ein selbstsigniertes Zertifikat für Ihre SSL-aktivierten Dienste.
Da es sich um ein selbstsigniertes Zertifikat handelt, erhalten Sie weiterhin eine Zertifikatwarnung, wenn Sie auf die Seite zugreifen, aber es wird dennoch für Dienste funktionieren, die HTTPS benötigen.
Außerdem können Sie das Zertifikat zu Ihrer lokalen CA auf Ihrem Computer hinzufügen, um die Warnung zu vermeiden, obwohl dies definitiv fortgeschrittener ist und je nach Betriebssystem variiert.
Sobald Sie all dies eingerichtet haben, sind Sie bereit, Domains lokal zuzugreifen, ohne Ihr Netzwerk zu verlassen! Ich habe dies für beide meiner Pi-hole-Instanzen eingerichtet (damit ich auf sie zugreifen kann, ohne ihre IP zu verwenden) und für meine Proxmox-Instanz, da ich keine dieser Dienste der Welt öffnen möchte.
Wenn Sie jedoch Ihre eigene Website erstellen und Menschen aus der ganzen Welt darauf zugreifen lassen möchten, ist das eigentlich ziemlich einfach! Tatsächlich können Sie eine Website an einem Wochenende mit einem Raspberry Pi und Nginx Proxy Manager vollständig einrichten.
Bist du neugierig auf weitere Artikel wie Geben Sie Ihren selbst gehosteten Diensten lokale Domainnamen mit diesem Pi-hole-Trick? Entdecke spannende Inhalte in der Kategorie Wie man.

Schreibe einen Kommentar