Synology DNS-Server mit AdGuard - Problem openvswitch

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Guten Abend,

Zur Hardware: Siehe Signatur.

Ziel meiner Bemühungen:
Jede DNS-Abfrage in meinem lokalen Netzwerk soll folgendermaßen ablaufen:
Client->Synology DNS-Server->AdGuard Home->unbound->Internet
Setup:
Auf der 218+ ist der VMM installiert, weil ich da zum Testen ein vDSM6 am Laufen habe.
unbound und AdGuard haben jeweils eine eigene IP via macvlan. Das habe ich mit dem Docker-Container Portainer angelegt. Bereits bis hierhin musste ich einen Stolperstein überwinden: Der Container lässt sich nicht starten: "Netzwerk-Interface eth0 ist ausgelastet". Nach langem Recherchieren und Probieren fand ich heraus, dass der VMM (bzw openvswitch) das Problen auslöst. Mit deinstalliertem VMM und deaktivertem openvswitch trat das Problem nicht auf. Workaround: Das macvlan auf dem openvswitch-Interface erstellen (ovs_eth0).
Der DNS-Server ist konfiguriert mit Forwarding auf den AdGuard-Container, bei dem wiederum der unbound-Container als Upstream-DNS-Server eingestellt ist.

Problem:
Der DNS-Server kann keine Anfragen an den AdGuard-Container stellen.
Also:
Client->AdGuard->unbound funktioniert
Client->DNS-Server->AdGuard->unbound geht nicht
nslookup kann Anfragen an den AdGuard-Container stellen, aber Anfragen an den DNS-Server enden in einem Timeout.

Testweise von AdGuard auf pihole gewechselt (gleiches Setup) -> geht auch nicht
mit deinstalliertem VMM -> geht
DNS-Server auf 720+ (auch mit aktivem VMM) verlegt (alles andere weiterhin auf der 218+) -> geht
Alles außer den DNS-Server auf die 720+ verlegt -> geht
Ganzes Setup auf die 720+ verlegt -> geht nicht

Meine Schlussfolgerung daraus ist: Der openvswitch verhindert, dass DSM-Pakete mit Docker-Containern auf der gleichen DS (via macvlan) kommunizieren können.
Ich wollte aber unbedingt alles nutzen und zwar auf einer DS, nicht einen Teil davon auf der 720+ und den anderen auf der 218+.
Also habe ich den zweiten Workaround gebastelt:
Die Docker-Container laufen auf der 218+ und der DNS-Server läuft im vDSM6 auf der 218+ -> funktioniert
Ist aber trotzdem etwas unschön.

Vielleicht hat jemand noch andere Meinungen/Erfahrungen/Ideen zu dem Thema. Oder dem Ein oder Anderen helfen meine Workarounds weiter.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Mittlerweile habe ich herausgefunden, dass die Lösung des Problems irgendwo hier begraben liegt. Weiter bin ich noch nicht gekommen. Also scheint das wohl doch nichts mit openvswitch zu tun haben, sondern mit dem Docker macvlan Prinzip.
 

faxxe

Benutzer
Mitglied seit
22. Nov 2007
Beiträge
228
Punkte für Reaktionen
56
Punkte
34
Definitiv. Der Host auf dem der Docker läuft kann nicht auf die MacVlan IP zugreifen. Ist ein "Feature" vom Linux des Host.
Wobei ich diese Parent Geschichte auch mal verwendet habe und damit funktionierts dann. Zugriffe des Host erscheinen dann in Pihole oder AdGuard per Parent IP.

-faxxe
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Ich habe die Anleitung (in Post #2 verlinkt) mehrmals getestet und es endet immer mit einer Fehlermeldung beim "letzten Befehl". Egal ob ich vorher iplink up oder ifconfig up verwende:
Screenshot 2022-02-16 192434.png
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Ich muss hier noch mal kurz erfreuliche Nachrichten verkünden: Ich hab es mittlerweile geschafft!
Vorher hatte ich einen "Dummheitsfehler" gemacht. Und zwar hatte ich in dem Befehl die falsche IP-Route gesetzt. Dabei handelte es sich um den adguard des anderen Servers :cautious:
Nun funzt alles:
Screenshot 2022-08-05 165925.png

EDIT: hier noch ein paar weitere Links zum Nachlesen:
https://www.linuxtechi.com/create-use-macvlan-network-in-docker/
https://www.networkshinobi.com/docker-host-cant-access-containers-running-on-macvlan/
https://stackoverflow.com/questions/63203538/docker-macvlan-no-route-to-host-container
https://www.cyberciti.biz/faq/ip-route-add-network-command-for-linux-explained/
https://blog.thelazyfox.xyz/give-access-to-host-from-docker-containers-macvlan/
 
Zuletzt bearbeitet:


 

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