Moin zusammen,
folgendes nach dem ich Probleme hatte die OPNSense hinter die Fritz!Box zu schalten, aus diversen Gründen will ich das auch nicht bspw. die zunehmenden Sicherheitsprobleme an den Fritten.
Daher entschied ich mich für den weg des Modems (This is the Way!).
Aktuell bin ich darüber bzw. über die OPNSense online.
LAN und WAN sind eingerichtet.
Nun stehe ich vor folgendem dilemma:
In meiner alten Konfiguration übernahm ein Pihole folgende Services:
- DNS Content Filter --> wozu Pihole gedacht ist
- DNSCrypt Proxy
- Unbound DNS
Dies würde ich gern mit OPNSense nachbilden.
Auf der Sense ist Unbound bereits drauf, zusätzlich habe ich das Plugin os-dnscrypt-proxy installiert, adguard soll später folgen.
Nun stelle ich fest das nach der Einrichtung kein DNS verfügbar ist wenn ich in den General Settings meine DNS Adressen entferne.
Konfiguriert habe ich noch nichts da ich den part mit den Custom Options nicht so recht verstehe.
Wie bekomme ich den Spass nun ans laufen?
Kleine Randbemerkung:
natürlich habe ich es ausprobiert, doku gelesen und tutorials angeschaut sowie diverse blogs etc.
Problem ist wenn ich Unbound aktiviere und als Beispiel die Cloudflare DNS Settings in Unbound unter Query Forwarding konfiguriere, einfach nichts passiert.
ein nslookup server <meine sense ip> gibt immer port 53 zurück (eingestellt habe ich hier 53533), ich komme allerdings nicht aus dem lokalen netz.
Ich vermute das die standard settings hier nicht ausreichen.
Quote from: 0zzy on October 04, 2023, 10:07:52 AM
Auf der Sense ist Unbound bereits drauf, zusätzlich habe ich das Plugin os-dnscrypt-proxy installiert, adguard soll später folgen.
Nun stelle ich fest das nach der Einrichtung kein DNS verfügbar ist wenn ich in den General Settings meine DNS Adressen entferne.
Wei erzählst du deinen Clients den, welchen DNS die nutzen sollen oder welche IP-Adresse die bekommen.
Wenn du DHCP auf der OPNSense nutzt, muss du dort auch den DNS-Server für jedes Netz eintragen, den die Clients nutzen sollen.
Steht nichts drin. wird per Default das Gateway der OPNSense aus diesem Netzwerk benutzt, was aber dann voraussetzt, das auf der OPNSense auch eine DNS-Dienst läuft und auf Port 53 lauscht. Das kann Unbound sein, aber auch AdGuard in Kombination mit Unbound.
Der DNS-Eintrag unter General Settings ist nur für die OPNSense selber interessant.
Hallo,
über DHCP den DNS Server von Opnsense bekannt geben. Außerdem Port Forward für alles, was nicht an deinen DNS Server gerichtet ist, auf deinen DNS-Server. Hierzu gibt es diverse Diskussionen in den Foren "hairpin".
@Tuxtom007
Aktuell habe ich unter System:General nur 3 DNS IPs vergeben (Cloudflare, Quad9, Google).
Verstehe ich das richtig? Damit ich den DHCP dazu bewege Unbound zu nutzen muss ich also dem DHCP mitteilen worauf er zu hören hat.
Ich bin davon ausgegangen das nach entfernen des settings unter System:Settings das von Unbound übernommen wird.
D.h. wiederum die unter System:General gesetzte sind nur intern für die Sense selbst?
Also sage ich am DHCP nimm die IP der Sense richtig? Also da Unbound ja intern läuft müsste es 127.0.0.1#53 respektive mein selbst gesetzter Port sein.
Abgesehen davon habe ich aktuell nur ein Netz per DHCP (als einziger DHCP), um hier Missverständnissen aus dem Weg zu gehen und erst mal eine saubere Grundkonfig zu haben.
@meschmesch ist richtig bin auch bereits zig von denen durchgegangen hab das probiert. Allerdings stützen sich die Settings hier im Forum auf ältere OPNSense Versionen, ich nutze die aktuellste "OPNsense 23.7.5-amd64".
Damit bzw. schon vor der Version hat sich einiges an den Settings geändert so dass ich da nicht mehr durchblicke.
@0zzy, der DHCP-Server braucht kein DNS - es geht nicht um den Dienst selbst.
Der DHCP-Server muss den Clients in den einzelnen Netzen mitteilen, welchen DNS-Server sie benutzen sollen! Dazu musst du unter
Services > DHCPv4 > LAN (z.B.) die LAN-IP-Adresse der OPNsense als DNS-Server eintragen. Und am besten auch gleich noch deine interne Domain im entsprechenden Feld.
Und das für jedes Interface, in dem Clients per DHCP mit Adressen und Info versorgt werden.
@Patrick M. Hausen
natürlich benötigt DHCP das nicht muss das allerdings mitteilen, das mißverstandnis war da auf meiner Seite.
An der alten Fritte hab ich ja auch die DNS IP des PiHole eingetragen gehabt.
Hab ich völlig verplant, das ich das machen muss.
Manchmal bin ich einfach nicht ganz bei mir.
Reicht es dann wenn ich Query Forwarding konfigiere auf die entsprechenden DNS Server / IPs? oder muss ich die erweiterte Konfiguration (glaub es heisst Advanced Configurations im Wiki) nicht vornehmen oder doch?
Ich vermute dass es sich bei "Query Forwarding" um irgendwas bei Pihole handelt? Dann ehrlichgesagt keine Ahnung. Mein Vorschlag wäre, dass du mal Schritt für Schritt vorgehst anstatt alles auf einmal. Also, Pihole einrichten, ganz einfach ohne Schnickschnack. Dann Per DHCP wie von Patrick beschrieben den DNS-Server bekannt geben (die IP von Pihole). Wenn das tut, dann kannst du mit unbound und pihole in Kombination rumspielen. Und wenn das tut kannst du dich noch um die Firewall-Regeln bei Opnsese und Port-Forward mit Hairpin kümmern.
@meschmesch du hast mich mißverstanden.
Pihole ist nicht was ich möchte.
Ich gehe schon step by step vor. Sonst komme ich völlig durcheinander.
Nochmals was ich vor habe:
- ablösen des Pihole durch DNSCrypt Proxy + Unbound DNS + Adguard Home (Reihenfolge darf hier glaub ich nicht anders sein, wenn ich das richtig sehe)
- erstmal Unbound DNS konfigurieren, wenn das auf dem Port (da AGH, Unbound DNS undDNSCrypt Proxy auf dem selben port voreingestellt sind, eben anpassen, wenns läuft weitermachen,
Was ich nicht möchte: Pihole in der Config weiter betreiben, sondern alles unter einem Hut der Sense.
Also mein vorgehen wäre jetzt erst einmal (Probiere ich nachher):
- Unbound DNS konfigurieren, auf Port 53530
- Sense IP im LAN DHCP konfigurieren (<IP der Sense auf GW und DNS>)
wenn das läuft:
- Unbound deaktivieren,
- DNSCrypt konfigurieren auf port 53, entsprechende settings am unbound konfigurieren, wenn läuft weiter machen,
wenn das läuft:
-AGH konfigurieren auf Port 5353 (wahrscheinlich eher nicht da angeblich für mDNS reserviert?)
Die IP wäre hier immer der gleiche fürs LAN DHCP, die frage die sich mir dann stellt ist gebe ich den Port dann auch im LAN DHCP an oder woanders?
Abgesehen davon bin ich mir unsicher ob das der richtige ansatz ist.
Lasse mich da gern eines besseren belehren.
Alles unter einem Dach klingt für mich besser als auf verschiedenen Systemen rum zu hantieren.
Achso und warum unbound?
damit ich meinen eigenen cache habe und nicht immer alles aus dem Netz geladen werden muss.
Seit ich das auf dem piHole hatte möchte ich es nicht mehr missen, Seitenaufbau ist einfach wesentlich fixer als direkt immer über die Leitung zu fliegen (der Ping hier z.b. ist unterste Katastrophe)
Mal zum besseren Verständnis hier ein screenshot wo die DNS Konfiguration angeblich eingetragen werden sollen (siehe Anhang)
Ansonsten gibts ja nur noch (da in irgend einem release von OPNSense entfernt) die "Advanced Configurations" laut wiki.
so bin ein stück weiter.
Der vergebene Port in meinem fall für unbound dns funktioniert laut sockstat -4 -l
<senseip>:53533 ist aufgeführt.
Dann mach ich mich mal an den Proxy...
der tuts auch...
root dnscrypt-p 75355 7 udp4 127.0.0.1:5335
root dnscrypt-p 75355 8 tcp4 127.0.0.1:5335
Wenn alles stimmt was ich bisher gelesen habe ist es ja wie folgt:
Unbound ist der Upstream, DNSCrypt das Relay welches dinge filtert, AGH ist ähnlich zu Proxy allerdings mehr auf das blocken von unerwünschtem Werbungsgeraffel ausgelegt.
Quote from: 0zzy on October 04, 2023, 03:18:39 PM
Unbound ist der Upstream, DNSCrypt das Relay welches dinge filtert, AGH ist ähnlich zu Proxy allerdings mehr auf das blocken von unerwünschtem Werbungsgeraffel ausgelegt.
Ich hätte es anders gemacht:
- erst Adguard auf der OPNSense einrichten, wenn der dann läuft
- Unbound aktivieren auf Port 53053 und Unbound bei AdGuard als Upstream eintragen und das testen
- wenn das alles funktioniert, überlegen ob DNSCrypt notwendig ist und den einbauen.
Hier mal ein Screenshot meiner OPN aus dem DHCP-Server für ein VLAN, als DNS ist nichts eingetragen, damit nimmt die OPN direkt die Gateway-IP-Adresse diesem VLAN's als DNS-Server auf Port 53
Der Vorteil von AdGuard auf der OPN ist, das du dich dann auch bei IPv6 nicht mit dem ständig ändernden Prefixen rumärgern muss, weil dei Provider das so toll finden - DNS mit IPv6 erledigt der AdGuard über diesen Weg genauso gut.
Darauf lauscht der AdGuard und nimmt die Anfragen an.
Wenn du nun nen externe AdGuard oder PiHole nutzen willst ( ich hatte bis vor kurzen PiHole ), dann steht da natürlich dessen IP drin - Port ist immer 53
Kleine Tip noch zu AdGuard auf der OPN: Man kann zwar weiter Filterlisten eintragen, aber zu viel ist nicht gut, dann steigt der Adguard aus und filtert nicht mehr - die Erfahrungen hab ich gemacht.
@Tuxtom007
ist völlig egal wie ich es einrichte.
Ob nun AGH dann Unbound dann Proxy, oder jeweils nur ein service, da regt sich mal garnichts (außer mein Puls).
Unter DHCPv4 habe ich auch nun wie es sein soll die IP der Sense hinterlegt.
Juckt den Verkehr nicht, alles ist nach wie vor ungefiltert / ungecached.
Wie komme ich darauf? Ich hab das Logging wie zuvor auf dem Pihole auf maximum gesetzt, geil ist ich kann es direkt in der sense anschauen muss halt nicht das terminal befingern.
Also Loglevel auf full, alle Logs Aktiv, filter auf LAN und reply from --> völlige leere bei jeder anfrage.
DNS Leaktest ist auch am ausrasten....
Ich weiss echt nicht mehr weiter.
Was ich noch gefunden habe:
Use a nat reflection rule to force and redirect all DNS queries across your LAN to the Adguard!
ist das evtl. die Lösung?
Was läuft den als DNS-Server auf deiner OPNSense auf Port 53 ?
@Tuxtom007 es war die 1.1.1.1.
Ich bin meine ganzen Settings nun mal abfrühstücken gegangen, habe mit der unbound config verglichen die auf dem pihole ist.
Tadaa nun gehts.
Der einzige unterschied war auf pihole hab ich eine ältere version von unbound.
Wo musste ich die Geschichte verheiraten?
Services: Unbound DNS: DNS over TLS
dort die ips und gut war die Laube.
Bin ich damit einen schrittt weiter?
der Fehler war den standard port zu wechseln, ich glaub das mag unbound garnicht...
Quote from: 0zzy on October 04, 2023, 07:11:21 PM
der Fehler war den standard port zu wechseln, ich glaub das mag unbound garnicht...
auf welchem Port stand Unbound den vorher und worauf hast du den jetzt stehen ?
@Tuxtom007 es war der port 53530 (eigentlich sollte es gehen intern, war der selbe den ich aufm piloch konfiguriert hatte).
Wie gesagt egal was ich da setze bspw. auch 5353, exakt nach aktivieren/reload des dienstes und anschliessendem neu ip ziehen ist das netz futsch.
Kann es sein das das irgendwo hardcoded ist?
Deine Clients können keinen anderen Port als 53 verwenden - irgendetwas muss die Anfragen also auf diesem Port entgegennehmen und beantworten oder weiterleiten.
Quote from: 0zzy on October 04, 2023, 05:57:32 PM
ist völlig egal wie ich es einrichte.
Ob nun AGH dann Unbound dann Proxy, oder jeweils nur ein service, da regt sich mal garnichts (außer mein Puls).
Quote from: 0zzy on October 04, 2023, 05:57:32 PM
@Tuxtom007 es war der port 53530 (eigentlich sollte es gehen intern, war der selbe den ich aufm piloch konfiguriert hatte).
Wie gesagt egal was ich da setze bspw. auch 5353, exakt nach aktivieren/reload des dienstes und anschliessendem neu ip ziehen ist das netz futsch.
Kann es sein das das irgendwo hardcoded ist?
Warum hab ich wohl geschrieben, setze erst AdGuard auf, der hört auf Port 53 und dein DNS hätte funktioniert und alles andere dann danach.
Dein Client weiß nicht, das dein Unbound oder was auch immer auf Port 5353 oder sonstwas läuft, ist dem auch ziemlich egal.
@Tuxtom007
hatte ich ja auch probiert, das problem ist das Unbound schon beim start (bevor der wizard kommt) aktiv ist.
Habs mehrfach neu installiert, vorgehen immer das selbe:
- Installation nur mit LAN Interface, WAN wird später hinzugefügt (klar ohne kommst garnicht auf die webui),
- Nach Installation will ich das WAN Interface konfigurieren, schaue vorab auf die Services --> unbound schon aktiv, obwohl nichts eingestellt ist im Unbound.
Ich hatte mich schon gewundert, jegliche Anleitung im Netz besagt "hey aktiviere das", was in meinem fall garnicht nötig war.
Und den Adguard vorher aufsetzen bevor Irgendwas ne Verbindung hat, erweist sich als schwierig.
Es ist auch sehr auffallend das jegliche settings die cli seitig in unbound gesetzt werden ("Custom Config") nach einem reload des services zurückgesetzt werden.
Ist das so vorgesehen oder ein BUG?
Das ist so vorgesehen. Wie jede Appliance speichert das OPNsense-UI die Konfiguration in einer eigenen Datenbank ... ok, bei OPNsense ist es ein XML-File ... und generiert dann daraus die eigentlichen Konfigurationsdateien für die Dienste.
Also UI oder API aber niemals manuell - es gibt aber Ausnahmen, bei denen man eigene Konfigurationen in bestimmte Directories werfen kann. Die bleiben dann erhalten.
@Patrick M. Hausen
hab ich mir beinahe gedacht. Recherche im Forum bestätigt es siehe hier https://forum.opnsense.org/index.php?topic=35478.0 und https://forum.opnsense.org/index.php?topic=10670.msg172282#msg172282
Die art der Konfiguration ist neu für mich.
Für einen Tipp wäre ich dankbar denn einfach eine dns-crypt-forward.conf erstellen reicht hier nicht aus. Den letzten part
server:
Note duplicated server: at the end of the block
Verstehe ich nicht.
Da hab ich meinen Beitrag vorhin wohl nicht abgeschickt.
Kurz gesagt, ja wenn du OPN neu aufsetzt, ist unbound aktiv auf Port 53, wie es sich gehört und du kann darüber problems ins Internet als dem LAN, die OPN selber nutz die DNS-Server, welche unter System usw. eingestellt sind.
Meine Erfarhung ist und ich hab schon einige OPN aufgesetzt, das man nach der Installation die Wizzard durcharbeiten soll und alles ist gut und funktioniert.
Dann kannst du das Zusatz-Repository einbinden, AdGuard installieren, unbound deaktivieren, Adguard aktivieren und hast wieder DNS auf Port 53, dann stellst den Upstream-Server in Adguard auf den Unbound mit dem neuen Port 53053 und stellt den Port in Unbound ein, aktivierst den dann wieder, schon läuft es weiter.
Das ganze hab ich kürzlich beim TV-schauen gemacht und es hat nicht mal einen Ruckler im TV-Stream gebenen, also keinen Ausfall.
Wenn du dann noch dnscrypt nutzen willst, musst du den halt dann noch entsprechend dazwischen basteln.
@Tuxtom007 da hab ich mich wohl verlesen. Dachte ich habe begriffen was du sagen wolltest. Dem war aber nicht so.
Nun hab ich dnscrypt-proxy und unbound-dns am rennen.
Bedeutet wenn ich nun alles korrekt verstehe, der folgende weg sollte auch funktionieren:
- Unbound deaktivieren,
- dnscrypt-proxy deaktivieren,
dann:
AGH installieren dem den port 53 verpassen, jeweils in den beiden anderen services einen entsprechend gültig anderen und gut ist oder?
Ich sitz nun ne Woche an meinem ersten versuch, hab ne menge mitnehmen können (aufgrund trial & error (error=karnickelfangschlag von meinen lieben ;) )).
Irgendwann komm ich auch dahin das ich das aus dem ff mache. Aller Anfang ist schwer das weiss ich.
Ich muss trotzdem mal meinen dank an alle bisher beteiligten geben. Auch wenn manchmal nicht direkt ersichtlich, so sind die kleinen hinweise von euch zumindest für mich insoweit tragfähig das es mich (wieder mal) zum nachdenken animiert.
Kann ich aktuell, trotz leichtem Frust das es nicht auf anhieb klapp, echt gebrauchen.
Jupp läuft wie ich es mir vorgestellt habe.
Jetzt muss ich nur noch schauen das ich letsencrypt drauf bekomme und den https port 443 umgebogen bekomme.