Best Practice: AdGuard Home & unbound als DNS-Server

Ich habe den Fehler gefunden. Vielleicht hilft es dem ein oder anderen.
In meinem Netz habe ich bestimmten Clients in den Netzwerkeinstellungen des OS fest zugewiesene
IPs vergeben. Ich hatte nicht auf dem Schirm, dass dadurch DHCP komplett ausgehebelt wird, d.h. der DNS Server nicht mehr mitgeteilt / durchgereicht wird. Die Lösung war: Die IPs weiterhin über DHCP zu verteilen, aber in der FritzBox bei den entsprechenden Clients "immer diese IP vergeben" anzuhaken.
Jetzt klappt alles und alle local names werden problemlos aufgelöst.
 
  • Like
Reaktionen: mj084 und *kw*
Hey, ich hab alles genau nach der Anleitung gemacht. Adguard läuft auch problemlos. Aber unbound will einfach nicht. Ich habe den Unbound ordner auch für "everyone" mit Lesen/Schreiben freigegben, so das ich den Fehler noch weniger verstehe:
[TABLE] [TR] [TD]2024/08/03 22:55:28[/TD] [TD]stderr[/TD] [TD][1722718528] unbound[1:0] fatal error: Could not read config file: /opt/unbound/etc/unbound/unbound.conf. Maybe try unbound -dd, it stays on the commandline to see more errors, or unbound-checkconf[/TD] [/TR] [TR] [TD]2024/08/03 22:55:28[/TD] [TD]stderr[/TD] [TD]read /opt/unbound/etc/unbound/unbound.conf failed: 1 errors in configuration file[/TD] [/TR] [TR] [TD]2024/08/03 22:55:28[/TD] [TD]stderr[/TD] [TD]/opt/unbound/etc/unbound/unbound.conf:56: error: unknown keyword 'allow'[/TD] [/TR] [TR] [TD]2024/08/03 22:55:22[/TD] [TD]stderr[/TD] [TD][1722718522] unbound[1:0] fatal error: Could not read config file: /opt/unbound/etc/unbound/unbound.conf. Maybe try unbound -dd, it stays on the commandline to see more errors, or unbound-checkconf[/TD] [/TR] [TR] [TD]2024/08/03 22:55:22[/TD] [TD]stderr[/TD] [TD]read /opt/unbound/etc/unbound/unbound.conf failed: 1 errors in configuration file[/TD] [/TR] [TR] [TD]2024/08/03 22:55:22[/TD] [TD]stderr[/TD] [TD]/opt/unbound/etc/unbound/unbound.conf:56: error: unknown keyword 'allow'[/TD] [/TR] [/TABLE]

Vielleicht weiß einer von euch die Lösung.. ich weiß nicht mehr weiter...
 
Okay, habs jetzt hinbekommen. Ich habe alle Dateien einzeln gemountet (so musste ich auch keine Everyone rechte an dem Ordner geben).
Mit meiner DS216+ mit 8GB Ram musste ich auf 1.18.0 gehen, alle neueren Versionen haben einen Kernel Error gegeben.

Hier meine funktionierene YAML:

YAML:
version: "3"
services:
  unbound:
    container_name: unbound
    image: mvance/unbound:1.18.0
    network_mode: "host"
    restart: always
    volumes:
      - /volume1/docker/unbound/data:/opt/unbound/etc/unbound:rw
      - /volume1/docker/unbound/data/a-records.conf:/opt/unbound/etc/unbound/a-records.conf:rw
      - /volume1/docker/unbound/data/forward-records.conf:/opt/unbound/etc/unbound/forward-records.conf:rw
      - /volume1/docker/unbound/data/root.hints:/opt/unbound/etc/unbound/root.hints:rw
      - /volume1/docker/unbound/data/srv-records.conf:/opt/unbound/etc/unbound/srv-records.conf:rw
      - /volume1/docker/unbound/data/unbound.conf:/opt/unbound/etc/unbound/unbound.conf:rw
      - /volume1/docker/unbound/data/unbound.log:/opt/unbound/etc/unbound/unbound.log:rw
      - /volume1/docker/unbound/data/auth-zone/root.zone:/opt/unbound/etc/unbound/auth-zone/root.zone:rw
      - /volume1/docker/unbound/data/auth-zone:/opt/unbound/etc/unbound/auth-zone:rw
 
Ich hatte es gestern mal Probiert, aber da gabs errors mit den zones etc. Aber war gestern auch völlig übermüdet. Ich werd es mir nochmal anschauen.
 
Zuletzt bearbeitet von einem Moderator:
  • Like
Reaktionen: mj084
@PumbaLP

Warum nimmst du nicht das Image von madnuttah?
Da musst du auch nicht auf einer alten Version "hängen" bleiben...

https://github.com/madnuttah/unbound-docker
Ich bekomme es einfach nicht zum laufen ^^ Langsam komm ich mir echt doof vor.

Code:
2024/08/04 14:21:52,stderr,/usr/local/unbound/sbin/unbound.sh: exec: line 45: /usr/local/unbound/unbound.d/sbin/unbound: Permission denied

2024/08/04 14:21:52,stderr,/usr/local/unbound/sbin/unbound.sh: line 44: /usr/local/unbound/unbound.d/sbin/unbound-anchor: not found

Ab da kommt er in einem Bootloop rein.

Meine YAML:
YAML:
version: "3"
services:
  unbound:
    container_name: Unbound-test
    image: madnuttah/unbound:latest
    ports:
      - 5335:5335/tcp
      - 5335:5335/udp
    volumes:
      - /volume1/docker/unbound-test:/usr/local/unbound/:rw
      - /volume1/docker/unbound-test/sbin:/usr/local/unbound/sbin:rw
      - /volume1/docker/unbound-test/sbin:/usr/local/unbound/unbound.d/sbin:rw
      - /volume1/docker/unbound-test/unbound.conf:/usr/local/unbound/unbound.d/sbin/unbound/unbound.conf:rw
      - /volume1/docker/unbound-test/log.d/unbound.log:/usr/local/unbound//unbound.log:rw
      - /volume1/docker/unbound-test/iana.d/root.zone:/usr/local/unbound/unbound.d/sbin/unbound-anchor/root.zone:rw
      - /volume1/docker/unbound-test/zones.d:/usr/local/unbound//auth-zone:rw
      - /volume1/docker/unbound-test/unbound.sh:/usr/local/unbound/sbin/unbound.sh:rw
      - /volume1/docker/unbound-test/healthcheck.sh:/usr/local/unbound/sbin//healthcheck.sh:rw
    network_mode: host
    environment:
      - UNBOUND_UID=1028
      - UNBOUND_GID=100
      - TZ=Europe/Berlin
    restart: always
    healthcheck:
      test: /usr/local/unbound/sbin/healthcheck.sh
      interval: 60s
      retries: 5
      start_period: 15s
      timeout: 30s
 
Hab es hinbekommen und läuft einwandfrei!

Screenshot 2024-08-04 173114.png
Hier die Ordner struktur.

Die entsprechende YAML:

YAML:
version: "3"
services:
  unbound:
    container_name: unbound
    image: madnuttah/unbound:latest
    ports:
      - 5335:5335/tcp
      - 5335:5335/udp
    volumes:
      - /volume1/docker/unbound/unbound.conf:/usr/local/unbound/unbound.conf:rw
      - /volume1/docker/unbound/conf.d/:/usr/local/unbound/conf.d/:rw
      - /volume1/docker/unbound/iana.d/:/usr/local/unbound/iana.d/:rw
      - /volume1/docker/unbound/log.d/unbound.log:/usr/local/unbound/log.d/unbound.log:rw
      - /volume1/docker/unbound/zones.d/:/usr/local/unbound/zones.d/:rw
    network_mode: host
    environment:
      - UNBOUND_UID=1028
      - UNBOUND_GID=100
      - TZ=Europe/Berlin
    restart: always
    healthcheck:
      test: /usr/local/unbound/sbin/healthcheck.sh
      interval: 60s
      retries: 5
      start_period: 15s
      timeout: 30s

So kann man es aktuell halten und muss nicht auf einer "alten" Version bleiben. Top!

Hab mal das alles zusammen gepackt nach meiner Configuration, und darin ist eine unbound-stack.yaml die alles fertig hat. Man muss Lediglich seine UID anpassen (WICHTIG!) und die IP's in den Configs die zugriff haben sollen, sonst wird der Zugriff von Unbound selbst unterbunden. Viel Spaß!
 

Anhänge

Zuletzt bearbeitet:
  • Like
Reaktionen: _Stevie_ und mj084
Hallo zusammen,

ich habe unterdessen meine MacVlan Konfiguration aufgelöst und alles in Bridge-Netzwerke gepackt. Danke für die Empfehlung @plang.pl!

Adguard und Unbound laufen nun auf dem Host.
Was mir nicht gefällt, ist, dass nun alle Anfragen aus den Containern in Adguard unter der Fritzbox erfasst werden. Gibt es eine Möglichkeit, dass ich diese Anfragen mit der IP der Container im Bridge Netzwerk ausgegeben bekomme?

Edit: Ich habe nun gesehen, dass die Fritzbox gar keine DNS-Anfragen ausgibt. Die Frage bleibt: Kann man die Anfragen aus den Containern mit der Container IP sichtbar machen?
 
Was mir nicht gefällt, ist, dass nun alle Anfragen aus den Containern in Adguard unter der Fritzbox erfasst werden. Gibt es eine Möglichkeit, dass ich diese Anfragen mit der IP der Container im Bridge Netzwerk ausgegeben bekomme?

Edit: Ich habe nun gesehen, dass die Fritzbox gar keine DNS-Anfragen ausgibt. Die Frage bleibt: Kann man die Anfragen aus den Containern mit der Container IP sichtbar machen?
Ohne konkrete Infos kann hier keiner helfen...
DNS-Anfragen ausgibt? Was soll damit gemeint sein?
 
@mj084 Da habe ich mich tatsächlich unklar ausgedrückt. Ich werde später noch einmal genauer beschreiben, was ich meine.
 
  • Like
Reaktionen: mj084
___deleted____
 
Zuletzt bearbeitet:
Bei mir wird keine Werbung blockiert. Muss ich da noch was einstellen, oder habe ich es falsch konfiguriert?
 
Blocklisten hast du hinzugefügt und deine Clients nutzen den Adguard auch als DNS Server?
 
Zuletzt bearbeitet von einem Moderator:
1723837314299.png
 
Ich weiß jetzt, was ich falsch gemacht habe. Ich habe unter Schritt 5.1 als bevorzugte DNS-Adresse die 10.10.1.39 eingetragen.....dass das nur ein Beispiel ist, war mir nicht bewusst. Um also diese bevorzugte DNS-Adresse herauszufinden ist der "Test" nötig?

Bei mir sieht das nslookup meiner DS auf der Adresse 192.168.18.10 so aus....

Code:
Last login: Fri Aug 16 23:55:04 on ttys000
dirkziegler@MBP-von-Dirk-2 ~ % nslookup
> 192.168.18.10
Server:        192.168.18.1
Address:    192.168.18.1#53
10.18.168.192.in-addr.arpa    name = Synology-NAS.fritz.box.

Welche Adresse ist jetzt die DNS-Adresse, die ich bei DNS4 auf der FritzBox eintragen muss?
 
Die vom internen AdGuard-Server…
 
Ich habe es jetzt hinbekommen. Auf meinem MacBook wird die Werbung auf YouTube erfolgreich geblockt. Auf meinem iPhone (verbunden mit meinem Heimnetz wie der MacBook auch) jedoch nicht. Es müsste doch eigentlich da auch funktionieren!? Das ist ja der Grund, weshalb ich den AdGuard-Server installiert habe, damit ich auch auf dem Smartphone die Werbung raus habe.

EDIT: Ok, scheint wohl bei Apps außer Internetbrowsern nicht zu funktionieren....YouTube dann über Chrome auf dem iPhone nutzen....dann geht es.
 
Zuletzt bearbeitet:
Adguard kann keine Werbung in Youtube Videos blocken....
Mit deinen IPs kann dir niemand wirklich helfen, weil niemand weiß welches Gerät welche IP hat und wie dein Aufbau ist. Da musst du dich mit den Basics selber befassen.
 
Bist du sicher, dass das iPhone den AdGuard-Server tatsächlich benutzt?
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat