Vor kurzem habe ich eine OPNsense als Firewall in Betrieb genommen. Hier habe ich ein kleines Howto zur Konfiguration des OpenVPN Server gemacht. Ziel der Anleitung ist es einen Windows Client anzubinden. Ich nutze den VPN-Client von Securepoint, dieser ist schlicht und einfach zu bedienen. In meinem Beispiel Konfiguriere ich eine „Any“ Regel in der Firewall. In einer Produktivumgebung sollte dies detaillierter Konfiguriert werden.
Meine OPNsense mit der das Tutorial erstellt wurde läuft mit Version OPNsense 17.7.11
Vorbereitungen:
- Konfigurierete OPNsense Firewall (LAN/WAN)
- statische IP oder dyndns Alias
CA Zertifikat
Zuerst müssen wir ein CA Zertifikat erstellen der Punk findet ihr unter System: Trust: Authorities. Dort die Konfiguration mit „Add or import CA“ starten
- Die Felder entsprechend der Beschreibung ausfüllen. Achtet auf Aussagekräftige Benennungen
- Bei Method „Create Internal Certificate Authority“ auswählen
- Die Standard „Lifetime“ habe ich hochgesetzt auf 5 Jahre
OpenVPN Server Zertifikat
Das Zertifikat für den OpenVPN Server wird unter System: Trust: Certificates erstellt
- Bei Methode „Create an internal Certificate“ auswählen
- Unter „Certificate authority“ die eben erstellt CA auswählen
- Type „Server Certificate“
- Die „Lifetime“ habe ich erhöht
VPN User
Unter System: Access: Users wird ein VPN Benutzer erstellt
- Benutzername und Kennwort vergeben
- den Haken bei „Click to create a user certificate“ setzen
- „Save“ drücken, Ihr werdet automatisch nach System: Trust: Certificates weitergeleitet
- Bei Method „Create an internal certificate“ auswählen
- Bei Type sollte „Client Certifikate“ ausgewählt sein
- Die „Lifetime“ habe ich hier auf 3 Jahre gesetzt
- „Save“drücken bringt euch zurück zur Benutzerkonfiguration
Es muss lediglich noch mal auf „Save“ gedrückt werden dann ist der Benutzer erstellt
OpenVPN Server
Die Konfigurationsschritte habe ich untergliedert da es sonst unübersichtlich geworden wäre. Der Server wird unter VPN: OpenVPN: Servers konfiguriert
General information
- Bei Server Mode „Remote Access (SSL/TLS)“ auswählen
Cryptographic Settings
- Bei Server Certificate das erstellte OpenVPN-CERT auswählen
- DH Parameters sollten auf 2048bits stellen
- Auth Digest Algorithm auf SHA256 stellen
Tunnel Settings
- IPv4 Tunnel Network – VPN Netz
- IPv4 Local Network – Hier das lokale oder die lokalen Netz mit Komma getrennt erfassen
- Redirect Gateway – wenn die Option aktiviert wird, wird der gesammte Traffic durch das VPN geleitet, in der Regel ist das unerwünscht und mit „split tunneling“ gerabeitet
- Concurrent connections – die max. Anzahl an gleichzeitigen VPN Verbindungen des Server
- Compression – „Enable with Adaptive Compression“ auswählen
Client Settings / Advanced Configuration
- Wähle Dynamic IP, Address Pool, and Topology aus
- Speichere die Konfiguration mit „Save“ die Konfiguration des OpenVPN Server ist abgeschlossen
Firewall Regeln
In meiner Bespiel Konfiguration habe ich eine „Any“ Regel gebaut, in einer Produktivumgebung sollte das spezifisch auf den Anwendungszweck konfiguriert werden.
OPENVPN
WAN
VPN Client
Die Konfiguration kann bequem für die einzelnen Benutzer unter VPN: OpenVPN: Client Export exportiert werden, das ist selbsterklärend
Wie in der Einleitung erwähnt nutze ich unter Windows den Securepoint OpenVPN-Client. Unter MAC setze ich auf Viscosity.
Hallo Kai,
danke für die ausfürhliche Anleitung. So oder so ähnlich habe ich es nun schon 4-5 Mal probiert.
Leider kann ich mich weder mit Windows 8, noch mit Windows 10 (getestet mit OpenVPN Client sowie dem Securepoint Client) verbinden.
Die Fehlermeldung lautet jedes Mal: „Options error: remote: bad protocol associated with host x.x.x.x: ‚UDP‘
Use –help for more information.“
Hast du einen Tipp für mich?
Hallo Daniel, Sorry dein Beitrag ist im Spamfilter gelandet. Ich mache dir nachher eine Screenshot für die Einstellungen. Es hat sich in der tat etwas geändert mit einem der letzten Updates
Hallo Daniel,
ich hatte das gleiche Problem, installiere mal das Opensense 19.1.1 Update, darin wurde ein Fehler im Export behoben, dann sollte es gehen.
Ich habe allerdings 2 Tage lang nach dem Fehler gesucht bis ich mich verbinden konnte. Ich musste bei den erweiterten Einstellungen der Firewall noch den Haken bei Deaktiviere Antwort-an setzen, obwohl ich keine Multiwan Umgebung habe.
Hallo Kai,
ich hätte mal noch eine etwas spezielle Frage bezüglich OpenVPN.
Ich habe mehrere Netze hinter meiner OPNSense, die habe ich alle im VPN Server angeben und der Client kann diese auch erreichen. Jetzt würde ich aber gerne den Zugriff einzelner VPN Clients auf zB. nur einen Host und einen gewissen Port beschränken. Hier dachte ich mir das ich das über die Firewall machen kann wenn ich den einzelnen Clients eine feste IP zuweise. Das kann ich ja über die Client-spezifische Konfigurationen und mittels ip-config-push erreichen.
Jetzt habe ich aber gelesen das der Client sich diese Werte selber anpassen kann, damit würden dann ja die Regeln nicht mehr greifen, stimmt das und wenn ja gibt es da noch eine andere Möglichkeit das elegant und sicher umzusetzen?
Grüße
Marco
Hallo Marco,
von Jan habe ich die Info das es eine Option gibt das der VPN Client nur mit der vom DHCP zugewiesenen IP Kommunizieren darf. Ich habe diese Option nicht in der Weboberfläche gesehen. Hier wäre es sicher Sinnvoll im OPNsense Forum die Frage zu stellen.
LG, Kai
Hallo Marco,
leider habe ich den Post übersehen. Spontan habe ich keine Idee wie man das unterbinden kann. Hier kann vielleicht einer meiner Bekannten weiterhelfen. Ich werde Jan Bitten deinen Post zu kommentieren.
LG, Kai