• 08621 - 9 88 30 88

Monatsarchiv Juni 2018

Voncubewerk

Kopano-Mailserver und Proxmox-Virtualisierung – Glas Baumgartner Trostberg

Danke für das Vertrauen und ein weiteres spannendes Projekt für Glas Baumgartner in Trostberg.

Zum Referenzbericht geht es hier.

Voncubewerk

openvpn cipher performance benchmark vergleich geschwindigkeit

Möchte man z.B. wie wir, über einen WPA2 WLAN-Link, eine doppelte Sicherheit und deshalb noch ein VPN spannen, nimmt man hierzu gerne OpenVPN. Geht es um größere Bandbreiten (> 100Mbit) des Links, kann man schnell an Grenzen stoßen. Der machbare Durchsatz hängt von mehreren Faktoren ab:

  • Gewählte Cipher
  • Verfügbare CPU-Leistung für Verschlüsselung
  • Genutztes Protokoll
  • Genutzte Art der Verschlüsselung (TLS / PSK)

Ziehen wir das Pferd von hinten auf. Je nach genutzter Verschlüsselung, bieten sich unterschiedliche Ciphers an. Dies zeigt auf einem OpenVPN-Knoten:

`openvpn –show-ciphers`

Bei unserer Verbindung kommt ein statischer Schlüssel zum Einsatz (secret….) wodurch alle TLS-Ciphers in der Übersicht ausscheiden. Den besten Durchsatz haben wir erreicht mit aes-256-cbc.

Da UDP verbindungslos ist, ist UDP hier dem TCP-Protokoll vorzuziehen.

Bei allen unseren Tests wurde klar, dass Verschlüsselung ganz gravierend auf die CPU schlägt und OpenVPN bis heute im Jahr 2018 pro Verbindung jeweils nur einen CPU-Kern nutzt.  Aus diesem Grund bremst fast immer die CPU (100% Last) die Übertragung.

Hier noch ein paar Performancewerte (Angabe jeweils in Mbits-Durchsatz – gemessen mit iperf im client/server Mode mit TCP – 40 Sekunden Test)

OpenVPN als virtuelle KVM-Maschine auf mobilem Intel i5 Laptop:

BF-CBC -> 213 Mbits

AES-128-CBC -> 227 Mbits

CAMELLIA-128-CBC -> 206 MBit

Man sieht immer schön mit ‚top‘ dass die CPU bei 100% hängt – technisch deutlich mehr möglich wäre also, wenn die Rechenleistung verfügbar ist.

Ein Blick in Proxmox/KVM zeigt, dass hier nicht alle CPU-Flags (vgl. cat /proc/cpuinfo) an die VM durchgereicht werden. Wählt man in der Virtualisierungslösung bei CPU-Typ ‚host‘ bzw. einen aktuellen CPU, sehen die Werte nach einem Neustart der VM gleich anders aus:

AES-128-CBC -> 313 Mbit

AES-256-CBC -> 309 Mbit

Es bleibt jedoch die CPU der Flaschenhals. Im Vergleich dümpelte ein Xeon E3 Prozessor auf dem Ziel-OpenVPN-System bei ~ 45 % Auslastung herum. Hier wäre noch Luft nach oben. Dennoch bleibt Verschlüsselung eine nicht zu unterschätzende Anforderung an die CPU.

Voncubewerk

cubewerk stellt zweiten Cover-Artikel für Linux-Magazin – Load-Balancer

Wir freuen uns, dass wir das Linux-Magazin mit unserem Artikel zum Thema Load-Balancer überzeugen konnten. Danke für die Veröffentlichung als Cover-Artikel.

Zum Artikel.