OPNSense soll Services übernehmen

Started by 0zzy, October 04, 2023, 10:07:52 AM

Previous topic - Next topic
October 04, 2023, 10:07:52 AM Last Edit: October 04, 2023, 10:20:59 AM by 0zzy
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.
Protectli FW4B
Intel J6412 4 cores
4x Intel I225-V 2,5 Gbit/s
16 GB memory
480 GB m.2 SATA SSD storage
Coreboot

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".

October 04, 2023, 01:05:57 PM #3 Last Edit: October 04, 2023, 01:12:52 PM by 0zzy
@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.

Protectli FW4B
Intel J6412 4 cores
4x Intel I225-V 2,5 Gbit/s
16 GB memory
480 GB m.2 SATA SSD storage
Coreboot

@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.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

October 04, 2023, 01:17:41 PM #5 Last Edit: October 04, 2023, 01:20:38 PM by 0zzy
@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?


Protectli FW4B
Intel J6412 4 cores
4x Intel I225-V 2,5 Gbit/s
16 GB memory
480 GB m.2 SATA SSD storage
Coreboot

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.

October 04, 2023, 02:45:10 PM #7 Last Edit: October 04, 2023, 03:01:40 PM by 0zzy
@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)
Protectli FW4B
Intel J6412 4 cores
4x Intel I225-V 2,5 Gbit/s
16 GB memory
480 GB m.2 SATA SSD storage
Coreboot

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.
Protectli FW4B
Intel J6412 4 cores
4x Intel I225-V 2,5 Gbit/s
16 GB memory
480 GB m.2 SATA SSD storage
Coreboot

October 04, 2023, 03:18:39 PM #9 Last Edit: October 04, 2023, 03:24:19 PM by 0zzy
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.
Protectli FW4B
Intel J6412 4 cores
4x Intel I225-V 2,5 Gbit/s
16 GB memory
480 GB m.2 SATA SSD storage
Coreboot

October 04, 2023, 05:42:04 PM #10 Last Edit: October 04, 2023, 05:48:18 PM by Tuxtom007
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.

October 04, 2023, 05:57:32 PM #11 Last Edit: October 04, 2023, 06:18:12 PM by 0zzy
@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?
Protectli FW4B
Intel J6412 4 cores
4x Intel I225-V 2,5 Gbit/s
16 GB memory
480 GB m.2 SATA SSD storage
Coreboot

Was läuft den als DNS-Server auf deiner OPNSense auf Port 53 ?

October 04, 2023, 07:11:21 PM #13 Last Edit: October 04, 2023, 07:13:22 PM by 0zzy
@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...
Protectli FW4B
Intel J6412 4 cores
4x Intel I225-V 2,5 Gbit/s
16 GB memory
480 GB m.2 SATA SSD storage
Coreboot

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 ?