Docker: Adguard Home --> Unbound als Upstream DNS

buzztee

Benutzer
Mitglied seit
21. Mai 2018
Beiträge
77
Punkte für Reaktionen
15
Punkte
14
Ich habe auf meiner DS918+ mit DSM 7.1 schon seit ner Weile Adguard Home als DNS in einem Docker Container laufen - AGH wird als Default DNS als alle Clients verteilt und das funktioniert auch prima.

Nun möchte ich gerne noch Unbound als Upstream DNS für AGH vorschalten und habe Unbound ebenfalls als Docker Container hochgezogen mit
docker run --name=my-unbound \
--detach=true \
--publish=5553:53/tcp \
--publish=5553:53/udp \
--restart=unless-stopped \
--volume=/xxxx/docker/unbound:/opt/unbound/etc/unbound/ \
mvance/unbound:latest


Wenn ich nun in AGH als Upstream DNS versuche Unbound mit 127.0.0.1:5553 (alternativ 192.168.100.xxx:5553 oder 172.17.x.y:5553) anzusprechen kommen in AGH unterschiedliche Fehlermeldungen:
2022/05/30 12:47:02.742425 [info] upstream "127.0.0.1:5553" fails to exchange: wrong response
2022/05/30 12:44:26.753520 [info] upstream "172.17.0.27:5553" fails to exchange: couldn't communicate with upstream: read udp 172.17.0.1:59195->172.17.0.27:5553: read: connection refused

2022/05/30 12:47:24.213132 [info] upstream "192.168.100.xxx:5553" fails to exchange: couldn't communicate with upstream: read udp 192.168.100.xxx:58078->192.168.100.xxx:5553: i/o timeout



Die Firewall der DS habe ich testweise deaktiviert, die spielt meines Erachtens nach keine Rolle. Testweise habe ich Unbound in Docker auf einem Pi installiert und versucht, AGH dahin zeigen zu lassen aber die Fehlermeldungen sind im Wesentlichen die gleichen.

Ich werd das Gefühl nicht los, hier etwas grundlegendes zu übersehen - wer hat nen Tipp?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
2022/05/30 12:47:02.742425 [info] upstream "127.0.0.1:5553" fails to exchange: wrong response
2022/05/30 12:44:26.753520 [info] upstream "172.17.0.27:5553" fails to exchange: couldn't communicate with upstream: read udp 172.17.0.1:59195->172.17.0.27:5553: read: connection refused
Ersteres kann nicht gehen: Localhost der Syno und Localhost jedes Containers sind nicht dasselbe (ausser die Container laufen im Host Netzwerk)
Zweiteres ist schon keine schlechte Idee, dann aber nicht mit der Container-IP, die sich spätestens beim update auf ein neues Image verändert. Beide Container gehören in ein selbst angelegtes Bridge-Netzwerk, dann kann AGH direkt den Name des Unbound-Containers verwenden mit dem Port der innerhalb des Conatiners läuft.

2022/05/30 12:47:24.213132 [info] upstream "192.168.100.xxx:5553" fails to exchange: couldn't communicate with upstream: read udp 192.168.100.xxx:58078->192.168.100.xxx:5553: i/o timeout
Wenn 192.168.100.xxx die IP vom NAS ist, dann sollte das eigentlich gehen - ist aber eigentlich eher für Nicht-Container gedacht, die über Published-Ports eines Containers über den Host-Port darauf zugreifen können wollen. Sonst mal die Firewall checken bzw. kurz deaktivieren.
 

buzztee

Benutzer
Mitglied seit
21. Mai 2018
Beiträge
77
Punkte für Reaktionen
15
Punkte
14
Ok, wenn ich Container-IP nehme muss ich natürlich auch nicht den externen Port 5553 verwenden, um an Unbound zu kommen --> Die Angabe der Container IP als Upstream DNS in Adguard Home allein (also ohne Port) funktioniert tatsächlich. Problemtisch ist eben die Tatsache,d ass diese IP ja wechseln kann.

Was ich noch nicht verstehe ich, warum ich von "außen" an den Container mit 192.168.100.xxx:5553 nicht dran komme. Die IP 192.168.100.xxx ist die DS selbst.
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
Doch du musst den Port angeben, da alles normal ja über den Port 53 abläuft.
Was das connecten von außen angeht, mit was willst du denn zugreifen? nicht jeder Docker hat ein Webif. Hast du das einmal mit SSH probiert?
Und ob du damit glücklich wirst bezweifle ich denn es ist ja keine "normale" Anfrage welche über den Port 53 gestellt wird.
 

buzztee

Benutzer
Mitglied seit
21. Mai 2018
Beiträge
77
Punkte für Reaktionen
15
Punkte
14
Ok, ich probiert mal weiter.
Ich hatte eben Erfolg wenn ich den Container direkt ins Host-Netz stelle und Unbound auf 5553 lauschen lasse und dann über die IP der DS mit 192.168.100.xxx:5553 anspreche. Ich muss mir nochmal überlegen ob es das ist was ich will.

Ich habe ein kombiniertes Docker-IMage doch AGH und Unbound gefunden, dass ich mir nochmal anschauen will:
https://github.com/lolgast1987/adguard-unbound

Evtl. muss ich mal schauen, ob ich mit Docker Compose die beiden Container als Stack laufen lasse - da habe ich noch keine Erfahrung mit und ich muss, dieses YAMl hatte ich vorhin gefunden und das schaue ich mir mal an.
version: "3"

services:
adguard:
depends_on:
- unbound
container_name: adguardhome
image: adguard/adguardhome
restart: unless-stopped
ports:
- "853:853"
- "
volumes:
- ./work:/opt/adguardhome/work
- ./config:/opt/adguardhome/conf

unbound:
container_name: unbound
restart: unless-stopped
image: klutchell/unbound
networks:
default:
ipv4_address: 172.20.0.250

networks:
default:
name: name_of_external_network
# ipam:
# config:
# - subnet: 172.20.0.1/24
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
Ich sehe dabei immer ein Problem mit dem aktualisieren... Ich würde es so aufsetzen.
 


 

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