Laden Sie das Archiv mit den Konfigurationsdateien herunter und entpacken es.
Download Alternative Downloads anschauenErstellen Sie mit PuTTY oder mit einem Terminal-Programm Ihrer Wahl eine Verbindung mit OPNsense und wählen Sie die Option 8) Shell.
Besuchen Sie die Webseite https://github.com/ddowse/opnsense-vpn-dns und installieren Sie das opnsense-vpn-dns Skript.
Das Skript trägt die DNS-Server des VPN-Providers, die beim Verbindungsaufbau übermittelt wurden, als neue DNS-Server ein und entfernt diese wieder, wenn die VPN-Verbindung getrennt wird.
Tragen Sie in das Feld Beschreibender Name
Wählen Sie bei Vorgehen Eine existierende Zertifizierungsstelle importieren aus.
Öffnen Sie eine der *.conf-Dateien aus dem opnsense_op24_udp_v4_AES128CBC_AU_in_ci.zip-Archiv und kopieren Sie den Inhalt zwischen den <ca></ca> Tags in das Feld Zertifikatdaten, wie im Bild links gezeigt.
Speichern Sie anschliessend mit Klick auf den Button Speichern ab.
Wählen Sie bei Vorgehen Existierendes Zertifikat importieren aus.
Tragen Sie in das Feld Beschreibender Name den Namen
Kopieren Sie den Inhalt zwischen den <cert></cert> Tags in das Feld Zertifikatdaten und den Inhalt zwischen <key></key> in das Feld Private Schlüsseldaten.
Speichern Sie anschliessend mit Klick auf den Button Speichern ab.
Deaktivieren Sie die Option Automatisch gemeinsamen Authentifizierungsschlüssel generieren und kopieren Sie den Inhalt zwischen den <tls-auth></tls-auth> Tags aus der *.conf-Datei in das Feld darunter.
Tipp: Abhängig von der CPU-Leistung Ihres Routers möchten Sie eventuell die schwächere Verschlüsselung AES-128-CBC benutzen, um mehr Geschwindigkeit beziehungsweise Bandbreite zu erreichen. Wählen Sie dazu bei der Option Verschlüsselungsalgorithmus die Auswahl AES-128-CBC.
Kopieren Sie den folgenden Textblock in des Feld Erweitert:
hand-window 120
mute-replay-warnings
persist-remote-ip
resolv-retry 60
tls-cipher TLS_CHACHA20_POLY1305_SHA256:TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS_AES_256_GCM_SHA384:TLS-RSA-WITH-AES-256-CBC-SHA
tls-timeout 5
tun-mtu 1500
fragment 1300
mssfix
ignore-unknown-option ncp-disable
ncp-disable
remote-cert-tls server
key-direction 1
up "/root/vpn-dns.sh add"
down "/root/vpn-dns.sh del"
Speichern Sie anschliessend mit Klick auf den Button Speichern ab.
Dieser Schritt ist nur für eine IPv6 Verbindung nötig. Überspringen Sie ihn, falls Sie kein IPv6 verwenden möchten.
Navigieren Sie zu Firewall → Regeln → WAN und erstellen Sie für eine IPv6 Verbindung eine ICMP-Regel mit folgenden Optionen:
Navigieren Sie per Menü zu System → Konfiguration → Sicherungen und erstellen eine Sicherung von der aktuellen Konfiguration mit dem Button Konfiguration herunterladen. Wenn Sie später keine OpenVPN Konfiguration mehr haben möchten, können Sie jederzeit mit Konfiguration wiederherstellen wieder zurück wechseln.
Wenn Sie das Internet auch ohne VPN nutzen möchten, müssen Sie öffentliche DNS-Server verwenden, zum Beispiel die von Cloudflare, Google oder Server Ihrer Wahl vom OpenNIC-Projekt.
Wenn eine VPN-Verbindung besteht, werden DNS-Anfragen anonymisiert über den VPN-Tunnel gesendet.
Gehen Sie zum Menü System → Einstellungen → Allgemein und tragen Sie mindestens zwei DNS-Server Ihrer Wahl ein. In diesem Beispiel nehmen wir die DNS-Server 1.1.1.1 und 1.0.0.1.
Um auch für IPv6 DNS-Server zu konfigurieren, fügen Sie optional mindestens zwei IPv6 DNS-Server (z.B. 2606:4700:4700::1111 und 2606:4700:4700::1001) hinzu.
Deaktivieren Sie die Option Erlaube das Überschreiben der DNS Serverliste durch DHCP/PPP auf WAN, falls noch nicht geschehen. Die restlichen Einstellungen können Sie belassen, wie sie sind.
Klicken Sie neben Erweitert auf Zeige erweiterte Optionen und wählen Sie
Hinweis: Mit den Standardeinstellungen werden DNS-Anfragen direkt an den Internet Provider gesendet, deshalb ist es bei der ausgehenden Netzwerkschnittstelle wichtig, eine VPN-Schnittstelle für DNS-Anfragen anzugeben, um ein DNS-Leak zu verhindern.
Navigieren Sie zu Firewall → Regeln → LAN und deaktivieren Sie die Regel für das IPv6-Protokoll falls keine IPv6-Nutzung gewünscht ist.
Fügen Sie oberhalb der existierenden Regeln eine neue Firewall-Regel mit folgenden Einstellungen hinzu:
Klicken Sie dann auf Speichern.
Öffnen Sie danach die IPv4-Regel mit einem Klick auf das Stift-Symbol (Bearbeiten). Wählen Sie weiter unten
Achtung: Dieser Schritt aktiviert den Firewall-Schutz („Leak Protection“ oder „Kill-Switch“). Wenn Sie die folgenden Schritte ausführen, funktioniert die Internetverbindung nur wenn ein VPN-Tunnel besteht.
Öffnen Sie die IPv4 Regel, falls noch nicht geschehen und klicken Sie unter Erweiterte Optionen auf Zeigen/Verstecken.
Tragen Sie unter Setze lokal-Tag:
Falls erforderlich, wiederholen Sie diesen Schritt für die IPv6-Regel. Ansonsten lassen Sie die IPv6-Regel deaktiviert.
Nun wird eine übergreifende Regel benötigt, die alles blockiert, falls die OpenVPN-Verbindung offline ist.
Wechseln Sie zu Firewall → Regeln → Fließend und erstellen Sie eine Blockregel mit folgenden Einstellungen:
Erweiterte Optionen:
Nun Speichern.
Gehen Sie per Menü zu Firewall → NAT → Ausgehend und wählen Sie die Option Manuelle Erstellung ausgehender NAT Regeln und klicken Sie auf Speichern.
Legen Sie folgende NAT-Regeln an, wie im Bild links gezeigt. Die ersten zwei NAT-Regeln sind mit der Schnittstelle
Die restlichen NAT-Regeln sind für einen reibungslosen Ablauf erforderlich (Verbindungen des Routers selbst ins Internet).
Sie können überprüfen, ob die VPN-Verbindung korrekt funktioniert, indem Sie auf ein beliebiges über den Router angebundenes Gerät unsere Check-IP-Seite aufrufen.
Falls die VPN-Verbindung nicht funktionieren sollte, dann wird dies höchst wahrscheinlich am opnsense-vpn-dns Skript liegen. Dazu gibt es ein einfachen workaround: Beenden Sie immer am Ende einer Konfiguration den OpenVPN Client unter dem Menü VPN → OpenVPN → Verbindungsstatus und starten Sie danach die Verbindung erneut.
Wenn Sie Fragen, Anmerkungen oder Feedback zu dieser Dokumentation haben, verwenden Sie bitte den zugehörigen Faden in unseren Community-Foren.