Beantwortet: Openvpn auf Opnsense

ink0gnito

New Member
Hallo zusammen, hat in der letzten Zeit mal einer versucht unter opnsense eine openvpn perfect-privacy Verbindung herzustellen?
Ich hatte das sonst immer unter pfsense ohne Probleme laufen, aber jetzt habe ich mir neue Hardware geholt und wollte mir mal was genauer opnsense angucken. Die pfsense Anleitung habe ich befolgt, aber der openvpn client schreibt im log immer "BAD LZO decompression header", anschliessend kommt Inactivity timeout und der client startet neu.
Hat mit opnsense einer Erfahrung?
 

Gerd

Active Member
Hi.

Hier die Änderungen im Vergleich zu pfSense.

1607453343817.png

Code:
hand-window 120
mute-replay-warnings
persist-remote-ip
reneg-sec 3600
resolv-retry 60
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-CAMELLIA-256-CBC-SHA: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

Wichtig ist die obere Firewallregel im unteren Bild.
"Source: LAN net" to "Destination: LAN address"

1607453478945.png

Und die NAT Outbound Regeln, die man manuell anlegen muss.

1607453538201.png
 

ink0gnito

New Member
Aber in deinem Beispiel wird der gesamte Traffik von jedem LAN Client durchs VPN geschoben richtig?
Ich muss mal gucken wie ich das bei mir mache. Manche clients sollen nämlich nicht durchs VPN.
 

Gerd

Active Member
Aber in deinem Beispiel wird der gesamte Traffik von jedem LAN Client durchs VPN geschoben richtig?
Ich muss mal gucken wie ich das bei mir mache. Manche clients sollen nämlich nicht durchs VPN.


Ich bin nicht sicher, ob ich es genau verstanden habe.

LAN Clients/Interfaces haben ein eigenes Tab/Menü in Firewall Regeln.

Beispiel:

Wenn in Firewall/LAN1 Menü als Gateway Amsterdam1 angegeben wird, dann geht auch der gesamte Traffik von LAN1 über Amsterdam1.

Solange bei LAN2 kein Gatway von einem anderen VPN Client (Bsp. Russland) nicht angegeben wird, sollte der Traffik ganz normal über WAN Interface raus gehen. Also über dein ISP. Zur Sicherheit kann man auch WAN_DHCP als Gateway angeben.

Soabald du bei LAN2 als Gateway VPN_PP_Russland_VPNv4 angibst, würde der Traffic auch über Russland gehen und der Traffic von LAN1 über Amsterdam1.

Und nicht vergessen. DNS Resolver und NAT Outbound wie bei pfSense konfigurieren.

Edit: zumindest konnte ich die NAT Outbound Regeln bei OPNSense nur manuell anlegen.
 
Last edited:

ink0gnito

New Member
ich kann das leider nicht über die Lan Ports trennen, bei mir hängen alle clients an LAN1. Das läuft bis jetzt auch so über pfsense.
Ich habe bei pfsense dann extra aliase hinzugefügt, und später rules erstellt das Alias "no VPN" direkt über das normale Gateway raus geht. Alias "Rotterdam" geht dann über das VPN Gateway raus.
 

Gerd

Active Member
Das läuft bis jetzt auch so über pfsense.

Im Bereich Netzwerkkonfiguration kann ich dir nicht helfen. Wenn es bei dir über pfSense lief, dann muss es auch über OPNSense laufen.

Ansonsten falls Probleme auftreten sollten, kannst du das Problem im OPNsense Forum schildern.

Meiner Erfahrung nach bekommt man eine Antwort im OPNSense Forum noch schneller, als im pfSense Forum.
 

Mugga6315

Freshly Joined Member
Hallo,
ich habe vor einigen Tagen eine APU2 mit Opnsense in Betrieb genommen. Durch viel hin und her lesen konnte ich auch eine Verbindung zu PP über OpenVPN hinbekommen. Insbesondere die Advanced Settings vom Threadersteller (vielen Dank nochmal dafür), haben mir sehr geholfen.

Ich konnte auch erfolgreich das Routing für bestimmte Clients über VPN einstellen. Geholfen hat mir dieser Thread dabei:
https://forum.opnsense.org/index.php?topic=8998.0
Auch der Killswitch funktioniert bei mir ohne Probleme und alle anderen Clients welche nicht in der Aliase Liste eingetragen sind, gehen ganz normal ins Netz ohne VPN.

Leider hardere ich noch ziemlich mit der VPN Performance. Normalerweise schafft meine Leitung so um die 80-90mbit, auch direkt unter Windows mit PP-Client erreiche ich die Geschwindigkeit. Leider komme ich über Opnsense jedoch nicht über 50mbit hinaus. Komischerweise bringt auch ein umstellen von AES-256-GCM auf AES-128-GMC keine Veränderung. Außer das die CPU-Last etwas heruntergeht.

Hat jemand noch ne Idee was man dort machen kann? Eigentlich müsste die APU2 genügend Power haben um so in die 80-90mbit Region zu kommen über OpenVPN.
 

Gerd

Active Member
Hat jemand noch ne Idee was man dort machen kann?

Leider schafft APU2 um die ~50Mbit/s bei der Verschlüsselung von PP. Einige VPN Anbieter haben eine schwächere Verschlüsselung. Bei denen könnte man theoretisch 80-90 Mbit erreichen.

Du könntest noch folgendes versuchen.
Wechsele in OPNsense zu System->Settings->Miscellaneous-> "Use/dev/crypto" aktivieren.
Dann im OpenVPN Client-> Hardware Crypto-> "dev/crypto engine auswählen".
 

Mugga6315

Freshly Joined Member
Danke für den Tipp, hatte leider keine Verbesserung gebracht. Schade das die APU2 für die Verschlüsselung zu langsam ist, dachte ich hätte mich genügend vorher informiert. Aber kann ja keiner ahnen das PP mit der Verschlüsselung übertreibt :p;)

Schade um die neue Hardware, aber vielleicht bekomme ich sie ja verkauft oder nutze sie für irgendwas anderes.

Ich habe jetzt auf jeden Fall einmal meine OPNsense Config auf mein Proxmox Server übertragen wo nen i5-3470S werkelt. Musste da zwar auch noch 1-2 Einstellungen machen, aber jetzt kommt durchs VPN auch der volle Speed an. Auch mit AES-256.

Danke nochmal für den Hinweis das es wohl an der Hardware lag.
 

betthany

Freshly Joined Member
Hallo zusammen,

ich lege mir seit vier Tagen massiv die Karten, meine OPNsense per OpenVPN mit PP zu verbinden!

Ich habe mich zuerst strikt an diese Anleitung gehalten:

Dann mit den Einstellungen "experimentiert" und danach habe ich mich sogar an Anleitungen der "Konkurrenz" orientiert.
Aber immer dasselbe: "Connecting ..."

- Meine OPNsense ist Version 21.7.3 (aktueller als die Version in der o.g. Anleitung)
- CA und Client-Zertifikat sind eingetragen
- Der Client ist eingerichtet
- Der Dienst startet

Aber es kommt einfach kein Connect zustande.

Ich nutze DNSMASQ und habe UNBOUND auf der OPNsense deaktiviert, da die Auflösung ein anderes Gerät in meinem Netzwerk übernimmt.
Die Firewall-Regeln (DNS-Leak + Kill-Switch) habe ich erstmal außen vor gelassen;
aber dennoch sollte doch zumindest zuerst einmal eine Verbindung von OPNsense -> PP zustande kommen...?!

Anbei noch ein Auszug aus der Log (einen genauen "Fehler" kann ich persönlich nicht ausmachen):

Code:
2021-11-12T13:14:10    openvpn[76572]    MANAGEMENT: Client disconnected
2021-11-12T13:14:10    openvpn[76572]    MANAGEMENT: CMD 'state all'
2021-11-12T13:14:10    openvpn[76572]    MANAGEMENT: Client connected from /var/etc/openvpn/client2.sock
2021-11-12T13:14:07    openvpn[76572]    UDP link remote: [AF_INET]217.114.218.18:1149
2021-11-12T13:14:07    openvpn[76572]    UDP link local (bound): [AF_INET]xxx.xxx.xxx.xxx:0
2021-11-12T13:14:07    openvpn[76572]    Socket Buffers: R=[42080->42080] S=[57344->57344]
2021-11-12T13:14:07    openvpn[76572]    TCP/UDP: Preserving recently used remote address: [AF_INET]217.114.218.18:1149
2021-11-12T13:14:07    openvpn[76572]    Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2021-11-12T13:14:07    openvpn[76572]    Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2021-11-12T13:14:07    openvpn[76572]    NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
2021-11-12T13:14:07    openvpn[76572]    MANAGEMENT: unix domain socket listening on /var/etc/openvpn/client2.sock
2021-11-12T13:14:07    openvpn[75549]    library versions: OpenSSL 1.1.1l  24 Aug 2021, LZO 2.10
2021-11-12T13:14:07    openvpn[75549]    OpenVPN 2.5.3 amd64-portbld-freebsd12.1 [SSL (OpenSSL)] [LZO] [LZ4] [MH/RECVDA] [AEAD] built on Aug  3 2021
2021-11-12T13:14:07    openvpn[75549]    WARNING: file '/var/etc/openvpn/client2.up' is group or others accessible
2021-11-12T13:14:07    openvpn[75549]    DEPRECATED OPTION: --cipher set to 'AES-128-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add 'AES-128-CBC' to --data-ciphers or change --cipher 'AES-128-CBC' to --data-ciphers-fallback 'AES-128-CBC' to silence this warning.
2021-11-12T13:14:07    openvpn[75549]    DEPRECATED OPTION: ncp-disable. Disabling cipher negotiation is a deprecated debug feature that will be removed in OpenVPN 2.6
2021-11-12T13:14:07    openvpn[75549]    WARNING: Compression for receiving enabled. Compression has been used in the past to break encryption. Sent packets are not compressed unless "allow-compression yes" is also set.
2021-11-12T13:14:07    openvpn[72164]    SIGTERM[hard,] received, process exiting
2021-11-12T13:14:07    openvpn[72164]    event_wait : Interrupted system call (code=4)
2021-11-12T13:14:04    openvpn[72164]    MANAGEMENT: Client disconnected
2021-11-12T13:14:04    openvpn[72164]    MANAGEMENT: CMD 'state all'
2021-11-12T13:14:04    openvpn[72164]    MANAGEMENT: Client connected from /var/etc/openvpn/client2.sock

Vielleicht hat ja jemand weitere Erfahrungen mit diesem Konstrukt und kann mir einen heißen Tipp geben?!

Liebe Grüße und einen guten Start ins Wochenende!
 

Gerd

Active Member
Ich habe OPNsense auf 21.7.5 geupdatet und bei mir funktionierte noch die OpenVPN Verbindung. Da du dich strikt an die Anleitung gehalten und an der Konfiguration der "Konkurrenz" gehalten hast, nehme ich an, dass du erfahren genug bist und genau weißt was du machst.

Ich kann nur vermuten, dass du irgendwo ein Wurm in der Konfiguration hast.
 

betthany

Freshly Joined Member
Guten Abend. Und danke für deine Antwort.

Na ja. Die „Konkurrenz“-Anleitungen hab ich (als Inspiration) zu Rate gezogen, weil ich mit der PP-Anleitung auf Biegen und Brechen einfach nicht ans Ziel gekommen bin.

So ganz unbeleckt bin ich in Sachen Open(VPN) nicht, aber lange nicht fit genug, um den Fehler selbst zu erkennen.

Ich habe die PP-Anleitung auch nochmals auf eine komplett frische OPNsense-Installation angewandt - selbes Ergebnis - nahezu identisches Log.

WARNING und DEPRECATED hab ich wegbekommen.
Der Connect kommt aber noch immer nicht zustande.

Ich hatte ein bisschen auf eine Aussage à la „guck mal dort, darauf müsstest du besonders achten“ gehofft …
 

Gerd

Active Member
Poste mal bitte per PM dein Internetprovider und das Paket das du dort gebucht hast, deine Netzwerkkonfiguration und Bilder von der OPNsense Konfiguration. Vielleicht finde ich da etwas.
 

betthany

Freshly Joined Member
Der Provider blockt nix.

Habe 4 PP-Clients in meinem Netzwerk. Auf verschiedenen Systemen. Teils OpenVPN, teils IPSec.
Läuft alles.

Im Prinzip ist die OPNsense doch auch „nur“ ein Client…
 
Top