Bitte nicht steinigen - DNS mit Adblock und lok. Domain sinnvoll konfigurieren

Started by wegi, February 06, 2022, 01:28:13 PM

Previous topic - Next topic
Hallo zusammen,

das Thema opnsense ist neu für mich und ich verliere mich gerade völlig dabei, folgendes zu erreichen:

- Ich habe eine opnsense als Router zwischen Kabelmodem und LAN installiert.
- Ich möchte lokale Ressourcen via lokalem DNS-Server auflösen und habe eine entsprechend DNS-Zone auf einer Synology eingerichtet. (+ Slave-Zone auf 2. Synology)
- Ich möchte einen netzwerkweiten Ad-Blocker nutzen und kann entweder Adguard Home oder Pi-Hole dazu verwenden

Bevor ich die Sense eingebaut haben, lief mein DHCP Server ebenfalls auf der Synology und hat den Clients die IP eines Ad-Blockers (Adguard-Home) als DNS-Server mitgegeben. In Adguard habe ich ein Conditional Forwaring der lokalen DNS-Domain Richtung lokalem Synology DNS eingerichtet und alles andere an einen Unbound geschickt. Somit war es möglich, lokale Namen aufzulösen und den Rest über Unbound abzufackeln.

Genau das klappt jetzt nicht mehr...

Mit der opnsense-Installation habe ich DHCP auf die sense verlagert und auch wieder die IP des Adgaurds an die Clients übermittelt. Leider wird - warum auch immer - ein IPv6 DNS Server verteilt, der auf die Sense selber zeigt. Den nutzen die Clients mit Vorrang und damit funktioniert die Auflösung der lokalen Domain und das Ad-Blocking nicht mehr, weil Adguard umgangen wird. Offenbar "reden" die Clients mit dem Unbound, der standardmäßig auf der Sense aktiv ist.

Ich bin mit nichts verheiratet und kann gern alles neu bauen, falls das so eine Sackgasse ist.... Was wäre ein gutes Design, um das "richtig" zu bauen? Ich finde etliche ähnliche Fragen, aber blicke echt nicht mehr durch bei den Antworten, zumal diese oft tiefe Kenntnisse zu opnsense voraussetzen.

Ich weiß, dass ist ein Expertenforum und ich bin auf Noob-Level unterwegs. Hoffe, man kann mir trotzdem helfen. Bitte killt mich nicht...








P.S.:  Mit "nicht verheiratet" wollte ich zum Ausdruck bringen, das ich auch gerne ein gänzlich anderes Setup aufbaue, wenn es sinnvoller ist. "Grüne Wiese" ist also eine Option!

Ich kann dafür Docker-Container auf der Synology verwenden oder LXC-Container, bzw. VMs auf dem Proxmox Host einrichten, der auch auch die Opensense beheimatet. Ein Raspi 4 wäre ansonsten (als Fallback oder so) auch verfügbar.

Installiere doch adguard Home per opnsense plugin direkt auf der Maschine, wo auch opnsense läuft. Dafür musst du das Community Repo in der opnsense einrichten.
Den unbound der sense verlegst du auf den Port 53053 und trägst diesen als upstream DNS in adguard ein.
Die Ip der opnsense Maschine wird dann automatisch per dhcp verteilt und adguard lauscht auf allen interfaces auf DNS Anfragen das klappt auch mit ipv6.

Hallo,

wie heisst das adguard plugin den ? - weil als adguard finde ich das nichts in der Pluginliste.

AdGuard Home kann man direkt auf dem FreeBSD installieren, aber direkt auf der Betriebssystemshell. Als Plugin währe natürlich die saubere Lösung.
Ich würde auch gerne meine PiHoles in Rente schicken und das ganze direkt uaf der OPNSense laufen lassen, damit IPv6 funktioniert.


Quote from: avanix on February 06, 2022, 02:59:21 PM
Installiere doch adguard Home per opnsense plugin direkt auf der Maschine, wo auch opnsense läuft. Dafür musst du das Community Repo in der opnsense einrichten.
Den unbound der sense verlegst du auf den Port 53053 und trägst diesen als upstream DNS in adguard ein.
Die Ip der opnsense Maschine wird dann automatisch per dhcp verteilt und adguard lauscht auf allen interfaces auf DNS Anfragen das klappt auch mit ipv6.

Hey, Danke für den Tipp. Das probiere ich aus. Ich hatte schon eine recht komplizierte Anleitung gefunden, bei der es jemand anders herum einrichtet (Client an Unbound, Unbound an Adguard Home, von da ins Netz)Dein Ansatz erscheint mir logischer/weniger komplex. Oder gibt es gute Gründe, es so rum einzurichten? Hier der Artikel.
https://forums.torguard.net/index.php?/topic/2545-opnsense-adguardhome-total-control-mode-doq/

Hallo @wegi,

https://forum.opnsense.org/index.php?topic=22162.0
in dem ersten Post ist eine kleine Anleitung. Ab "Setup for using AdGuard via the OPNsense community repo
" wird es interessant.
In dem ganzen Thread steht auch noch mehr drin, z.B. welche rules es alles benötigt um wirklich alles, auch hard coded DNS, über AdGuard und Unbound zu schicken. Habe dadurch mein Pi-Hole in Rente schicken können und habe nun alles gebündelt auf dem Router laufen.

Gruß Chris
XSK NUC Intel Celeron J3160 aka Protectli FW4B, 8GB RAM
OPNsense 22.1

Quote from: KHE on February 06, 2022, 09:07:05 PM
Hi,
du must das Repository von mimugmail hinzufügen. Schau mal da:
Ok, danke für die Infos, werde ich mir mal vornehmen.

Hey! Ich bin schwer begeistert, wie hilfsbereit das Forum ist. Danke an alle, die hier Tipps geben.

Ich habe gestern Nacht meine opnsense neu installiert und den DNSResolver im Setup-Wizard abgewählt. So kommt es schon mal nicht mehr zu dem ungewollten IPv6 DNS Server Eintrag über DHCP und mein bisheriger Adguard DNS auf der Synology erledigt das Conditional Forwarding für die lokale DNS Zone. Also ist zumindest der funktionale Stand vor Installation der Sense wieder gegeben.

Werde morgen Nacht das Projekt Adguard auf der Firewall angehen (diesmal sichere ich das System VORHER... :-X) Der "alte" Adguard DNS bleibt dann als Backup bestehen und wird als 2. DNS per DHCP verteilt.

Die Anleitung ist sehr gut - Danke dafür.

AdGuard läuft bereits bei mir auf der OPNSense und an den beiden PiHole kommen kaum noch Anfragen an.
Nur die Auflösung der lokalen Hostnamen will noch nicht so ganz, da muss ich nochmal nachsehen, ob ich was übersehen habe.

Bei mir funktioniert das leider auch nicht mit den Hostnamen. In meinem Fall vermute ich, dass es mit den Regeln zusammenhängt, um den ganzen Traffic an AdGuard zu erzwingen.
Ich habe bei mir die ganzen Clients händisch in AdGuard angelegt, nicht schön funktioniert aber.

Falls du es hinbekommen solltest, dokumentiere bitte deinen Weg hier im Thread. Wäre sehr daran interessiert.
XSK NUC Intel Celeron J3160 aka Protectli FW4B, 8GB RAM
OPNsense 22.1

Ich habe das Ganze nach ChrisChros Anleitung eingerichet. Läuft :-)

@Toxtom007: Habe einen lokalen DNS-Server (mit Reverse Lookup Zone) für die wichtigen lokalen Hostnamen eingerichtet... In Adguard werden die Namen korrekt angezeigt, wenn ich in Adguard unter "Settings" --> "DNS" --> "Private reverse DNS servers" eben diesen lokalen DNS Server eintrage. Vielleicht hilft dir das ja.

ach ja: Die Forward Auflösung klappt auch mit [/%domain%/]%ip_lokaler_dns-server% im Bereich Upstream DNS Servers

Fazit: Alles geklärt, alles läuft wie erhofft. DANKE!!!

HAllo,

ich habs auch nach der obigen Anleitung eingerichtet, inkl. Unbound und der FW-Regeln aber auch mit aktiven IPv6.

Die Anfragen zu lokalen Hostnamen werden werden von Adguard an Unbound weitergeleitet, aber der fragt den Internet-DNS an, sollte die aber selber beantworten auf Basis der DHCP-Daten.

Da muss ich heute abend noch mal in Ruhe nach sehen, derzeit hab ich keine Idee, was das sein kann oder vielleicht noch fehlt.

Auch wenn ich die Host in Adguard eintrage, funktioniert es nicht, vermuttlich auch wegen IPv6, weil ich ja statische IPv6 Adresse für die Clients habe, sondern DHCPv6.

EDIT ich hab noch ein weiteres Problem, bekomme die Laufwerke meiner NAS nicht mehr am MacBook gemountet, selbst dann nicht, wenn ich die IP eintrage.

Hab Adguard / Unbound gerade deaktiviert und Pihole wieder aktiviert, schon funktioniert es wieder.

Hallo,

ich glaube, es funktioniert nun bei mir

- AdGuard auf OPNSense
- Unbound auf OPNSense
- DHCPv4 und v6 aktiv

in unbound:
- "DHCP Leases registrieren" aktiviert
- "Statische DHCP Zuordnungen registrieren" aktiviert
- "Registriere IPv6 link-local Adressen" aktiviert

in Adguard:
- Upstream, Bootstrap und Private inverse DNS-Server auf 127.0.0.1:5353 ( unbound )

in OPNSense selber
- in DHCPv4/v6:  kein DNS eingetragen
- System -> Einstellungen -> Allgemein:  keine DNS eingetragen
- diverse VLAN sind eingerichtet
- DHCPv6:  ::8000:0000:0000:0000 - ::ffff:ffff:ffff:ffff  als DHCP-Pool
- Dyn. DNS:  "Registrierung von DHCP-Clientnamen im DNS aktivieren" aktiviert, ohne weiteren Eintrag

- DHCPv4:  .129 - .254 als DHCP-Pool, teilweise DHCP-Reservierung pro VLAN im Bereich .10 bis .128
- NAT-Regeln für Port 53 auf Adguard ( IPv4 + IPV6 ) sind zwar eingerichtet aber derzeit alle deaktiviert

auf meine Linux-Büchsen antwortet der IPv4 DNS mit v4-Adressen, auf meine MAC der v6-DNS aber auch mit v4-Adressen im lokalen Netz.
Mal sehen wie sich das nach Ablauf der Leasetime ändert, hab die PiHole gerade mal ausgeschaltet, mein TV hat schon gemeckert, musste den Waipu-Stick rebooten, damit der den neuen DNS bekommt.

Dann werde ich noch testen, was passiert, wenn ich die NAT-Regeln aktivieren oder ob die obsolet sind.


EDIT: also nslookup bekommt auch reservierte v4 Adressen zurück von Geräten, die derzeit offline sind, also funktioniert die Übertragung von DHCP zu Unbound

Quote from: Tuxtom007 on February 09, 2022, 05:10:02 PM

- Dyn. DNS:  "Registrierung von DHCP-Clientnamen im DNS aktivieren" aktiviert, ohne weiteren Eintrag


Wo hast du das in OPNsense eingestellt?
Ich kann den Eintrag nirgends finden.
XSK NUC Intel Celeron J3160 aka Protectli FW4B, 8GB RAM
OPNsense 22.1