[TUT] AdguardHome - Werbeblocker

  • Alles Screenshots in diesem Tutorial stammen aus meiner eigenen Testumgebung. Codepassagen in den Dateianhängen stammen von der offiziellen GitHub Seite github.com/AdguardTeam/AdGuardHome.
    Yes

    Liebe Forengemeinde,
    in diesem Tutorial stelle ich Euch eine Anleitung zur Verfügung, mit welcher Ihr den AdguardHome in wenigen Minuten installieren könnt. Voraussetzung für dieses Tutorial ist Portainer und ein konfiguriertes MacVlan.

    image

    Anleitung:

    1. Dateimanager öffnen
    2. In den Ordner docker wechseln
    3. Erstellen des Ordners "adguardhome"
    4. Wechseln in den Ordner "adgardhome"
    5. Erstellen des Ordners "conf"
    6. Erstellen des Ordners "work"
    7. Dateimanager schließen
    8. Die Datei "adguardhome.yml" herunterladen und in einem Texteditor Eurer Wahl öffnen
    9. Volume-Pfade jeweils unter "source" an Eure Installation anpassen
    10. Bei "ipv4_address" eine freie IP Eures MacVlans eintragen
    11. Bei "name" den Namen Eures MacVlans eintragen (im Beispiel "mvl")
    12. Portainer öffnen
    13. Im linken Menü "Stacks" anklicken
    14. Auf der rechten Seite "+ Add Stack" anklicken
    15. Bei "Name" "adguardhome" (oder den Namen Eurer Wahl) eintragen
    16. Den Inhalt in der Datei "adguardhome.yml" kopieren (Strg + A und danach Strg + C)
    17. Den Inhalt im Webeditor einfügen (Strg + V)
    18. Unter "Actions" auf "Deploy the Stack" klicken
    19. Der Container wird installiert und ist danach unter der IP-Adresse:3000 (Beispiel 192.168.178.253:3000) erreichbar

    Beim ersten Aufruf wie folgt einrichten:

    1. Auf Anfangen klicken
    2. Admin Weboberfläche - Dropdown "Schnittstelle" > "Alle Schnittstellen" auswählen (= Standard)
    3. Admin Weboberfläche - Port = 3000
    4. DNS-Server - Netzwerk-Schnittstelle > "Alle Schnittstellen auswählen (= Standard)
    5. DNS-Server - Port = 53 (= Standard)
    6. Weiter
    7. Benutzername und Passwort festlegen
    8. Weiter > Weiter
    9. Übersicht öffnen
    10. Einloggen

    Eine sehr gute, weiterführende Anleitung bez. einer möglichen Konfiguration, findet Ihr unter den folgendem Link:

    Willi
    May 24, 2025 at 7:27 AM

    Viel Spaß beim installieren!

  • Habe den AdGuard auch laufen... nur eine Sache nervt mich: immer wenn ich diesen Update muss ich alle Einstellungen neu machen, also eine Werkseinstellung - alles immer wieder weg... wie kann ich ein Update des Dockers machen, ohne dieses Problem zu haben?

  •   columbo1979
    Wenn du die Schritte 1 bis 9 der Anleitung durchgeführt hast, bleiben die Einstellungen auch nach einem Update erhalten.
    Deine Einstellungen werden dann nicht innerhalb des flüchtigen Containers, sondern außerhalb in der Ordnerstruktur gespeichert.

  •   columbo1979

    Du kannst im Freigegebenen Ordner "docker" im Adguard Verzeichnis Dich mal durchklicken, ob da überhaupt Daten geschrieben wurden.

    Wenn da nur leere Ordner sind, dann sind die Pfade beim Anlegen des Containers nicht richtig gemappt worden und die Daten werden nur intern im Container gespeichert, deshalb sind dann auch jedesmal die Daten Weg / gelöscht.

    Meine Hardware

    DXP4800+ 2x8TB WDRedPl Btrfs Raid1 2x 2TB NVME Lexar NM790 Raid1, 64GB RAM Kingst. KVR48S40BD8-32 DDR5/4800MH

    DXP2800 1x 12TB Seag. 1x 12TB WDRedPl, Raid1 Btrfs 16GB RAM Crucial CT16G56C46S5.C8B2, 2x NVME Samsg,

    DS1525+ 2x8TB WD, Btrfs SHR, 2x 2TB NVME Lexar NM790 Raid1. 40GB ECC RAM_Speicher.de

    DS920+ DSM 7.3.2 Btrfs Raid1 2x8TB WD, 2x2TB NVME Samsg. 970 EVOPlus, RAM 20GB DDR4-2666MHZ Speicher.de

    USV UGREEN US3000, EatonEllip.PRO 850DIN, Switch Zyxel GS1200-8 1GB, Zyxel XMG-108 8 x 2,5GB

  • Hallo zusammen,
    hat jemand zufällig eine Idee, bei einem Geräte Neustart, also danach, will AdGuard nicht mehr starten?
    Ich habe jetzt nach Stunden herausgefunden, sudo killall dnsmasq hilft.
    Hab vorher schon 3 mal neu gemacht. 😉
    Gibt es einen besseren Weg, als über das Terminal?

  •   ritchtools
    Wahrscheinlich ist die Restart policy bei deiner Installation auf "Never" eingestellt.
    Wenn du möchtest, dass AdguardHome nach einem Neustart des NAS automatisch startet, musst du diese auf "Always" oder "Unless stopped" ändern.

    Einstellung in Portainer:

    Containers > adguardhome > Duplicate/Edift > Nach unten scrollen > Restart policy

    image

    Danach die gewünschte Option wählen und auf "Deploy the container" klicken.

  •   ritchtools
    "On failure" ist nicht ideal, das verwendet man z.B. für Datenbanken.
    Stelle, wie oben beschrieben, einmal auf "Unless stopped" um und starte dein NAS anschließend neu.

    Wenn es danach noch immer nicht funktioniert, schau ins Log des Containers und poste die Fehlermeldung, dann haben wir zumindest einen Ansatz für eine Problemlösung.

  • Hallo und auch noch einen schönen 1. Weinachtsfeiertag.🎄
    Willi unless stop hatte ich eingetragen und auch jetzt nach dem Update/Neustart bleibt der Fehler.
    Ohne „sudo -i und sudo killall dnsmasq“ will AdGuard nicht richtig funktionieren.
    Muss nach dem Neustart also immer eingreifen. 😕
    Noch jemand eine Idee?

    Hier die Fehlermeldung/Log.
    2024/12/25 09:11:43.329226 [info] go to http://192.168.50.122:3000
    2024/12/25 09:11:43.329231 [info] go to http://[fd00::7afe:95d1:c618:92e5]:3000
    2024/12/25 09:11:43.329236 [info] go to http://[2a02:8108:8240:2790:b2e1:71c:6cc9:9ec1]:3000
    2024/12/25 09:11:43.329240 [info] go to http://[fe80::1e31:6c69:f98a:696a%bridge0]:3000
    2024/12/25 09:11:43.329244 [info] go to http://192.100.1.1:3000
    2024/12/25 09:11:43.329248 [info] go to http://[2222:db8:85a3::101]:3000
    2024/12/25 09:11:43.329254 [info] go to http://192.100.0.1:3000
    2024/12/25 09:11:43.329257 [info] go to http://[2222:db8:85a3::1]:3000
    2024/12/25 09:11:43.329262 [info] go to http://172.17.0.1:3000
    2024/12/25 09:11:43.329266 [info] go to http://[fe80::42:98ff:fea6:9f24%docker0]:3000
    2024/12/25 09:11:43.329269 [info] go to http://172.20.0.1:3000
    2024/12/25 09:11:43.329274 [info] go to http://[fe80::42:eeff:fedd:802e%br-e3d7cf76af91]:3000
    2024/12/25 09:11:43.329278 [info] go to http://172.27.0.1:3000
    2024/12/25 09:11:43.329282 [info] go to http://172.21.0.1:3000
    2024/12/25 09:11:43.329287 [info] go to http://[fe80::42:40ff:fed5:5418%br-1c4ec4c6273e]:3000
    2024/12/25 09:11:43.329291 [info] go to http://172.26.0.1:3000
    2024/12/25 09:11:43.329296 [info] go to http://172.19.0.1:3000
    2024/12/25 09:11:43.329301 [info] go to http://[fe80::42:64ff:fedd:cb89%br-606b1c52d17f]:3000
    2024/12/25 09:11:43.329304 [info] go to http://172.22.0.1:3000
    2024/12/25 09:11:43.329308 [info] go to http://[fe80::42:70ff:fea3:54e1%br-77eddb4af5f7]:3000
    2024/12/25 09:11:43.329312 [info] go to http://172.18.0.1:3000
    2024/12/25 09:11:43.329316 [info] go to http://[fe80::42:8ff:fe63:8436%br-a8bb37264750]:3000
    2024/12/25 09:11:43.329321 [info] go to http://[fe80::4ce:fff:febe:a245%vethb6b96df]:3000
    2024/12/25 09:11:43.329326 [info] go to http://[fe80::4c4:43ff:fe40:742e%veth8c24252]:3000
    2024/12/25 09:11:43.329331 [info] go to http://[fe80::583c:9bff:feaf:e29d%vethdd3588d]:3000
    2024/12/25 09:11:43.329335 [info] go to http://[fe80::8cd7:eeff:fe62:8acd%vethd56b3d8]:3000
    2024/12/25 09:11:43.329339 [info] go to http://[fe80::e89b:23ff:fea9:7536%vethcda7072]:3000
    2024/12/25 09:11:43.329344 [info] go to http://[fe80::62:7ff:fe87:9bd3%vethd622477]:3000
    2024/12/25 09:11:43.329349 [info] go to http://[fe80::243d:c0ff:fedd:c310%veth43ce138]:3000
    2024/12/25 09:11:43.329353 [info] go to http://[fe80::3ca4:84ff:fe4d:f622%vethbfb1e55]:3000
    2024/12/25 09:11:43.329357 [info] go to http://[fe80::d0ca:fcff:fe50:1158%vethd9dd25f]:3000
    2024/12/25 09:11:43.329361 [info] go to http://[fe80::f8fb:83ff:fe41:fb94%vethaccb2b9]:3000
    2024/12/25 09:11:43.329365 [info] go to http://[fe80::7037:79ff:fe2f:43a3%vethbed99ed]:3000
    2024/12/25 09:11:43.329370 [info] go to http://[fe80::cce:bfff:fe5e:b625%veth19e20d3]:3000
    2024/12/25 09:11:47.218844 [info] dnsproxy: starting dns proxy server
    2024/12/25 09:11:47.218970 [info] dnsproxy: creating udp server socket addr=0.0.0.0:53
    2024/12/25 09:11:47.219182 [info] dnsproxy: listening to udp addr=[::]:53
    2024/12/25 09:11:47.219208 [info] dnsproxy: creating tcp server socket addr=0.0.0.0:53
    2024/12/25 09:11:47.222274 [error] closing query log: flushing log buffer: nothing to write to a file
    2024/12/25 09:11:47.222298 [fatal] starting dns server: configuring listeners: listening to tcp socket: listen tcp 0.0.0.0:53: bind: address already in use

  • Quote

      ritchtools 2024/12/25 09:11:47.222298 [fatal] starting dns server: configuring listeners: listening to tcp socket: listen tcp 0.0.0.0:53: bind: address already in use

    Der Fehler bedeutet, dass bereits ein Dienst/Service auf dem TCP-Port 53 lauscht. Da kommt sich etwas in die Quere.
    Um herauszufinden welcher Dienst/Service das ist, kannst du so vorgehen:

    1. Per ssh auf das NAS verbinden und einloggen
    2. sudo -i
    3. fuser -n tcp 53
    4. Das Ergebnis sieht z.B. so aus, die Prozess-ID ist hier 1791:
      • 53/tcp: 1791 1844 1878 1927
    5. Nun kannst du ermitteln, welcher Dienst/Service den Prozess (z.B. 1791) beansprucht:
      • ps auxw | grep 1791

    Wie sieht das Ergebnis aus?

  • Hallo   ritchtools ,
    Konntest du das Problem mittlerweile lösen oder ist dieses noch aktuell?

  • Hallo zusammen,

    ich hoffe ich kann mein Problem hier anheften? Andernfalls mache ich auch gerne ein neues Thema auf. Denke aber, es passt hier rein.

    Seit heute und laut Logeinträge schon ein paar Tage länger, habe ich folgendes Problem beim ausführen von "Re-pull image" über Porteiner:

    Code
    Failed recreating container: Pull image error docker.io/evcc/evcc:latest: Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 192.168.1.117:53: read udp 192.168.1.101:48114->192.168.1.117:53: i/o timeout

    AdGuardHome läuft unter: 192.168.1.117 (mvl)
    Das NAS hat die IP: 192.168.1.101
    Portainer läuft natürlich direkt auf dem NAS unter: 192.168.1.101:9443
    Gateway ist: 192.168.1.1

    Ich komme da nicht so richtig mit... Wenn ich vom NAS aus google.de/com usw. anpinge, kommt eine Antwort zurück. Sämtliche Adressen von docker.io nicht. Am Client (192.168.1.70), der ebenfalls AdGuard nutzt, kann ich alles anpingen bis auf docker.io.

    In den Logs von AdGuard ist auch keine einzige Anfrage an registry-1.docker.io vom NAS zu finden. Es finden sich nur Einträge vom iPhone und dem PC. Generell ist am AdGuard kein Eintrag zum NAS oder dessen IP zu finden.

    Im NAS App Center -> Docker kommt ebenfalls eine Fehlermeldung bei Image -> Allgemein und Repository. Also die App bekommt keine Verbindung zu docker.io

    Meine Routenverfolgung am Rechner sieht folgendermaßen aus:

    Normal bringt mich so etwas nicht so leicht aus der Bahn, aber aktuell bin ich echt ein wenig ratlos! Vor allem weil es vor ein paar Tagen noch ohne Probleme funktioniert hatte. Kann das jemand nachvollziehen oder verstehen?

    Ich hatte jetzt aber noch keinen Test ohne AdGuard gemacht. Um das System komplett zu umgehen müsste ich in der Fritz.Box erst mal die DNS Adressen auf Standard zurück konfigurieren. Das wollte ich erst mal noch abwarten...

    Hier noch die Netzwerke unter Portainer:

    The content cannot be displayed because you do not have authorisation to view this content.

    Und dann noch die Container und dessen IPs:
    The content cannot be displayed because you do not have authorisation to view this content.

    Ich lasse nicht alle Container über mvl laufen, nur die, die perspektivisch über NPM erreichbar gemacht werden müssen.

    Vielen Dank schon mal.

  • DocBrown
    Bist du sicher, dass dein MacVlan richtig einerichtet wurde? Ein detailliertes funktionierendes Step-by-Step Tutorial findest du HIER.
    Ich sehe auf deinem Screenshot "Networks" nirgendwo das Template für MacVlan, das sollte eigentlich etwa so aussehen...

    The content cannot be displayed because you do not have authorisation to view this content.

    Meine Fragen:
    1. Wurde der IP-Bereich am Router aus DHCP entsprechend ausgenommen?
    2. Gibt es ev. einen Ip-Adresskonflikt? Schau mal am Router, ob. ev. noch ein anderes Gerät eine IP deiner Container verwendet.
    3. Verwendest du ev. einen VPN-Dienst?

    Wenn du die Schritte 1 bis 3 ausschließen kannst, starte mal auf der CLI Docker neu, das sollte das Problem beheben:

    Code
    sudo systemctl restart docker

    VG Willi

  • Also ich habe, weil ich grundsätzlich faul bin :saint:, diese Abkürzung verwendet. Das NAS hatte schon vor dem anlegen des mvl eine feste IP von mir bekommen und kann eigentlich nicht doppelt vergeben werden. Meine ich zumindest. Zumindest wüsste ich nicht wo. Als DHCP läuft der Fritz.Box eigene und der kennt das NAS bereits.

    Wenn ich in den Netzwerkeinstellungen des NAS allerdings den DNS Server auf manuell und auf 192.168.1.1 stelle, dann klappt das mit registry-1.docker.io wieder.

    The content cannot be displayed because you do not have authorisation to view this content.

    Vroher stand der auf automatisch und es wurde der DNS-Server 192.168.1.117 (AdGuard) gezogen. Also muss ich wohl am AdGuard was verbummelt haben, oder? So langsam bin ich komplett verwirrt :S

    VG Uli

  • Also ich habe, weil ich grundsätzlich faul bin :saint: , diese Abkürzung verwendet. Das NAS hatte schon vor dem anlegen des mvl eine feste IP von mir bekommen und kann eigentlich nicht doppelt vergeben werden. Meine ich zumindest. Zumindest wüsste ich nicht wo. Als DHCP läuft der Fritz.Box eigene und der kennt das NAS bereits.

    Ähm...du scheinst MacVlan überhaupt nicht verstanden zu haben, das hat NULL mit der statischen IP-Adresse deines NAS zu tun.
    Ob die FritzBox der DHCP-Server ist, war auch nicht meine Frage, sondern ob du das MacVlan entsprechend aus dem DHCP-Bereich ausgenommen hast. Wenn nicht, wirst du immer wieder IP-Adresskonflikte in deinem Netzwerk haben, weil der DHCP-Server nichts von deinem MacVlan weiß und die selben IP-Adressen deiner Container frisch und fröhlich an die Clients verteilen wird.

    Außerdem ist es unsinnig, Adguard-Home als DNS-Server für dein NAS zu verwenden. Wenn du AdguardHome schon automatisch an alle Clients im Netzwerk verteilst, sollte der DNS-Server am NAS natürlich manuell auf die IP deines Routers festgelegt werden.

    Mein in Beitrag #15 verlinktes Tutorial zeigt eigentlich Bildchen für Bildchen was zu tun ist. Sorry, aber wenn du dich damit nicht auseinandersetzen willst, wird das so nix.

    VG Willi

  • Eigentlich habe ich es schon verstanden. Das mit der statischen IP habe ich nur erwähnt, da es IP-Dopplungen bei mir so nicht gibt und geben kann. Ich betriebe mein Netzwerk schon ewig über die Fritz.Box (DHCP+DNS) und hatte in Bezug auf doppelte Vergabe noch keine Probleme. Ähnlich wie Docker hier auf dem NAS arbeitet auch mein Unifi AC Pro. Der holt sich selbst eine IP von DHCP und reicht diesen dann an alle WLAN Clients durch. Da gab es auch noch keine Dopplungen.

    Das MacVlan habe ich ja nach TUT angelegt. Nur die Vorlage habe ich dann im Nachgang wieder gelöscht. Braucht man ja nicht mehr. :saint:

    Dass das NAS den DNS von AdGard nicht mag bzw. nicht benötigt, liegt auf der Hand. Da habe ich nicht weit genug gedacht... nur das NAS am Fritz-DNS ist ja okay. Die Container holen sich alle brav die IP vom DHCP inkl. AdGuard DNS Adresse. Das passt für mich dann so.

    Ich komme ursprünglich von einer Proxmox Umgebung. Habe aktuell noch ein knapp 15 Jahre altes QNAP NAS am laufen und wollte dank potenter Hardware auf uGreen umsteigen bzw. bin ja mittendrin. Da muss ich halt ab und an noch ein wenig umdenken. Ich hoffe du verzeihst mir das.

    VG Uli

  • Hat Adguard halt so beschlossen und ist der Standardwert dafür geworden.

    Kann aber auch geändert werden.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!