OpenVPN vs IPSec

Ich hatte ja schon früher mit IPsec unter Linux rumgespielt, richtig warm wurde ich nicht damit. Aber derzeit habe ich zwei unterschiedliche VPNs, und es wäre latent interessant, diese zu verbinden …

Dank der Beschreibung bei layer9 klappt es nun zwischen meiner Fritz!Box (7490) und einem Debian mit strongSwan: sowohl die FB als auch der Schwan können die Verbindung aufbauen (allerdings wird, wie auch bei layer9 beschrieben, der DynDNS-Name nicht ohne weiteres neu aufgelöst; »ipsec reload« löst das, unterbricht aber die VPNs kurz — wer dafür ‘ne Lösung hat, bitte kommentieren ;)). Der Datendurchsatz ist allerdings bei meinem VDSL50 erstaunlich niedrig:

2014-06-25 20:25:51 (1.88 MB/s) - `/dev/null' saved [1073741824/1073741824]

Screenshot

Fritz!Box 7490, Fritz!OS 6.05: kein kom­men­der Daten­ver­kehr (VPN) trotz dickem Down­load?

So um und bei 20 MBit/sec, da hatte ich dann ja doch etwas mehr erwartet. Lustigerweise zeigt die Fritz!Box 7490 gar keinen reinkommenden Traffic an — nur ausgehend rd. 1,5 MBit/sec.

Den fehlenden Graphen für eingehenden IPSec-Datenverkehr halte ich für einen ziemlich kapitalen Bug; ausgehend wird IPsec ja mit angezeigt. Anyway, primär interessierte mich nun, warum denn die Daten so schnarchlahm vor sich hin krochen — war doch eine Überlegung – da der Raspberry Pi, der derzeit in Berlin als OpenVPN-Gateway dient, ab ca. 10 MBit/sec OpenVPN-Traffic die Segel streicht –, mittels IPSec besseren Durchsatz zu haben …

Ich fürchte allerdings, der Blick auf »top« der 7490 spricht hier Bände — eine CPU ist bei ca. 20 MBit/sec IPSec-Traffic am Ende, lies: ausgelastet:

Mem: 127980K used, 118272K free, 0K shrd, 15928K buff, 57376K cached
CPU0:  0.0% usr  0.0% sys  0.0% nic  0.0% idle  0.0% io  0.0% irq  100% sirq
CPU1:  0.9% usr  3.3% sys  0.0% nic 95.6% idle  0.0% io  0.0% irq  0.0% sirq
Load average: 1.47 1.15 1.07 3/121 29799
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
    4     2 root     RW       0  0.0   0 46.8 [ksoftirqd/0]
29788 29742 root     R     1240  0.5   1  1.9 top -d 2

Fritz!Box 7490 mit Reboot (und anschließenden PPPoE-Fehlern) bei Nutzung von IPsec.

Fritz!Box 7490 mit Re­boot (und an­schließen­den PPPoE-Fehlern) bei Nutzung von IPsec.

Richtig gruselig aber ist, daß zwei weitere Testdownloads jedesmal die 7490 gekillt haben, d. h. sie rebootete von alleine. Beim zweiten Mal mußte ich sie noch einmal manuell neu starten, da sie beharrlich PPPoE-Fehler warf, zum Glück hatte ich noch meine treue 7570 mit Alice-DSL …

Fritz!Box 7490, Fritz!OS 6.05: Open­VPN wird bi­di­rek­ti­onal an­ge­zeigt

Fritz!Box 7490, Fritz!OS 6.05: Open­VPN wird bi­di­rek­ti­onal an­ge­zeigt — irgendwie …

Nun gut; IPSec ist bei VDSL dann wohl keine Domäne der 7490, schon beschämend. Bleibt dann wohl doch nur, den Raspberry Pi, der bei rd. 10 MBit/sec OpenVPN-Traffic am Performanceende ist, zu ersetzen. Immerhin, OpenVPN-Verkehr wird von der Fritz!Box angezeigt, wenn auch nicht wirklich in der richtigen Höhe — spannend wäre jetzt zu wissen, ob der fehlende Graph bei IPsec bei der 7490 ein Nebeneffekt der CPU-Belastung ist. Ein kurzer Test mit »–limit-rate=2m« deutet nicht darauf hin …

Anyway, hier der Vollständigkeit halber die Werte des Raspberry Pi (der übrigens nicht abstürzte):

2014-06-25 22:36:58 (1.18 MB/s) - `/dev/null' saved [1073741824/1073741824]
top - 22:23:46 up 104 days, 12:07,  1 user,  load average: 1.05, 0.66, 0.51
Tasks:  77 total,   2 running,  75 sleeping,   0 stopped,   0 zombie
%Cpu0  : 32.7 us, 18.4 sy,  0.0 ni,  5.2 id,  0.0 wa,  0.0 hi, 43.7 si,  0.0 st
KiB Mem:    448776 total,   355624 used,    93152 free,   131468 buffers
KiB Swap:  1154220 total,        0 used,  1154220 free,   139536 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
23212 root      20   0  4896 1504  956 R  90.4  0.3   4:32.65 openvpn

P.S.: Ohne über OpenVPN oder IPSec zu gehen, bringt der wget 4.43 MB/s vom gleichen Host.