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 Ihre selbstgehosteten Dienste einrichten, um IP-Adressen zu vermeiden und die Sicherheit zu erhöhen.
Haben Sie genug davon, sich die IP-Adressen und Ports Ihrer selbst gehosteten Dienste zu merken? Ich war es, also fand ich heraus, wie ich Pi-hole und Nginx Proxy Manager nutzen kann, um meinen Diensten lokale Domainnamen zu geben, ohne sie dem Internet auszusetzen.
Lokale Domainauflösung vs. Extern: Was ist der Unterschied
Wenn Sie einen Domainnamen in Ihren Browser eingeben, wie zum Beispiel https://howtogeek.com, versucht Ihr Browser, diese Domain aufzulösen, um zu wissen, wo er Sie hinleiten soll.
Externe Auflösungen stammen daher, 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 lokalen internen Netzwerk Ihres Hauses befindet.
Wenn Sie jedoch einen Dienst zu Hause hosten, wie zum Beispiel Audiobookshelf, und darauf über seine IP-Adresse zugreifen, 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.
Kurz gesagt: Lokale Domains lösen nur in Ihrem lokalen Netzwerk auf, während externe Domains von jedem mit einer Internetverbindung zugänglich sind.
Das ist entscheidend zu wissen, wenn es um das selbstgehostete Dienste geht. Wenn Sie einen Dienst (wie Audiobookshelf) mit einer externen Domain ins Internet aussetzen, kann jeder auf der Welt mit der Domain-Adresse auf diesen Dienst zugreifen.
Sie können jedoch auch sicherstellen, dass diese Domainanfragen nur auf Ihrem Heimnetzwerk aufgelöst werden, um die Sicherheit zu erhöhen. 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 die IP-Adressen nicht mehr merken muss.
Du brauchst keine Domain zu kaufen
Vielleicht denken Sie, dass Sie eine Domain kaufen 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 notwendig.
Die Art und Weise, wie lokale Domainauflösungen funktionieren, ist, einen lokalen DNS-Host (Pi-hole, in diesem Fall) zu verwenden und diesen DNS-Server bestimmte Domains auf eine lokale IP-Adresse auflösen zu lassen.
Tatsächlich könnten Sie theoretisch Ihre eigene Suchmaschine erstellen und dann Ihren lokalen DNS-Server dazu bringen, https://google.com auf diese maßgeschneiderte, lokal gehostete Suchmaschine aufzulösen. Obwohl das möglich ist, ist es nicht empfehlenswert, 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 dazu bringen, beliebige Domains auf Ihre Dienste aufzulösen. Ähnlich wie bei der Google-Situation oben ist das nicht immer eine gute Idee. Nehmen wir The Verge zum Beispiel. 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 wählen, der derzeit nicht registriert ist oder vielleicht auf einen Dienst zeigt, von dem Sie denken, dass Sie ihn nie nutzen werden, ist es durchaus möglich, dass dieser Domainname in Zukunft nützlich oder sogar notwendig wird. Stellen Sie sich vor, jemand hätte 2011 sein ganzes Homelab mit https://theverge.com als Domainnamen aufgebaut, nur um in Zukunft Verge-Artikel ansehen zu wollen. Sie müssten alle ihre Dienste auf eine neue Domain migrieren, was weder eine kleine Herausforderung noch eine einfache Aufgabe ist.
Es ist am besten, eine Domain für die lokale Domainauflösung zu kaufen, selbst wenn Sie nicht vorhaben, die Dienste von außerhalb Ihres Netzwerks zuzugreifen, auch wenn es nicht erforderlich ist.
Pi-hole bearbeitet 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 jeden anderen DNS-Server verwenden können, den Sie möchten.
Ich werde nicht darauf eingehen, wie man Pi-hole einrichtet, da es dafür bereits großartige Dokumentationen gibt.
Sobald Sie Pi-hole jedoch in Ihrem Netzwerk eingerichtet haben und als Ihren primären DNS-Server eingestellt haben, können Sie zu Einstellungen > Lokale DNS-Einträge navigieren und beginnen, Ihre DNS-Einträge einzugeben.
Diese können Root-Domains (testing.com) oder Subdomains (pi-hole.testing.com) sein, je nachdem, was Sie vorhaben.
Verwenden Sie Subdomains, damit ich service.domain.com als eine leicht merkbare URL haben kann.
Das Wichtigste, was Sie sich merken sollten, ist, die IP-Adresse auf die IP-Adresse des Geräts zu verweisen, auf dem Sie den Nginx Proxy Manager ausführen. Das ist alles, was Sie für die Pi-hole-Seite tun müssen.
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, den Rest Ihrer lokalen Domain einzurichten.
Wenn Sie HTTPS oder SSL überhaupt nicht verwenden möchten, ist der nächste Schritt einfach. Sie müssen nur die Domain, die Sie verwenden möchten (die Sie in Pi-hole eingegeben haben), als Proxy-Host hinzufügen.
Wenn Sie jedoch HTTPS oder SSL verwenden möchten, gibt es einige weitere Schritte zu beachten.
Zuerst müssen Sie ein selbstsigniertes SSL-Zertifikat für die Domain erstellen, die Sie verwenden möchten. Ich werde zu Testzwecken testing123.me verwenden.
Es gibt drei Befehle, die Sie ausführen 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 Schlüssel des Zertifikats). Die oben genannten Befehle sind für die Domain testing123.me gedacht, also ersetzen Sie einfach die Domain, wenn Sie eine andere verwenden möchten.
Zusätzlich sind die Befehle so konzipiert, dass sie ein Wildcard-Zertifikat anbieten. Es ist kein Zertifikat für die Domain selbst, sondern für jede Subdomain (da es als *.testing123.me eingerichtet ist).
In Nginx Proxy Manager gehen Sie zum Tab SSL-Zertifikate, klicken Sie dann auf SSL-Zertifikat hinzufügen und anschließend auf Benutzerdefiniert. Geben Sie dem Zertifikat einen Namen, laden Sie die KEY-Datei in den Bereich Zertifikats-Schlüssel und die CRT-Datei in den Bereich Zertifikat hoch.
Jetzt können Sie im Tab Proxy-Hosts zum Bereich SSL 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 dennoch eine Zertifikatwarnung beim Zugriff auf die Seite, aber es funktioniert trotzdem für Dienste, 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 fortgeschritten ist und je nach Betriebssystem variiert.
Sobald Sie das alles eingerichtet haben, sind Sie bereit, lokal auf Domains zuzugreifen, ohne Ihr Netzwerk zu verlassen! Ich habe dies für beide meiner Pi-hole-Instanzen (damit ich auf sie ohne ihre IP zugreifen kann) und meine Proxmox-Instanz eingerichtet, da ich keine dieser Dienste der Öffentlichkeit zugänglich machen möchte.
Wenn Sie jedoch Ihre eigene Website erstellen und Menschen von überall darauf zugreifen lassen möchten, ist das tatsächlich ziemlich einfach! Tatsächlich können Sie an nur einem Wochenende eine Website vollständig mit einem Raspberry Pi und Nginx Proxy Manager 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