OPNsense + AdGuard Home – Werbefrei, Trackerfrei und hinter einer guten Firewall

Mit dieser Anleitung kannst du AdGuard Home direkt auf deiner OPNsense installieren.
Dadurch sparen wir ein weiteres System, was uns die DNS-Anfragen zu Werbeplattformen, Trackern oder gar Malware blockiert.
So sind wir ein Stück sicherer und entnervter hinter unserer OPNsense Firewall.

Die Installation ist recht simpel, wir müssen aber uns via SSH auf der Firewall aufschalten.

Die Fragen, die sich wohl jeder stellt: Geht das auch mit Pi-Hole?
Aktueller Stand (20.02.2021): Nein! Pi-Hole ist für ein Linux-System geschrieben und nicht für FreeBSD. Daher können wir es leider nicht installieren. Vielleicht in der Zukunft irgendwann mal.

Legen wir los!

Als erstes kannst du natürlich ein Backup deines Systems anlegen! Falls etwas schief gehen sollte, kannst du immerhin ohne große Umwege deine Firewall neu aufsetzen.

1. Aktiviere den SSL-Zugang in den Einstellungen

System -> Einstellungen -> Verwaltung
=> Setze den Haken bei „Secure Shell Server“
=> Belasse den Port bei 22
=> Erlaube den root-Login
=> Erlaube den Login mit Passwort

2. Deaktiviere deinen aktuellen DNS-Server / ändere ihn ab

Ich empfehle den DNS-Server nicht abzuschalten, sondern den Port zu ändern.
Nutze unbound als DNS-Server und aktiviere diesen.
Ändere nur den Port von 53 auf einen anderen ab. Zum Beispiel Port 5335.
Wir können gleich unbound als Upstream-DNS eintragen und somit einen sehr performanten DNS-Server als Upstream nutzen.
Ändere diesen Punkt aber ERST, sobald der AdGuard Home-Download und die Installation durchgelaufen ist! Ansonsten klappt die Namensauflösung nicht mehr 😉

3. Schalte dich auf deine Firewall via SSH auf

Nutze dazu Putty oder einen anderen SSH-Client und logge dich mit deinem root-Account und dem dazu passenden Kennwort ein.
Wähle dann die Nr.8 für die Shell aus.

4. Zusatzsoftware installieren

Damit wir alles gut nutzen können, brauchen wir noch zwei Pakete. Einfach weils damit bequemer zu bedienen ist.
Also schnell ca_root_nss und nano installieren mit folgendem Befehl:

# pkg install nano ca_root_nss

5. AdGuard Home herunterladen und installieren

Wir wechseln zuerst in das Root-Verzeichnis:

# cd /

Legen dann einen neuen Ornder names opt an und wechseln in diesen:

# mkdir opt
# cd opt

Nun können wir entweder direkt AdGuardHome herunterladen oder es auf einem PC downloaden und z.B. via FileZilla oder WinSCP in das Verzeichnis schieben:

# fetch https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.105.1/AdGuardHome_freebsd_amd64.tar.gz

=> Ersetze den Link gegen den aktuellsten von GitHub! Somit hast du die neueste Version installiert!
Wir entpacken das Archiv und wechseln in den Ordner:

# tar -xvf AdGuardHome_freebsd_amd64.tar.gz
# cd AdGuardHome

Achtung: ab jetzt solltest du Schritt 2 durchführen oder durchgeführt haben! Denn jetzt darf kein DNS-Server mehr auf Port 53 laufen!
Nun können wir AdGuard Home zum ersten mal starten:

# ./AdGuardHome


WICHTIG: Das Programm läuft nun im Terminal direkt! Schließen wir es, ist AdGuard Home auch beendet! Um den Autostart kümmern wir uns gleich.

Öffne nun einen Browser und rufe die IP von OPNsense auf, aber gebe den Port 3000 zusätzlich mit an.
http://192.168.1.1:3000

Es begrüßt dich der Installer!
Klicke auf „Get Started“.
Gebe folgendes an:
Admin Web Interface – Listen interface = Das LAN-Interface und / oder alle -> Wenn du keine DMZ oder anderes hast, wähle nur das LAN-Interface aus, um von außen auf keinen Fall erreichbar zu sein.
Admin Web Interface – Listen interface Port = Trage hier ein freien Port ein, z.B. 8080. Port 80 und 443 sind in der Standardkonfiguration von der Firewall blockiert!
DNS-Server – Listen interface = Das LAN-Interface und / oder alle -> Wenn du keine DMZ oder anderes hast, wähle nur das LAN-Interface aus, um von außen auf keinen Fall erreichbar zu sein.
DNS-Server – Listen interface Port = Gebe Port 53 an

Er wird mekern, das keine statische IP-Adresse vergeben werden kann. Ignoriere die Meldung einfach. Das passt.

Gebe für den Admin-Zugriff noch ein sicheres Kennwort an und wir sind durch!

Du kannst dich nun einmal in AdGuard Home anmelden und gucken, ob alles soweit funktioniert.
Anschließend kannst du mit STRG + C das Programm im Terminal wieder beenden.

6. Autostart einrichten

Damit AdGuard Home nun auch automatisch bei Systemstart aktiv wird, legen wir noch eine Autostart-Konfiguration an.
Du bist hoffentlich noch in der SSH-Sitzung, denn die brauchen wir noch einmal.

Lege eine neue Datei in /etc/rd.d/ an und bennene sie z.B. adguardhome:

# nano /etc/rc.d/adguardhome

Befülle die Datei mit folgendem Inhalt:

#!/bin/sh

. /etc/rc.subr

name="adguardhome"
rcvar="adguardhome_enable"
adguardhome_user="root"
adguardhome_command="/opt/AdGuardHome/AdGuardHome"
pidfile="/var/run/${name}.pid"
command="/usr/sbin/daemon"
command_args="-P ${pidfile} -r -f ${adguardhome_command}"

load_rc_config $name
: ${adguardhome_enable:=no}

run_rc_command "$1"

Speichere die Datei ab und schließe sie. (STRG + X, mit Y bestätigen und Enter drücken)

Nun müssen wir noch die Datei ausführbar machen und den Autostart aktivieren:

# chmod +x /etc/rc.d/adguardhome && sysrc adguardhome_enable="YES"

7. Neustart und los gehts!

Starte deine Firewall einmal neu, damit nun auch AdGuard Home automatisch gestartet wird.
Du solltest nun das Webinterface über die IP von OPNsense und dem im Setup angegebenen Port erreichen.
http://192.168.1.1:8080

Du kannst nun auch den SSH-Zugriff wieder deaktivieren.
Ebenfalls kannst du im AdGuard Home-Webinterface auch SSL/HTTPS aktivieren.
Du musst aber einen anderen Port als 443 nutzen und ein eigenes Zertifikat angeben.

Viel Spaß mit AdGuard Home!

2 Kommentare

  1. Hallo,

    Hat Adguard home die DNS Abfrage eingbaut im Vergleich zu pihole 5 + unbound oder muss Unbound ebenfalls genutzt werden?

    Welche Erfahrung hast du mit beiden Systeme?

    • Hi!
      AdGuard hat einen eingebauten DNS-Server, ansonsten kann es ja keine DNS-Anfragen filtern.
      Wie auch in der Anleitung geschrieben, kann kein Pi-Hole in OPNsense direkt installiert werden, da Pi-Hole nicht auf FreeBSD läuft.
      In meiner Anleitung verwenden wir auch Unbound als Upstream-DNS inkl. DNSSEC. Hier können wir auf die Unbound-installation von OPNsense auch zurückgreifen, was Zeit und Nerven spart.

      Am Ende des Tages finde ich aber Pi-Hole etwas besser und wer OPNsense z.B. in einer virtuellen Maschine betreibt, oder für ein Pi-Hole eine extra Maschine bereitstellen kann, hat mehr Spaß.
      Ich vermisse gerade in AdGuard die DNS-Optionen wie CNAME & Co. und die Statistiken sind in Pi-Hole etwas übersichtlicher und genauer dargestellt.
      Es funktioniert aber beides gut und AdGuard läuft somit auf der gleichen Hardware, wie auch OPNsense läuft. So muss ich nichts neues anschaffen und spare dadurch etwas Strom.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Durch das Absenden dieses Kommentars werden deine angegebenen Daten auf dem Server gespeichert. Du stimmst dadurch den Datenschutzbedingungen zu.