AdguardHome und DNS Eintrag

fantozzi

Ensign
Registriert
Feb. 2007
Beiträge
171
Guten Abend zusammen und zunächst einmal ein frohes Weihnachtsfest.

Ich habe als Newbie AdguardHome als LXC-Container auf einem Proxmox-Server installiert und soweit alles eingerichtet. Offensichtlich gibt es zwei Wege AdguardHome über die Fritzbox einzurichten.

DNS-Aufrufkette: Client --> Router --> Adguard --> Provider/public-DNS

DNS-Aufrufkette: Client --> Adguard --> Router --> Provider/public DNS

Trotz meiner Recherche ist mir der Unterschied beider Methoden leider noch nicht klar genug. Ich habe mich jedenfalls dafür entschieden in der Fritzbox über Heimnetz - Netzwerk - AdguardHome als lokalen DNS-Server einzutragen. Wenn ich nun z.B: auf
https://www.dnsleaktest.com/ gehe, bekomme ich als DNS-Server den meines Providers angegeben. Sollte ich als Ergebnis eigentlich nicht die DNS-Server angezeigt bekommen, die ich in AdguardHome angegeben habe oder verstehe ich da etwas falsch?
 
Das ist leider nicht so einfach, weil man oft zwei DNS Server eingibt, ich hab da bisweilen ebenfalls Ärgernisse. Der Unterschied zwischen 1 und 2 ist relativ einfach: Der Aufwand. Du kannst bei jedem Client einzeln den Adguard eingeben, oder halt im Router, denn der gibt ja auch einen default DNS an die Clinet weiter. In der Fritzbox gibt es übrigens zwei DNS Eisntellungen... (Internet / DNS) und DHCP wenn ich mich richtig erinnere. Daher mal probieren, hier testweise Quad eintragen
 
Wenn der Router deinen AdGuard per DHCP an die Clients verteilt, ist dein Router bei der DNS-Auflösung nicht mehr involviert. Und so möchtest du das auch haben.

Bedeutet: Client -> AdGuard -> Upstream

Den externen Upstream kannst du dir sparen, indem du noch einen Container mit Unbound aufsetzt, der dann als Upstream für AdGuard dienst und die rekursive Auflösung übernimmt.

fantozzi schrieb:
Wenn ich nun z.B: auf
https://www.dnsleaktest.com/ gehe, bekomme ich als DNS-Server den meines Providers angegeben. Sollte ich als Ergebnis eigentlich nicht die DNS-Server angezeigt bekommen, die ich in AdguardHome angegeben habe oder verstehe ich da etwas falsch?

Ich vermute, du hast ledigich einen IPv4 DNS-Server in der Fritzbox konfiguriert. Dann gehen deine DNS-Requests am AdGuard vorbei zum DNS-Server deines Providers. Du musst deinen AdGuard auch als DNSv6-Server in den IPv6-Einstellungen konfigurieren.
 
fantozzi schrieb:
DNS-Aufrufkette: Client --> Router --> Adguard --> Provider/public-DNS

DNS-Aufrufkette: Client --> Adguard --> Router --> Provider/public DNS

Trotz meiner Recherche ist mir der Unterschied beider Methoden leider noch nicht klar genug.
Eine einfache "Paketverfolgung" führt zum Ergebnis.
Fragt der Client Adguard direkt als DNS-Server an (egal über welchen Weg das geschieht), siehst du im Adguard die Logs der einzelnen Clients.
Ist in den Clients der Router als DNS-Server (mit Adguard als DNS-Upstream Server) eingetragen, sieht Adguard nur die Anfragen des Routers.

Ich habe das immer so gelöst, dass die Clients den Werbeblocker (bei mir PiHole) anfragen. So habe ich detaillierte Logs und kann besser Trouble Shooting machen. Außerdem kann ich Blocklisten individuelle pro Client/Netzwerk setzen.
 
@CoMo In der Variante mit Unbound zeigt er mir dann meien externe IP als DNS Server an?
 
Richtig, da du dann deinen eigenen rekursiven Resolver betreibst. Also das, was Google DNS, Cloudflare etc auch machen. Nur halt bei dir zuhause. Somit hast du auch volle Kontrolle über den Cache.

Und die Root-Zone kannst du dir mit Hyperlocal auch gleich nach Hause holen, indem du einfach eine .conf Datei unter /etc/unbound/unbound.conf.d ablegst:

Code:
# =========================================================
# Auth Zone for the Internet root zone "."
# See RFC 8806 - Running a Root Server Local to a Resolver
# https://www.rfc-editor.org/rfc/rfc8806.html
# =========================================================
auth-zone:
    name: "."
    master: "b.root-servers.net"
    master: "c.root-servers.net"
    master: "d.root-servers.net"
    master: "f.root-servers.net"
    master: "g.root-servers.net"
    master: "k.root-servers.net"
    url: https://www.internic.net/domain/root.zone
    fallback-enabled: yes
    for-downstream: no
    for-upstream: yes
    zonefile: "/etc/unbound/root.zone"
 
  • Gefällt mir
Reaktionen: Raijin und DFFVB
Wäre als mein Eintrag in der Fritzbox unter Heimnetz - Netzwerk - AdguardHome als lokalen DNS-Server folglich richtig? Offensichtlich gibt es dazu so viele unterschiedliche Meinungen, daher ist es für mich als Laie nicht immer leicht zu verstehen :-)

IPv6 habe ich nicht konfiguriert. Zu dem Thema las ich neulich folgendes:

"Danke für deinen Kommentar! Ich selbst nutze aus Datenschutz-Gründen intern kein IPv6 . Leider ist die 'richtige Konfiguration' für das IPv6-Protokoll nicht so trival wie es scheint. ;-) Durch eine falsche Konfiguration ist jedes Gerät Intern dann auch Öffentlich eindeutig Identifizierbar. Dieser Umstand macht mich dann zum gläsernden Internetnutzer, was ich persönlich ja gerne vermeiden möchte.Vielleicht mache ich in Zukunft mal ein Video zum Thema und beleuchte in diesem, die Vor- und Nachteile von IPv6."

Unbound lief bei mir noch zusammen mit Pihole. Dann las ich, dass Unbound mit Adguard nicht nötig sei. Ich bin nur noch verwirrt :-)
Ergänzung ()

F31v3l schrieb:
Eine einfache "Paketverfolgung" führt zum Ergebnis.
Fragt der Client Adguard direkt als DNS-Server an (egal über welchen Weg das geschieht), siehst du im Adguard die Logs der einzelnen Clients.
Ist in den Clients der Router als DNS-Server (mit Adguard als DNS-Upstream Server) eingetragen, sieht Adguard nur die Anfragen des Routers.

Ich habe das immer so gelöst, dass die Clients den Werbeblocker (bei mir PiHole) anfragen. So habe ich detaillierte Logs und kann besser Trouble Shooting machen. Außerdem kann ich Blocklisten individuelle pro Client/Netzwerk setzen.
Das wäre auch meine Intention, sprich den Überblick zu haben, was genau bei den einzelnen Clients geblockt wird.
 
Zuletzt bearbeitet:
fantozzi schrieb:
Wäre als mein Eintrag in der Fritzbox unter Heimnetz - Netzwerk - AdguardHome als lokalen DNS-Server folglich richtig?

Wenn du diese Einstellung meinst, dann ja.

waterfox_mFhKP8BQ2A.png


Wenn du kein IPv6 nutzt, dann musst du da nix weiter machen.

Wenn du das aber gerade erst eingerichtet hast, dann greift das natürlich erst, wenn dein aktueller DHCP-Lease abläuft und ein neuer vom Router bezogen wird. ipconfig /all sollte dir dazu alles wichtige anzeigen.

fantozzi schrieb:
Unbound lief bei mir noch zusammen mit Pihole. Dann las ich, dass Unbound mit Adguard nicht nötig sei.

Nötig ist das nicht. Du kannst als Upstream auch einen beliebigen externen DNS-Dienst verwenden. Oder DNS halt selbst machen.

Schau mal hier, da habe ich das neulich alles schon mal erklärt https://www.computerbase.de/forum/threads/adguard-mit-unbound.2138854/
 
  • Gefällt mir
Reaktionen: Raijin und DFFVB
Hmmm...IPv6 nutze ich (noch) nicht, weil ich bis dato nicht verstanden habe, welchen Nutzen in davon trage.
Meine Priorität derzeit, da ich noch am Anfang stehe, wäre zunächst einmal Werbung etc. zu blocken und DNS-Anfragen verschlüsselt zu versenden.
 
Zuletzt bearbeitet:
Damit Adguard auf IPv6 lauscht, hätte ich bei der Installation des LXC-Containers den Haken bei IPv6 setzen müssen, richtig?
 
Es gibt kein Richtig oder Falsch bei den genannten Varianten. Beides sind legitime Konfigurationen mit eigenen Vor- und Nachteilen, beispielsweise die angesprochene Unterscheidung der einzelnen Clients im DNS-Blocker.

Wichtig ist am Ende nur, dass das Gerät, welches als DHCP-Server fungiert, irgendwo in der Aufrufkette vorkommt. Meistens ist es der Router, also wie dargestellt vom Client direkt zum Router und danach zum DNS-Blocker oder eben erst zum DNS-Blocker und dann zum Router. Tut man dies nicht und geht vom Client direkt zum DNS-Blocker und von dort ohne Unwege zu einem public DNS, wird man große Probleme mit der lokalen Namensauflösung bekommen, "MeinNAS" oder "OttosPC" würde dann nicht mehr funktionieren, zumindest nicht über herkömmliches DNS.

Ein eigener DNS-Resokver wie Unbound macht das Setup natürlich nochmal etwas komplexer, ist aber grundsätzlich auch kein unlösbares Problem und muss lediglich für die lokale Domain (bei Fritzen meist fritz.box) korrekt konfiguriert werden. Ob man das wirklich braucht sei mal dahingestellt. In Zeiten von Containern ist sowas aber flott aufgesetzt und im Zweifelsfalle auch wieder rückgängig gemacht.
 
Wäre die Einstellung für IPv6 in meiner Fritzbox so korrekt?
Fritz.jpg
 
Ich bräuchte von euch netterweise noch etwas Unterstützung. Wie bereits erwähnt bin ich in Sachen "Netzwerk" ein absoluter Anfänger. Ich habe in den letzten Tagen viel gelesen, aber mein Kopf ist derzeit voll von Begriffen :-)

Während der Installation von AdguardHome erhielt ich folgende Meldung in rot (siehe Screenshot). Soweit ich verstanden habe nutzt Ubuntu den DNS-Port 53. Was heißt das nun für mein Vorhaben genau? AdguardHome kann ich dennoch konfigurieren. Wie kann ich ferner prüfen, ob AGH auch auf Ipv6 lauscht?
 

Anhänge

  • Kopie.png
    Kopie.png
    161,2 KB · Aufrufe: 64
Na irgendein Dienst lauscht da bereits auf Port 53. Zeigt dir der Diese Anleitung Link nicht, wie du vorgehen musst? Ansonsten schau halt mal nach:

Code:
ss -tulpn | grep 53

Wenn du Unbound installierst, musst du den Port dort natürlich auch ändern, damit AdGuard ihn nutzen kann.
 
Zuletzt bearbeitet:
fantozzi schrieb:
Soweit ich verstanden habe nutzt Ubuntu den DNS-Port 53. Was heißt das nun für mein Vorhaben genau?
Ports sind exklusiv. Das heißt, dass nur ein Dienst im System auf diesem Port auf eingehende Verbindungen warten darf. Versucht eine zweite Anwendung denselben Port zu nutzen, verweigert das System die Anfrage - wie hier geschehen. In der Meldung ist ein Link zur weiteren Vorgehensweise. Einfach mal anklicken.


fantozzi schrieb:
AdguardHome kann ich dennoch konfigurieren.
Das sind zwei Paar Schuhe.

UDP/TCP 53 ist offiziell für DNS registriert. Wenn ein Gerät einen DNS-Query schickt, zB für "computerbase.de", dann wird dieser Query in ein Paket gepackt, welches an den DNS-Server auf UDP/TCP 53 geschickt wird. Deswegen muss man bei den IP-Einstellungen eines Geräts lediglich die IP-Adresse des DNS-Servers angeben, weil der Port fest vergeben ist. Adguard ist so ein DNS und deswegen nutzt Adguard eben auch UDP/TCP 53 - oder versucht es zumindest, weil der Port augenscheinlich bereits durch einen anderen Dienst belegt ist, vermutlich eben ein anderer bereits installierter DNS im System.
Mit netstat -tulpen kannst du die Ports sehen, die im System zur Zeit geöffnet sind, nebst der PID, welche dafür verantwortlich ist.

Die Konfiguration von Adguard wiederum ist ein banaler Webserver. Das heißt die GUI läuft auf http(s), was TCP 80 bzw. 443 bedeutet. Anderer Port, anderer Dienst (wenngleich von derselben Anwendung) und in diesem Fall ist der Port offensichtlich noch nicht belegt. Deswegen kannst du Adguard zwar konfigurieren, aber DNS wirst du darüber nicht auflösen können. Wobei.. wenn du die IP des Systems als DNS einstellst, wird DNS vermutlich sogar funktionieren, aber eben nicht über Adguard, sondern über den anderen DNS-Dienst, der bereits vor Adguard gestartet wurde.
 
Die Anleitung habe ich mir bereits mehrfach durchgelesen, aber wie gesagt, für mich sind die ganzen Begriffe absolut neu...daher muss ich vieles nachschauen.
Ergänzung ()

netstat -tulpen in der Windows PowerShell über Cmd? Ich kann z.B. netstat -a eingeben.
Ergänzung ()

AdguardHome zeigt mir an, dass vieles geblockt wird. Wie kann das sein, wenn der Port 53 bereits belegt ist?
 

Anhänge

  • Port 53.png
    Port 53.png
    71,5 KB · Aufrufe: 39
CoMo schrieb:
Den externen Upstream kannst du dir sparen, indem du noch einen Container mit Unbound aufsetzt, der dann als Upstream für AdGuard dienst und die rekursive Auflösung übernimmt.
Man kann das sogar noch weiter treiben, in dem man unbound gleich auch die Filterung überlässt. Dann muss man nicht mal den AdGuard-DNS-Server installieren. :-)
 
Habt Erbarmen mit mir. Step by Step :-)
Ergänzung ()

Ok. Ich lerne dazu...Netstat muss mit dem Befehl "sudo apt-get install net-tools" zunächst installiert werden.
 

Anhänge

  • Netstat.jpg
    Netstat.jpg
    146,5 KB · Aufrufe: 37
Zuletzt bearbeitet:
Wenn man unbedingt netstat anstelle von ss nutzen möchte, muss netstat installiert werden, logisch.

Und jetzt beendest du densystemd-resolved.

Code:
systemctl disable --now systemd-resolved
 
Darf ich fragen, welchen Befehl du mit "ss" meinst? Ich lerne ja gerne dazu :-)
 
Zurück
Oben