Step by Step - Adguard / PiHole & Unbound (Manuell mit Docker)


Recommended Posts

Posted (edited)

Freut mich, wenn es funktioniert :)

 

Die Option in der Fritzbox "Bei DNS Störungen auf öffentliche DNS Server zurückgreifen" könntest du als Notfall-Notfall-Option aktivieren - Probleme sollten dadurch nicht aufkommen.

 

Als Beispiel und nach den Vorschlägen in der Anleitung:

  • In der Fritzbox hast du im DHCP den DNS Server auf deinen PiHole/Adguard (der dann über Unbound auflöst) eingestellt.
    • Damit lösen alle Geräte im LAN, die ihre IP & DNS per DHCP erhalten, über deinen PiHole/Adguard auf
  • In der Fritzbox hast du den von der Fritzbox genutzten DNS Server auf PiHole/Adguard eingestellt (unter Internet -> Account Information -> DNS Server). Hier kannst du neben dem "Prefered DNS Server" (PiHole/Adguard) noch einen "Alternative DNS Server" (Bspw. 8.8.8.8) eintragen.
    • Damit löst die Fritzbox selbst erstmal über PiHole/Adguard auf und wenn der nicht erreichbar ist, fragt es bei dem Alternativen DNS nach
    • Hilfreich ist das für Geräte mit festem IP Setup wie beispielsweise dem Unraid System an sich. Bei einem Neustart kann Unraid ja nicht auf den PiHole/Adguard als DNS zurückgreifen, da dieser noch nicht gestartet ist. Damit kannst du in Unraid als DNS einfach deine Fritzbox eintragen - Initial löst diese dann über den Alternativen DNS Server auf und greift, wenn PiHole/Adguard wieder läuft, auf diesen zurück
    • Die Option "Bei DNS Störungen auf öffentliche DNS Server zurückgreifen" wäre damit nochmal ein zusätzliches Backup, wenn sowohl dein "Prefered DNS.." als auch dein "Alternative DNS.." nicht erreichbar sind - was eigentlich sehr selten der Fall sein sollte, da gerade die großen DNS wie 8.8.8.8 von Google oder 1.1.1.1 von Cloudflare sehr stabil sein sollten
Edited by Jabberwocky
  • Thanks 1
Link to comment

@Jabberwocky vieln Dank, dann weiß ich Bescheid :)

Ich habe mal in das Log von Unbound geschaut und da bekomme ich diese Fehlermeldungen:

Quote

root@Tower:~# tail /mnt/user/appdata/unbound/unbound.log
[1711139419] unbound[1:0] warning: subnetcache: prefetch is set but not working for data originating from the subnet module cache.
[1711139419] unbound[1:0] info: start of service (unbound 1.19.3).
[1711139672] unbound[1:0] info: service stopped (unbound 1.19.3).
[1711140106] unbound[1:0] warning: subnetcache: serve-expired is set but not working for data originating from the subnet module cache.
[1711140106] unbound[1:0] warning: subnetcache: prefetch is set but not working for data originating from the subnet module cache.
[1711140106] unbound[1:0] info: start of service (unbound 1.19.3).
[1711141479] unbound[1:0] info: service stopped (unbound 1.19.3).
[1711143557] unbound[1:0] warning: subnetcache: serve-expired is set but not working for data originating from the subnet module cache.
[1711143557] unbound[1:0] warning: subnetcache: prefetch is set but not working for data originating from the subnet module cache.
[1711143557] unbound[1:0] info: start of service (unbound 1.19.3).

 

Kannst Du mir dabei helfen?

Link to comment
Posted (edited)

Jetzt etwas weiter gefasst, da ich es in der Anleitung am Anfang verlinkt habe :)

 

Wenn du im Unbound Log unter /mnt/user/appdata/unbound/unbound.log die folgenden Warnmeldungen hast, sollte das kein Problem darstellen. Sie stellen eher einen Hinweis dar und sind keine Beeinträchtigung im Betrieb.

 

warning: subnetcache: serve-expired is set but not working for data originating from the subnet module cache.
warning: subnetcache: prefetch is set but not working for data originating from the subnet module cache.

 

Für mehr Details siehe >Klick<

 

Man kann diese vermeiden in dem man in der unbound.conf die beiden Parameter ändert und damit das Prefetching bzw. Cache-Verhalten ändert.

 

serve-expired: no
prefetch: no

 

Im Alltag im heimischen LAN sollten das Deaktivieren idR. nicht bemerkbar sein.

 

Erklärung der beiden Parameter:

 

prefetch: <yes or no>

If yes, message cache elements are prefetched before they expire to keep the cache up to date.

Turning it on gives about 10 percent more traffic and load on the machine, but popular items do not expire from the cache.

Default is "no".

 

serve-expired: <yes or no>

If enabled, Unbound attempts to serve old responses from cache with a TTL of serve expired-reply-ttl in the response without waiting for the actual resolution to finish.

The actual resolution answer ends up in the cache later on.

Default is "no".

Edited by Jabberwocky
  • Thanks 1
Link to comment

Vielen Dank! Ich werde das so belassen wie es ist, never change a running system ;)

Nächstes Wochenende werde ich das ganze auf einem weiteren Server umsetzen, jetzt weiß ich ja um die Kniffe.

 

Du hattest ja die Firebog Listen geposted. Ich habe jetzt mal "auf Verdacht" alle grünen Listen hinzugefügt. Hier z.B.

 

image.png.9a8962d1d899420666d5b704579ab48c.png

 

Würdest Du teilen, welche Listen Du verwendest oder ob alle grünen Listen "overkill" sind?

Danke Dir @Jabberwocky

Link to comment
Posted (edited)

Jup, sollte im Betrieb keine Probleme machen :)

 

Von den Firebog Listen habe ich alle nicht-durchgestrichenen der verschiedenen Breiche Suspicious, Advertising, Trackings... (sind bei mir grob 1,4 Mio. Einträge im PiHole) im Einsatz und bisher noch keine Probleme damit gehabt.

Im PiHole lassen sich die Listen auch recht leicht hinzufügen - einfach blockweise markieren und direkt im PiHole einfügen.

Falls mal eine Seite nicht funktioniert, kannst du im PiHole über "Query Log" auch nachvollziehen, ob diese geblockt wurden und diese dann nachträglich auf die Whitelist setzten. Wenn es zu viele "False-Positives" sind, kannst du nachträglich die Listen auch einfach wieder reduzieren.

 

 

image.png.de53dc777c9f147407d2f4e17787112e.png

Edited by Jabberwocky
  • Thanks 1
Link to comment

Ich bin etwas Ratlos und hoffe hier Hilfe zu finden.

 

Ich habe auf meinem Unraid AdGuard Home installiert, das funktioniert scheinbar auch. Okay nach der Konfiguration, erreiche ich AdGuard nicht mehr über IP:3000 sondern nur über die feste IP Adresse. Soweit ist das kein Problem. Der Advance Port Scanner zeigt mir den Port 80 und 53 an.

 

Nun will ich AdGuard aber in HomeAssitant (Docker nicht VM) einbinden, aber egal welche kosntellation ich ausprobiere IP:3000 IP:80 mit SSL oder ohne, mit SSL Zertifikat prüfung oder ohne - in jeder erdenklichen Variante funktioniert das leider nicht. AdGuard (br0) lässt sich von HomeAssistant (Host) nicht finden.

 

Ich habe in den Docker Einstellungen folgendes ausgewählt:

 

Netzwerktyp für benutzerdefinierte Docker-Netzwerke:

macvlan

Host-Zugang zu benutzerdefinierten Netzwerken:

Aktiviert

Benutzerdefinierte Netzwerke beibehalten:

Nein

 

Wo liegt mein Fehler-ich sehe ihn nicht 🤔

Link to comment

@Jabberwocky ich würde diese methode mit Docker nicht mehr empfehlen weil du  iel zu viel custom machen musst.

 

Ich würde dir statdessen empfehlen dir das mal mit LXC anzusehen, wie schon mehrmals erwähnt gubt es für beide bereits fertige images die praktisch nur ein drop in sind so wie ein Docker container.

Link to comment
Posted (edited)
On 3/29/2024 at 12:32 PM, Curiosity said:

Ich bin etwas Ratlos und hoffe hier Hilfe zu finden.

 

Ich habe auf meinem Unraid AdGuard Home installiert, das funktioniert scheinbar auch. Okay nach der Konfiguration, erreiche ich AdGuard nicht mehr über IP:3000 sondern nur über die feste IP Adresse. Soweit ist das kein Problem. Der Advance Port Scanner zeigt mir den Port 80 und 53 an.

 

Nun will ich AdGuard aber in HomeAssitant (Docker nicht VM) einbinden, aber egal welche kosntellation ich ausprobiere IP:3000 IP:80 mit SSL oder ohne, mit SSL Zertifikat prüfung oder ohne - in jeder erdenklichen Variante funktioniert das leider nicht. AdGuard (br0) lässt sich von HomeAssistant (Host) nicht finden.

 

Ich habe in den Docker Einstellungen folgendes ausgewählt:

 

Netzwerktyp für benutzerdefinierte Docker-Netzwerke:

macvlan

Host-Zugang zu benutzerdefinierten Netzwerken:

Aktiviert

Benutzerdefinierte Netzwerke beibehalten:

Nein

 

Wo liegt mein Fehler-ich sehe ihn nicht 🤔

 

@Curiosity Mit HomeAssistant habe ich leider keine Erfahrung aber ein paar Ideen:

 

Kannst du versuchen beide Docker in das selbe Netz (in dem Fall br0 mit eigenen IPs / oder beide auf Host) zu setzten?

Einzeln sind beide aber erreichbar oder? Nur die Verbindung zwischen den beiden funktioniert nicht?

 

 

Edited by Jabberwocky
Link to comment
16 hours ago, ich777 said:

@Jabberwocky ich würde diese methode mit Docker nicht mehr empfehlen weil du  iel zu viel custom machen musst.

 

Ich würde dir statdessen empfehlen dir das mal mit LXC anzusehen, wie schon mehrmals erwähnt gubt es für beide bereits fertige images die praktisch nur ein drop in sind so wie ein Docker container.

 

Ja, wollte ich auch nochmal ausprobieren aber bin leider noch nicht dazu gekommen. Der Vorteil von LXC ist ähnlich wie bei einem Hypervisor oder? Also man kann den Containern dediziert Ressourcen zuweisen?

Link to comment
  • Jabberwocky changed the title to Step by Step - Adguard / PiHole & Unbound (Manuell mit Docker)
12 minutes ago, Jabberwocky said:

LXC

Ja kannst du auch.

LXC is eben eine mischung aus Docker und VM, sprich es is mehr oder weniger einer VM jedoch mit geteilten resourcen so wie Docker, noch dazu bekommt jeder container eine eigene IP, du musst nicht mehrere komplizierte anleitungen schreiben, es is alles in einem image und vermutlich noch mehr was ich hier vergesse.

 

Natürlich kannst das auch mit keepalived verwenden damit wenn dein Unraid server down ist oder der LXC container das ein backup PiHole/AdGuard (der zB auf einem RaspberryPi oder irgend einem SBC läuft) seamless übernehmen kann ohne dein eingreifen.

 

Sieh dir dazu mal mein Image hier an:

https://github.com/ich777/unraid_lxc_pihole
 

Wenn du es testen willst lass es mich wissen (erfordert momentan nur ein kommando vom Terminal) und dann installation in der Unraid GUI. 😉

Link to comment
On 3/30/2024 at 8:33 AM, ich777 said:

Ja kannst du auch.

LXC is eben eine mischung aus Docker und VM, sprich es is mehr oder weniger einer VM jedoch mit geteilten resourcen so wie Docker, noch dazu bekommt jeder container eine eigene IP, du musst nicht mehrere komplizierte anleitungen schreiben, es is alles in einem image und vermutlich noch mehr was ich hier vergesse.

 

Natürlich kannst das auch mit keepalived verwenden damit wenn dein Unraid server down ist oder der LXC container das ein backup PiHole/AdGuard (der zB auf einem RaspberryPi oder irgend einem SBC läuft) seamless übernehmen kann ohne dein eingreifen.

 

Sieh dir dazu mal mein Image hier an:

https://github.com/ich777/unraid_lxc_pihole
 

Wenn du es testen willst lass es mich wissen (erfordert momentan nur ein kommando vom Terminal) und dann installation in der Unraid GUI. 😉

 

@ich777 Sehr gerne aber ich bin gerade leider ziemlich zu mit Themen aus der Arbeit - ich melde mich bei dir, wenn ein Ende in Sicht ist, ok?

Link to comment
2 minutes ago, Jabberwocky said:

 

@ich777 Sehr gerne aber ich bin gerade leider ziemlich zu mit Themen aus der Arbeit - ich melde mich bei dir, wenn ein Ende in Sicht ist, ok?

Kein ding, dauert ca 5 bis 10 Minuten bis alles läuft (inklusive LXC einrichten).

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.