DNS Server für interne Domains

  • Moin Leute,

    ich brauch mal wieder ein bisschen Inspiration von euch.

    Folgende Problemstellung: In meinem Heimnetzwerk laufen naturgemäß wirklich viele Serverdienste, allein schon für das Smarthome sind das einige. Natürlich läuft das derzeit alles über die IPv4 Adressen der Geräte. Ich möchte das ganze hier nun auf Domain Namen umstellen, allein schon deshalb damit ich z.B. nur an einer Stelle etwas ändern muss wenn z.B. der Rechner die Grätsche machte auf dem Home Assistant etc. läuft. Es ist halt einfacher eben das Ersatzgerät aus dem Schrank zu ziehen und dann zentral den DNS Eintrag zu ändern als an zig stellen eine IP anzupassen etc.

    Jetzt ist halt die Frage wie ich das ganze umsetzen kann.

    Als Router läuft hier eine Fritzbox 6591 vom Provider. Das AVM es ja nicht hingekriegt hat sich die Domain fritz.box zu sichern und mir das ganze in der Fritte nicht flexibel genug ist fällt die schonmal flach.

    Meine nächste Idee wäre mir einen Adguard Home im Netz hinzustellen (also auf den 24/7 Server zu installieren) und dann mit DNS Umschreibungen zu arbeiten. Spricht da was gegen oder gibt es was besseres? Bitte kein Pihole empfehlen: das ändert so viel an nem Basis Debian das man es zwangsweise auf einen extra Gerät installieren sollte mMn. Oder sollte ich das vielleicht auf einem VPS laufen lassen?

    Dann noch die Gretchenfrage: Soll man ".internal" Domains nehmen die demnächst hoffentlich von der ICANN für diesen Zweck genutzt werden oder sollte man eine eigene Subdomain von einer gekauften TLD verwenden und diese dann auf den Adguard verweisen lassen? Lohnt der Aufwand? Muss der Adguard dafür öffentlich erreichbar sein?

    Wie macht Ihr das?

  • Ich nutze dafür den nginx Dienst meiner OPNsense als Reverse-Proxy. Im Unbound-DNS habe ich die Namen dann auf die betreffenden IPs der jeweiligen Dienste gemappt. Klassisches Split-DNS also.

    Diese .internal-Domain ist sicherlich keine schlechte Sache. In meinem Szenario nutze ich aber meine eigene Domain (bzw. Subdomain). Das hat den Vorteil, dass ich ohne Probleme ein Wildcard-Zertifikat (LetsEncrypt) beim Reverse-Proxy verwenden kann und somit die Dienste dann auch alle ohne Warnmeldung über https erreichbar sind.

    Im nginx habe ich dann noch ACLs konfiguriert, damit man tatsächlich auch nur von intern bzw. von definierten Endpunkten aus auf die Dienste zugreifen kann.


    Edit:
    In deiner Konstellation sollte sich das mit dem AdGuard und einem Reverse-Proxy deiner Wahl realisieren lassen.
    Der AdGuard müsste dafür nicht von außen erreichbar sein.

  • Bin selber gerade am schauen ob ich DNS-Umschreibungen in meinem AdGuard nutze oder in der NGINX Config den Zugriff nur aus dem lokalen Netz erlaube.

    Problem bei der AdGuard Thematik: Die DNS-Umschreibungen funktionieren nur mit IP-Adressen und nicht mit IP-Adresse:Port. Somit müssen bspw. Docker alle eine eigene IP-Adresse haben. Ist einrichtbar, aber in der standard bridge-config erstmal nicht vorgesehen.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Somit müssen bspw. Docker alle eine eigene IP-Adresse haben.

    Das regelt in meinem Fall der Reverse-Proxy bei der Konfiguration des Upstream-Servers.
    Wobei bei mir tatsächlich auch jeder Docker eine eigene IP-Adresse hat.

    Die DNS-Umschreibung verweist dann nur noch auf den Reverse-Proxy. Der unterscheidet dann anhand des angefragten Servernamens welchen Dienst er ausgibt.

  • bennySB nunja DNS ist halt NUR IP Zuordnung - die Ports muss wer anderes Übernehmen. Aber die Namensauflösung muss ein DNS intern vornehmen.
    paperless.domain, nextcloud.domain usw läuft bei mir auch alles auf (teilweise) eine IP im Netz -> auf den Docker Server und da macht dann der ReverseProxy wie traefik die Zuordnung Name zu port bzw zumn Dienst und entscheidet auch von wo wohin welcher Zugriff darf.

    Exakt so wie es der psychofaktory beschrieben hat:

    beliebigen DNS aufsetzen, am einfachsten seine öffentliche Domain nutzen und fertig. So ist es einfacher bzgl. Zugriff intern und extern. Ist der simpelste Weg.
    Was von intern & extern verfügbar ist regelst ja dann über deine FW bzw. reverse Proxy, aber du hast nur einen Namen den du dir merken und konfigurieren brauchst.


    die .intern Domain würde ich nur dann nehmen, wenn ich definitiv nichts von extern erreichbar haben will.

    das Einzige was am Ende zählt ist
    dass ihr lebt was ihr liebt und liebt wofür ihr lebt


    Kodi HTPC - W11 | AMD Athlon 3000G | Pioneer A 504R Bj. 96
    OMV NAS - NAS | Emby Server | LogitechMediaServer
    3x Logitech SqueezeBox & 3x RasPi PiCorePlayer
    Loxone SmartHome

  • Hast dafür ein MAC-VLAN erstellt und gibst die IP-Adressen statisch vor in der Config vom Container?

    Nutze das auf einem Unraid-Server.
    In der Netzwerkkonfiguration verfügt der über mehrere VLANs/Subnetze, die die OPNsense als Schnittstellen vorgibt.

    Die Docker sind dann je nach Einsatzzweck auf die verschiedenen VLANs aufgeteilt.
    Netzwerktyp ist dann bei den Containern jeweils "Custom: br0", bzw. "Custom. br0.20" bei VLAN20, usw.). Die IP-Adressen gebe ich dann aus dem jeweiligen Subnetzbereich tatsächlich in der Config des Containers statisch vor.
    Der Netzwerktyp für benutzerdefinierte Docker-Netzwerke ist auf ipvlan konfiguriert.


    beliebigen DNS aufsetzen, am einfachsten seine öffentliche Domain nutzen und fertig. So ist es einfacher bzgl. Zugriff intern und extern. Ist der simpelste Weg.
    Was von intern & extern verfügbar ist regelst ja dann über deine FW bzw. reverse Proxy.

    Genau so hat sich das bei mir auch etabliert.

  • Ich muss mir definitiv mal den DNS Artikel in der ct durchlesen.

    Mal ganz doof gefragt, wenn ich von meiner eigenen Domain jetzt eine internal.example.com erstelle muss ich dann bei meinem Domainregistrar diese einrichten und irgendwie auf meinen internen DNS zeigen lassen?

    Oder nutze ich die Domain einfach in meinem Adguard mit der Umschreibung und weil die eh nur intern ist ist alles andere egal?

  • nö brauchst du nichts machen. nur wenn du diese subdomain von extern erreichbar haben willst.

    einfach nutzen. Du könntest auch einfach deine interne Domain google.de nennen, funktioniert und stört niemanden -> außer alle Geräte die intern arbeiten fragen für alles was mit google.de zu tun hat halt deinen internen DNS.

    Alles was du bei einem DomainRegistrar einstellst ist letztendlich das gleiche was du auf deinen eigenen DNS einstellst, nur für das öffentliche Netzwerk - also das Internet :) Exakt das gleiche wie dein interner DNS dann tut.

    das Einzige was am Ende zählt ist
    dass ihr lebt was ihr liebt und liebt wofür ihr lebt


    Kodi HTPC - W11 | AMD Athlon 3000G | Pioneer A 504R Bj. 96
    OMV NAS - NAS | Emby Server | LogitechMediaServer
    3x Logitech SqueezeBox & 3x RasPi PiCorePlayer
    Loxone SmartHome

  • So richtig sind die Anforderungen nicht spezifiziert.

    Warum z.b. ist die Fritze nicht ausreichend ? Man kann die Namen ja auch alle ohne den .fritz.box. teil verwenden. Ich finde das Eintragen der namen und fixen IP-adressen auf der Fritze ziemlich bequem. Aber geht natuerlich auch auf OpenWRT oder so.

    Das ist dann halt bloss fuer lokale Nutzung, aber meistens will man das ja auch.

    Was damit nicht geht ist halt externer zugriff. Aber solange man da keinen nach aussen hin oeffentlichen DNS server aufsetzen will hat man sein public DNS server doch wohl eher bei einem Anbieter laufen. Und da sind dann auch nur Domainnamen fuer oeffentliche IP Adressen drin. So wuerde ich es zumindestens machen. Klar, kann man auch intern mit split-DNS machen, ist aber aufwendiger. Meine 40 Shellys reichen mir auf der fritzbox aus.

    Schwierig wirds, wenn man lokal mehrere Rechner hat die alle unterschiedliche Web Zertifikate z.b. ueber LetsEncrypt kriegen sollen. Ist das eine Anforderung ?

  • Naja, AVM sind sicherlich nicht die einzigen, die sich fuer interne "split-DNS" nutzung eine TLD ausgedacht haben. Das box tatsaechlich mal TLD wird war da ja nicht abzusehen. Und stoeren tuts eigentlich auch bloss wenn mal ein armer Wicht sich fritz.box. offiziell reserviert und dann nicht von millionen von fritzbox Nutzer erreichbar ist. Aber ohne diesen Fall:

    was funktioniert fuer Dich nicht mit der fritze ? Oder willst Du die einfach nur abstrafen ?

  • Moin

    Warum die Fritzbox nicht ausreicht? Weil AVM es nicht schafft sich an Standards zu halten, das sieht man bereits an der verwendung der .box TLD. Ausserdem habe ich so den Bonus das ich auch noch Ads etc filtern kann.

    noob_at_pc danke für die Erklärung.

    Ich richte seit Jahrzehnten *.local Domänen in KMU ein. Dort laufen idR Microsoft Server und auch MS DNS-Server.
    Mit Split-DNS ist das alles überhaupt kein Problem.
    Wie das die anderen schon erwähnt haben.

    Was natürlich sinnvoll ist, ist ein vollwertiger DNS-Server. Da taugt die kastrierte Provider-Kabel-Fritte eher weniger.
    Ob du diesen wirklich brauchst, hängt auch vom Anwednungszweck ab.

    Ich möchte das ganze hier nun auf Domain Namen umstellen, allein schon deshalb damit ich z.B. nur an einer Stelle etwas ändern muss wenn z.B. der Rechner die Grätsche machte auf dem Home Assistant etc. läuft

    Hier ist es wirklich ratsam, dem (aus dem Backup wiederhergestellten) HA-Server die selbe IP-Adresse zuzuweisen.
    Dann musst du an keiner Stelle etwas ändern. ;)

    In vielen Fällen wird die IP des HA-Servers auch fest hinterlegt.Hatte ich zuletzt bei den Wyoming Satellites, die als Alexa-Ersatz eingerichtet werden und auch bei den Tasmota-Geräten, die per MQTT an den Mosquito broker in HA übermitteln, etc.

    PS: Meine Home-Assistant Installation ist über eine public Domain und Cloudflare-Tunnel erreichbar, unabhängig vom internen Namen und der internen IP.

  • Ich lese ja jetzt interessiert mit und stelle fest, dass ich mich damit auch mal beschäftigen sollte. Als erstes mal mit dem ReverseProxy.

    Im Moment nutze ich ja rein die Fritzbox mit omv.fritz.box:Porthastenichtgesehen. Wäre ja über emby.omv.fritz.box schonmal deutlich einfacher ;)

    Was mich aber bei den Lösungen mit AdGuard und internen DNS aber stört: wie sieht es mit einem automatischen BackUp aus? Ich hatte mal ein PiHole am laufen. Dessen IP hat die Fritze als DNS an alle Rechner verteilt, weil ich auch unterscheiden habe müssen, wer anfrägt (F1 hat sich beschwert, dass die googlead-Suchergebnisse nicht mehr funktionieren...). Jetzt hatte der aber mal tagsüber als ich daheim war Schluckauf und es ging gar nix mehr. Was natürlich den WAF auf Trockeeisebene gebracht hat.
    Zweiter interner DNS geht ja bei der Fritze nicht, also wäre es ganz praktisch dass sich ein BackUp-DNS einfach die IP vom Main-DNS schnappt.

    Zitat von root2

    Merke: Das "S" in "IoT" steht für Sicherheit!

  • (F1 hat sich beschwert, dass die googlead-Suchergebnisse nicht mehr funktionieren...)

    Meine genau so, daher sind ihre Geräte (PC, Handy und Tablet) als Ausnahmen in AdGuard hinterlegt und somit werden die Geräte komplett raus genommen.

    Zweiter interner DNS geht ja bei der Fritze nicht, also wäre es ganz praktisch dass sich ein BackUp-DNS einfach die IP vom Main-DNS schnappt.

    Da müsstest du dann AdGuard den DHCP machen lassen und hier mehrere DNS-Server eintragen. Natürlich, wenn das Gerät auf dem AdGuard schrott ist geht nix mehr, aber wenn deine Fritte kaputt geht, geht auch nix mehr [ag]

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Also ich nutze Adguard Home intern als DNS-Server - Einrichtung war total simpel (feste ip über macvlan). Damit stehen alle Ports unabhängig vom Host-System zur Verfügung.
    Läuft bei mir im Docker. Lokalen DNS-Server in der Fritzbox eingetragen und gut wars.

    Ist aus meiner Sicht die einfachste Lösung (dazu noch Vorteil Richtung Blocklists). Beispielsweise sendet mein NAS permanent irgendwelche Anfragen. Die hab ich darüber jetzt erkannt und blockiert.
    Öffentlich verfügbar muss Adguard auch nicht sein.

    Bin selber gerade am schauen ob ich DNS-Umschreibungen in meinem AdGuard nutze oder in der NGINX Config den Zugriff nur aus dem lokalen Netz erlaube.

    Problem bei der AdGuard Thematik: Die DNS-Umschreibungen funktionieren nur mit IP-Adressen und nicht mit IP-Adresse:Port. Somit müssen bspw. Docker alle eine eigene IP-Adresse haben. Ist einrichtbar, aber in der standard bridge-config erstmal nicht vorgesehen.

    Gerade getestet > das mit den Ports kann ich nicht bestätigen. Funktioniert einwandfrei über Adguard.

  • dann tut dir aber jemand deinen Port passend mappen. Durch den DNS Eintrag passiert das nichts :) Das macht entweder dein Webserver oder ein entsprechender Proxy Manager. Per DNS wird einfach nur die Anfrage der Domain auf die IP geleitet, mehr nicht. Mehr kann DNS nicht.

    das Einzige was am Ende zählt ist
    dass ihr lebt was ihr liebt und liebt wofür ihr lebt


    Kodi HTPC - W11 | AMD Athlon 3000G | Pioneer A 504R Bj. 96
    OMV NAS - NAS | Emby Server | LogitechMediaServer
    3x Logitech SqueezeBox & 3x RasPi PiCorePlayer
    Loxone SmartHome

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!