OPNSense Teil 2: Unraid und AdGuard konfigurieren
Inhaltsverzeichnis:
Einleitung
Das ist Teil 2 zur Einrichtung der OPNSense hinter einer FRITZ!Box und die Einbindung von AdGuard für die zentrale DNS-Auflösung.
In diesem Artikel erkläre ich, wie man AdGuard home als Docker Container auf Unraid betreibt, das hinter einer OPNsense steht und per IPv6 eine feste IP-Adresse erhalten soll.
Was ist das Ziel?
Wir möchten unseren Clients per DHCPv6 einen festen DNS-Server zuweisen, um die Ad-Block Möglichkeit nicht nur per IPv4, sondern auch per IPv6 nutzen zu können.
Der AdGuard Container bekommt dabei eine feste IPv4-Adresse sowie eine feste ULA (Unique Local Address) zugewiesen, die auch über mehrere Subnetze (also VLANs) erreichbar ist.
Die Umgebung
In diesem Szenario haben wir einen Dual-Stack Internet-Anschluss von der Telekom. Vom Provider erhalten wir ein delegiertes IPv6-Subnet, das wir an unsere OPNsense weitergeben, und dahinter an die entspr. VLANs.
Es läuft bereits ein Server mit Unraid, auf dem ein AdGuard Container mit IPv4-Adresse (192.168.22.5) läuft.
Wir werden dem AdGuard Container jetzt noch zusätzlich eine IPv6-Adresse aus dem Bereich fdb8:003d:eb48:2::1/64 konfigurieren. Dies wurde in Teil 1 des HowTos konfiguriert. Das öffentliche Subnetz das wir von unserem ISP erhalten, ändert sich regelmäßig. Deswegen ist es nicht geeignet, dem AdGuard eine feste IP-Adresse zuzuweisen.
OPNSense konfigurieren
Firewall-Regel für Gäste-VLAN konfigurieren
Damit Clients aus dem Gast-VLAN (23) auch auf den AdGuard Container im VLAN22 zugreifen können, müssen wir noch eine entspr. Firewall-Regel erstellen.
In diesem Fall erstelle ich eine Regel, die sowohl IPv4 als auch IPv6 erlaubt.
Firewall > Rules [new] > VLAN23_Gast > Add
- Enabed
- Description: Erlaube Zugriff auf DNS
- Interface: VLAN23_Gast
- Quick
- Action: Pass
- Direction: In
- Version: IPv4+IPv6
- Protocol: TCP/UDP
- Invert Source
- Source: VLAN23_Gast network
- Source port: any
- Invert Destination
- Destination: <IPv4 und IPv6-Adresse des ADGuard Containers>
- Destination Port: Single port or range: 53
Unraid konfigurieren
VM Manager und Docker-Dienst stoppen
Damit Änderungen am Netzwerk gemacht werden können, müssen zuerst der VM Manager und der Docker-Dienst gestoppt werden:
- Settings > VM Manager > Enable VMs: No > APPLY
- Settings > Docker > Enable Docker: No > APPLY
IPv6 aktivieren
Damit sich der Unraid-Server IP-Adressen per IPv6 besorgt, müssen wir es entspr. aktivieren.
- Settings > Network Settings > Interface eth0
- Network protocol: IPv4 + IPv6
- IPv6 address assignment: Automatic
Wenn man anschließend auf den INFO-Button klickt, sieht man die zugewiesenen IP-Adressen. Hier sollte jetzt unser öffentliches Subnet 2003… und unser ULA-Subnet fdb8… auftauchen.
Docker-Dienst konfigurieren
-
Settings > Docker > “Advanced View” aktivieren
- IPv6 custom network on interface br0 (optional)
-
Enable Docker: Yes > Auf APPLY klicken
So sehen die Netzwerke in meiner Konstellation aus:

Hinweis: Das Interface br0.24 benutze ich für meine DMZ, es spielt für diese Anleitung keine Rolle.
VM Manager und Docker-Dienst starten
Anschließend können der VM Manager und der Docker-Dienst wieder gestartet werden:
- Settings > VM Manager > Enable VMs: Yes > Auf APPLY klicken
- Settings > Docker > Enable Docker: Yes > Auf APPLY klicken
ADGuard Container konfigurieren
Nun vergeben wir dem AdGuard Container eine feste IP-Adresse aus dem ULA-Bereich, den wir uns vorhin rausgesucht haben. Die IPv4-Adresse bleibt erhalten und wir fügen ihm nun eine zusätzliche IP hinzu.
- Docker > Auf den AdGuard-Home Container klicken > edit
- Fixed IP address (optional): 192.168.22.5, fdb8:3d:eb48:2:ffff::10
Unter diesen zwei IP-Adresse wird der AdGuard-Container dann also erreichbar sein. Damit die Clients das auch mitbekommen, müssen wir diese Adresse noch in der OPNsense im DHCPv4, bzw. in den Router Advertisements (IPv6) eintragen.
IP-Adresse vom AdGguard prüfen
Nun prüfen wir, ob der AdGuard Container wirklich auch die entspr. IP-Adresse erhalten hat.
- AdGuard Webinterface öffnen > Einrichtungsassistent
Hier sollte man nun neben vielen anderen Adressen auch unsere konfigurierten IPv4 und IPv6-Adressen sehen:
- 192.168.22.5
- fdb8:3d:eb48:1:ffff::10
- ggf. Weitere…
OPNSense: DNS-Server für IPv4 und IPv6 bekannt machen
Damit unsere Clients den DNS-Server (also die 192.168.22.5) auch anfragen, müssen wir ihn im DHCPv4 eintragen, sowie in den Router Advertisements für IPv6.
Im DHCPv4 hinterlegen
- Services > Dnsmasq DNS & DHCP > DHCP options > Auf das “+"-Symbol klicken
- Interface: VLAN22_Intern
- Type: Set
- Option: dns-server [6]
- Option6: none
- Tag: Nothing selected
- Value: 192.168.22.5
- Force
Danach nochmal auf das “+"-Symbol klicken und dasselbe für das VLAN23_Gast konfigurieren.
Damit bekommen unsere IPv4-Clients nun mit, dass sie sich bei DNS-Anfragen bei der 192.168.22.5 melden sollen.
Für IPv6 bekannt machen
Bei IPv6 machen wir das über die Router Advertisements, da wir hier keinen DHCPv6-Server haben.
- Services > Router Advertisements
- Hier das bestehende VLAN22_intern auswählen (haben wir in Teil 1 des HowTos bereits konfiguriert)
- Enabled
- “DNS Settings” aufklappen
- Recursive DNS Servers (RRDNS): fdb8:3d:eb48:2:ffff::10 (Die IP-Adresse des AdGuard Containers)
- DNS Search List (DNSSL): <Leer>
Danach nochmal auf das “+"-Symbol klicken und dasselbe für das VLAN23_Gast konfigurieren.
Verbindung prüfen
Jetzt kannst du dich mit einem beliebigen Client im entspr. VLAN einwählen und prüfen, welche IP-Adressen du erhalten hast. Im VLAN22 (Intern) sollten z.B. folgende Adressen vorhanden
- 2003:de:… (mind. eine, ggf. auch mehrere): Das ist die global gültige Adresse
- fdb8:003d:eb48:2:…: Das ist die ULA (Unique Local Address)
- fe80:…: Das ist die nicht routbare link-lokale Adresse
Prüfe die DNS-Auflösung auf eine beliebige externe Adresse, z.B. unter Linux:
nslookup heise.de
Die Anfrage sollte nun im AdGuard erscheinen. Die kannst du einsehen, wenn du dich an der Webseite anmeldest und auf das “Abfrageprotokoll” klickst.
Anmerkungen?
Wenn ihr Fragen oder Anmerkungen, Ideen habt - lasst es mich gerne über die Kommentare wissen. Ich musste mich mit IPv6 auch erst einmal ausgiebig beschäftigen, bevor ich das alles zum Laufen bekommen habe. Bestimmt gibt es da draußen Experten, die noch hilfreiche Hinweise haben.