OPNsense Forum

International Forums => German - Deutsch => Topic started by: Marcel_75 on January 25, 2024, 10:24:40 am

Title: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: Marcel_75 on January 25, 2024, 10:24:40 am
Hallo zusammen,

über viele Jahre sind hier drei Standorte eines Kollegen per LANCOM IPsec miteinander verbunden – das lief wirklich immer zu 100% stabil und zuverlässig.

Er möchte diese in die Jahre gekommenen LANCOM-Geräte nun gern durch etwas neues ersetzen und mein Vorschlag wäre, dafür dann drei OPNsense-fähige Geräte von Deciso zum Einsatz zu bringen.

Dazu würde ich sehr gern auch Wireguard statt IPsec für die Standortvernetzung nutzen – jetzt wo ab OPNsense release 24.1 ein FreeBSD 13.2 inkl. "wireguard kernel module" zum Einsatz kommt, sollte das doch stabil und zuverlässig seinen Dienst tun?

Oder wäre eine Standortvernetzung per klassischen IPsec-VPN doch noch die zuverlässigere Wahl?

Ich persönlich nutze seit Jahren immer nur OpenVPN (allerdings auch immer nur 'road warrior' da ich Site-2-Site bisher nie benötigte).

Zu Wireguard höre ich sehr viele unterschiedliche Meinungen, manche schwören darauf, aber auch nicht wenige haben bzw. hatten damit so ihre Probleme… deshalb meine Bitte um Eure Einschätzung.
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: lewald on January 25, 2024, 10:48:39 am
Ich als Wireguard Fan sage natürlich Wireguard.

Gerade bei s2s. Dort gibt es ja das Argument der fehlenden Features (Verwaltung von Clients) nicht.

Ich habe das seit mehr als einem Jahr stabil für unsere s2s Standortvernetzung (Server) am laufen. Seit Anfang des Jahres sind auch unsere ganzen mobilen Arbeitsplätze umgestellt. Von OpenVPN. Wobei das nicht so viele sind . Ca. 15. Super schnell und superstabil.

PS: Das Kernel Modul gabs ja schon länger. Man musste es eben Installieren.
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: Marcel_75 on January 25, 2024, 03:03:33 pm
Danke, na das klingt doch schon mal nicht schlecht.

Im Hardware-Shop von Deciso https://shop.opnsense.com/product-categorie/hardware-appliances/ wird der maximale VPN-Durchsatz leider immer nur für IPsec angegeben.

Mit Wireguard sollte man da dann aber sicher ähnliche (wenn nicht sogar bessere) Werte erreichen, oder?

Zum Beispiel: IPsec VPN Throughput (AES256GCM16) mit 1.2 Gbps

Speziell zum Wireguard-Durchsatz konnte ich leider bisher keinerlei Infos finden…
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: Monviech on January 25, 2024, 03:21:07 pm
Wireguard ist durch chacha20-poly1305 sehr CPU intensiv und dadurch langsamer, da man keine Entscheidung darüber hat wie stark verschlüsselt wird.

IPsec hat sehr viele Möglichkeiten die CPU Last zu senken und trotzdem sicher zu sein.
Mit AES-256 und AES-NI CPU Unterstützung beschleunigt die Verschlüsselung und Entschlüsselung ungemein, das heißt, IPsec ist auf der OPNsense je nach Konfiguration schneller. Das was angepriesen wird, kann auch erreicht werden (meistens sehr viel mehr, die Werte sind konservativ auf der Webseite angegeben)

Ein weiterer Vorteil von IPsec sind eingebaute Dinge wie "MTU Path Discovery", die MTU und MSS Probleme automatisch umgehen. Bei Wireguard muss man das manuell anpassen.

Bei IPsec hat man viel besseres Logging und viel tiefere Möglichkeiten der Problemlösung. Da man mehr Möglichkeiten hat, gibt es aber auch sehr viele mögliche Fehler mehr als in Wireguard.
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: lewald on January 25, 2024, 04:12:59 pm
Zum Thema Performance.

https://www.wireguard.com/performance/

Auf schwacher Hardware ist IPSec evtl. schneller.

Zum Thema MTU und MSS. Ich habe bei uns nur global die MSS für die Wireguard Group anpassen müssen.

PS: Das schöne mit einer OPNsense ist ja Du kannst alle VPN Varianten nutzen. Und Dir die beste für deine Bedürfnisse raussuchen. OpenVPN ist bei uns raus wegen der Performance.
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: lewald on January 25, 2024, 04:26:06 pm
Wie sind die die Standorte bei Euch Internetmäßig verbunden?

PPOE mit Opnsense nativ kann da je nach Geschwindigkeit ein Problem darstellen.
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: Marcel_75 on January 25, 2024, 08:57:49 pm
Mit AES-256 und AES-NI CPU Unterstützung beschleunigt die Verschlüsselung und Entschlüsselung ungemein.

Ok, das ist natürlich auch ein Punkt, der neben deinen anderen aufgeführten Punkten dann doch eher für IPsec spricht.

Weiß zufällig jemand, ab wann mit nativer CPU-seitiger ChaCha20-Poly1305 Unterstützung zu rechnen ist?

Gibt es schon CPUs, die das können? Oder sind zumindest Generationen angekündigt, die das dann unterstützen werden?
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: Marcel_75 on January 25, 2024, 08:59:05 pm
Wie sind die die Standorte bei Euch Internetmäßig verbunden?

Zwei sind per Glasfaser angebunden, beim dritten Standort muss ich erst mal nachfragen.

PS: Auch der dritte Standort ist per Glasfaser angebunden. Insoweit also optimale Ausgangsbedingungen.
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: lewald on January 26, 2024, 09:13:34 am
Welche Geschwindigkeit?

Nur mal so als Beispiel. Ich kann Wireguard mit 100 Mbit auf einem 10 Jahren alten i5 machen. Bei ca. 50 % Prozessauslastung. 
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: Marcel_75 on January 26, 2024, 11:02:45 am
Welche Geschwindigkeit?

100, 100 und 50 Mbps synchron
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: lewald on January 26, 2024, 11:29:35 am
Nun das stellt auf aktueller Hardware ja auch mit Wireguard überhaupt kein Problem da.

https://www.wireguard.com/known-limitations/
https://moderncrypto.org/mail-archive/noise/2016/000699.html

https://networkbuilders.intel.com/docs/networkbuilders/intel-qat-accelerate-wireguard-processing-with-4th-gen-intel-xeon-scalable-processor-technology-guide-1673248114.pdf




 
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: maclinuxfree on January 26, 2024, 08:38:58 pm
Zum Thema Performance.

https://www.wireguard.com/performance/

Auf schwacher Hardware ist IPSec evtl. schneller.

Zum Thema MTU und MSS. Ich habe bei uns nur global die MSS für die Wireguard Group anpassen müssen.

PS: Das schöne mit einer OPNsense ist ja Du kannst alle VPN Varianten nutzen. Und Dir die beste für deine Bedürfnisse raussuchen. OpenVPN ist bei uns raus wegen der Performance.

Wo hast du die MSS Einstellungen gemacht? Und welche?
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: lewald on January 27, 2024, 01:20:20 pm
Unter

Firewall->Settings->Normalization.
Bei Detailed settings einen Neuen Eintrag erstellen.

Da dann Interface WireGuard (Group). Weiter unten  Max mss. Da habe ich den Wert 1300 drinnen.




Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: JeGr on January 29, 2024, 06:09:28 pm
Bei den VPN Für und Wider ist Performance aber nur ein Teil der Gleichung.

Ich kenne euren Bedarf natürlich nicht. Wenn das simple Anschlüsse sind und jeweils einzelne Boxen, keine Cluster etc. dann mag das alles kein Problem sein.

Allerdings ist gerade Wireguard immer noch notorisch schlecht in Cluster sowie MultiWAN Umgebungen, weil sich das Ding an kein Interface bindet, sondern einfach "überall" läuft und sich dann auch die WANs raussucht, auf die es Bock hat (bzw. wo eben gerade mal die Default Route hingeht). Gerade wenn man aber eine Konstellation mit MultiWAN hat, bei der es unterschiedliche Leitungen gibt (ne dicke mit wenig Upstream für den meisten Download Kram der User, aber ne nicht ganz so breite mit symmetrischem Upstream für VPN) will man sich das Interface eben aussuchen. Da dann noch HA obendrauf und Wireguard wird im Handling ziemlich haarsträubend, um das so zu bändigen wie man möchte.

IPsec hat da auch seine Problemchen. Zwar kann man mit genug Konfig-Aufwand sich auch hier MultiWAN mäßig Redundanz bauen, ganz einfach und durchsichtig ist das aber nicht. Solang es da nur die eigenen Boxen sind, ist das OK, sobald es aber noch nen Tunnel von einem Drittanbieter ist, wirds schwieriger. Nicht unmöglich, aber man merkt IPsec an, dass da bei der Konzeption Dinge wie MultiWAN/HA etc. eher noch keine Themen waren.

Bleibt das ungeliebte schwarze Schaf OpenVPN. Gerade das hat aber zuletzt in 2.6.x mit OpenVPN DCO ordentlich Bumms auf die Performance Pfanne bekommen. Zwar gabs da leider große Versäumnisse bei OPNsense, das ordentlich in der UI zu integrieren und der Ist-Zustand aktuell ist immer noch nicht toll, weil man lieber zwischen IPsec und Wireguard baumelt, was aber Features angeht gerade bei den Möglichkeiten der Verbindung, ist OpenVPN von den Dreien das Handzahmste, was man findet.

Was man mit OVPN sehr gut bauen kann ist bspw. Site2Site mit diversen Failovern, Redundanzen und Wiedereinwahlen. Setzt man den Server auf einer Site mit MultiWAN auf, kann man die Remote Seite die vllt. nur ein WAN hat dann problemlos auch mit beiden WANs verbinden lassen und darüber dann ein Failover GW kleben. Oder man macht es simpler und konfiguriert den Failover durch mehrere "remote" Einträge in OpenVPN auf der Clientseite. Wenn man viel automagisches haben möchte, geht bspw. auch der Aufbau mehrerer Tunnel via OVPN mit kleinen Transfernetzen und darüber dann OSPF geworfen und automatisch geroutet.

Im Prinzip kann man so runterbrechen:

1) IPsec: am Schnellsten (abhängig von HW aber meistens gegeben) da sehr gute Beschleunigung mit AES-GCM aber beschränkte/komplexe Konfiguration was Sonderfälle wie Redundanz, MultiWAN und Co angeht. Allerdings mit annähernd jeder Gegenstelle kompatibel

2) Wireguard: der neue geile Scheiß, schnell (abhängig von HW oft nah an IPsec) dafür nur minimal konfigurierbar. Bei Clients schwach da keine Client-Auth oder Logins möglich sind, bei S2S gerade bei Clustern und MultiWAN problematisch

3) OpenVPN: Oldie but Goldie, hat durch DCO ENORM Geschwindigkeit zugelegt (oh ja!) und kann extrem vielseitig konfiguriert werden. Mit DCO + AES-GCM konfiguriert kann OVPN 2.6 in Performance Regionen wie Wireguard vorstoßen, dafür muss aber korrekt/sauber konfiguriert werden, da DCO durch einige wenige Optionen automatisch disabled wird. Leider fehlt es hier sehr an der UX/UI in der Sense die sowas anzeigt, wenn man aber die Config sauber baut und hinbekommt hat man schnelle und extrem vielseitig einsetzbare Tunnel die wie Wireguard ebenfalls ordentliche Transfernetze aufspannen, so dass man bspw. auch keine Probleme beim Pingen oder DNS Queries an anderen Standorten hat (IPsec P2 hat keine IPs auf dem Tunnel, daher immer etwas unhandlich zu testen/nutzen).

Cheers
\jens
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: mimugmail on January 30, 2024, 07:55:28 am
Ich schließe mich Jens an, OpenVPN hat vor allem den großen Vorteil, wenn is im Client Mode läuft, du Backup Peers hinterlegen kannst. D.h. du brauchst nicht mal im Tunnel ein Routingprotokoll wenn du HA fahren willst. DCO sollte mit 24.7 kommen da erst ab dann FreeBSD14 im Unterbau ist, das wiederum ist kein Versäumnis von OPNsense sondern .. ach egal :D

Also

IPsec: gut, performant, neue UI noch etwas wackelig, die alte wird aber laaang bleiben, tausendfach getestet mit HA etc.
Wireguard: gut, performant, die MTU Geschichte ist etwas nervig, am besten überall gleiche MTU, HA geht mittlerweile zu 99%, Rest siehe Jens
OpenVPN: langsam derzeit, aber 100Mbit geht mit üblicher Hardware eigentlich problemlos, es gibt eigentlich kein Setup was nicht mit OpenVPN funktioniert
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: JeGr on January 30, 2024, 10:26:34 am
> das wiederum ist kein Versäumnis von OPNsense sondern .. ach egal :D

Mit Versäumnis war da eher generell das Ignorieren von OpenVPN und dessen Config gedacht. Dass man jetzt noch mit Instanzen das ganze unnötig verkompliziert anstatt die vorhandenen Dialoge endlich mit den korrekten Optionen zu füttern... lassen wirs. Die Diskussion hab ich erfolglos mehrfach geführt :(

Darum ja, mehr Performance kommt - und dafür müssen auch aktuell nicht mal beide Seiten DCO können. Es gibt auch schon Speedups wenn nur der Client schon mit DCO läuft ;) Das ist nämlich einer der lustigen Nebeneffekte :)

Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: Marcel_75 on January 30, 2024, 11:44:51 am
Ok, das mit OpenVPN und DCO klingt sehr spannend, aber da gibt es wahrscheinlich noch kein passendes tutorial speziell für OPNsense, weil es leider noch nicht soweit ist (sondern erst ab 24.7 und FreeBSD 14)?
Title: Re: Site2Site VPN zwischen 3 Standorten – Wireguard vs. IPsec vs. OpenVPN
Post by: JeGr on January 31, 2024, 04:28:54 pm
Da braucht es auch kein Tutorial. Wenn keine Settings verwendet werden, die DCO widersprechen, wird ein mit DCO kompilierter OpenVPN Server automatisch das tunX Interface mit DCO hochfahren. Wenn nicht, stehen normalerweise die entsprechenden Settings im Log weshalb es nicht geht. Bspw. wenn alte non-AEAD Cipher verwendet werden etc.

Auf Client Seite sieht es genauso aus. Wer ein 2.6.8+ Client auf seiner Kiste installiert hat, wird das ggf. beim Start in den Logs (verb 3 setzen) schon sehen, dass der Client mit DCO Support startet und dann bereits hier davon profitieren kann, auch wenn der Server noch nicht am Start ist :)

Cheers