Openvpn überlastet

da_phil

Neuer User
Mitglied seit
10 Mai 2007
Beiträge
33
Punkte für Reaktionen
0
Punkte
0
Hallo, ich versuche jetzt schon seit ein paar Tagen über OPENVPN Videostreams zu sehen.
Zu Hause steht mein Desktop der mittels ein Videofile transcodiert auf Videobitrate 768 kb/s und Audio 96 kb/s und stellt das ganze als mms Stream bereit.

Wenn ich unterwegs bin und dort Internet habe, möchte ich Filme live streamen können.

Erstmal Vorweg: Ich habe DSL 16000 mit 1 Mbit/s Upstream. Ohne VPN läuft das Streamen einwandfrei, aber halt offen / ungeschützt.

Mit VPN läuft der Stream nur 10 Sekunden, danach bleibt er stehen. Es schaut so aus als wäre die Fritzbox mit dem Openvpn Protokoll überlastet.

Eventuell sind es aber auch uneffizente Einstellungen in meiner VPN Konfiguration.

Ich habe "TUN" verwendet, da es effizienter sein soll und weniger Traffic verursacht. Comp-LZO musste ich deaktivieren, sonst läuft der Videostream nur 2 Sekunden. :(

Das Netzwerk hat den internen IP Bereich 192.168.2.x
Hier mal die Einstellungen die ich am Server (Fritzbox mit ds-mod) vorgenommen habe:
UDP
Modus :TUN
Aut. statisch
Cipher: Blowfish #<- Blowfish ist für Fritzbox der geringste Rechenaufwand oder?
Lokaler Endpunkt 192.168.200.1 255.255.255.0
Entfernter Endpunkt: 192.168.200.2 255.255.255.0
Netzwerksequenz: 192.168.200.0 255.255.255.0
Routing Lokales Netzwerk: 192.168.2.0 255.255.255.0

Und hier meine Client Configdatei:
remote ich.dyndns.org
proto udp
dev tun
ifconfig 192.168.200.2 192.168.200.1
secret "***.key"
tun-mtu 1492
route gateway 192.168.200.1
route 192.168.2.0 255.255.255.0 192.168.200.1
float
mssfix
nobind
verb 3

Edit: Hardware ist ein Speedport W701V mit ds-0.2.9_26-14
 
Zuletzt bearbeitet:
... netter Versuch ;-)

Hi,

da_phil schrieb:
Hallo, ich versuche jetzt schon seit ein paar Tagen über VPN Videostreams zu sehen.
Vielleicht beschreibst du noch das Ergebnis des "Versuchs" ;-), sowie der beteiligten HW und benutzten SW und Configs? Sonst wird dir schwer zu helfen sein...

Jörg
 
bei mir is vorhin etwas schief gelaufen. Bin wohl schonmal auf die Enter Taste gekommen bevor der Beitrag fertig war. Und jetzt hab ichs auch noch geschafft 2 Doppelpostings zu erstellen. Normal stelle ich mich in Foren nicht so blöd an :-[


Habe mich jetzt auch mal Lokal übers WLAN in mein VPN eingewählt. Mittels tracert sehe ich dann das alles über die 192.168.200.1 läuft und auch dort gibt es das Problem dass das Video nach 10 Sek. stillsteht.
 
da_phil schrieb:
Mit VPN läuft der Stream nur 10 Sekunden, danach bleibt er stehen. Es schaut so aus als wäre die Fritzbox mit dem Openvpn Protokoll überlastet.
Wie äußert sich denn dieses "stehen" aus? Ist die Box dann tot?
Versuch mal syslogd zu stoppen und teste es so, wenn du Protokoll als Übeltäter vermutest.

Und lösche bitte zwei andere gleiche Threads!
MfG
 
der Stream bleibt halt stehen und wenn ich am Clienten stoppe und wieder starte läuft er wieder 10 Sekunden. Wenn ich mit der Datenrate auf 384 kbit/s runter gehe klappts mit VPN aber dann ist die Qualität halt bescheiden.
 
... mach doch mal ein "top" auf der Box, um die Auslastung zu sehen.
Und ich denke, dass du wohl Recht hats: knapp 900kbit/s zu verschlüsseln ist natürlich schon anspruchsvoll für so'nen armen kleinen Prozessor...

Jörg
 
@herman72pb: syslogd habe ich nicht mitkompiliert. Zumindest taucht es im DS-Mod Webif nicht unter Dienste auf.

@MaxMuster: openvpn belegt während der Stream läuft 26 % der CPU. Sollte das echt zuviel sein?
 
Warum überlässt du OpenVPN in diesem Fall nicht dem Rechner, der dein Videostream macht und sowieso eingeschaltet ist?
Du kannst es zusätzlich zu dem Sever auf der Box tun. Lediglich Port umlegen...

MfG
 
da_phil schrieb:
@MaxMuster: openvpn belegt während der Stream läuft 26 % der CPU. Sollte das echt zuviel sein?
Ich denke eher nicht.

Der Tip mit dem VPN auf dem Server würde das mögliche Performance-Problem natürlich umgehen.
Aber, was mir noch auf- und einfiel: Die MTU/Paketgröße könnte noch ein Faktor sein... Benutzt du ein TCP-Protokoll zum streamen?
Vielleicht könntest du ja mal ein fragment 1300 versuchen.


Jörg

PS:
da_phil schrieb:
Wenn ich mit der Datenrate auf 384 kbit/s runter gehe klappts mit VPN aber dann ist die Qualität halt bescheiden.
Hast du auch mal was dazwischen versucht? Zumindest über 'ne 1 Mbit-Strippe ist eine Videobitrate von 768 kb/s mit dem Overhead schon nahe an der Grenze, das sollte auf der anderen Seite beim "internen Test" übers WLAN nicht das Problem sein...
 
Zuletzt bearbeitet:
ja, das ganze läuft über TCP. Bin grad mit ssh auf der Fritzbox. In welche Datei trage ich das denn am besten ein? die openvpn-lzo.conf im /var/mod/etc ist nach neustarten des Openvpn ja wieder mit den Werten aus dem Interface überschrieben.

Ansonsten werd ich wohl mal den Openvpn auf meinem PC installieren.

Habe es jetzt auch schon mit 512 kb/s als internen Test probiert, aber selbst mit 512 kb/s kommt es zum Stillstand :(
 
Hast Du schonmal probiert, anstatt TCP auf UDP umzustellen. Auf der OPenvpn-Webseite findest Du doch überall den Hinweis, dass TCP eigentlich nur als Notlösung genommen werden sollte, denn es gibt ein paar ganz unschöne Effekte zwischen der OpenVPN-TCP-Verbindung und den Verbindungen, die innerhalb des VPNs laufen. Ich denke, dass die Verbindung mit TCP abreißt, liegt daran, dass sobald ein einziges Paket verloren geht, versucht wird das erneut zu senden. Beim Streaming fällt Dir ein fehlendes Paket aber gar nicht auf, da bist Du mit UDP wirklich besser dran...
 
derheimi schrieb:
Hast Du schonmal probiert, anstatt TCP auf UDP umzustellen.
... macht er doch (siehe seine Konfig oben)! Die Frage war, wie er das Streaming macht, denn nur bei TCP wirken MTU-Discovery und co.
da_phil schrieb:
In welche Datei trage ich das denn am besten ein?
Ich bin zum Testen immer so vorgegangen, dass ich die "laufende" Config (/mod/etc/openvpn-lzo.conf) nach /tmp kopiert habe, dann openvpn beendet, meine lokale "tmp-Config" bearbeitet habe und dann dass openvpn "von Hand" gestartet habe mit
Code:
openvpn --config /tmp/openvpn-lzo.conf

Je nach Level im verb sieht man dann auch noch nebenbei einige "Interna" der Verbindung.


Jörg
 
Ich melde mich nochmal zu wort, da es leider immer noch nicht funktioniert.

Ich habe da mit dem Fragment 1300 getestet, hat aber auc hnichts genützt.

Jetzt habe ich versucht OpenVPN als Server auf meinem Windows XP Rechner parallel zum Openvpn der Fritzbox laufen zu lassen.

hier das Config File:
# OpenVPN 2.1 Config
proto udp
port 1195
dev tun
secret d:/OpenVPN/config/static.key
ifconfig 192.168.100.1 192.168.100.2
route 192.168.100.0 255.255.255.0
push "route 192.168.100.1"
push "route 192.168.2.0 255.255.255.0"
max-clients 5
tun-mtu 1492
mssfix

daemon
verb 3

cipher BF-CBC
keepalive 10 120

Wenn ich jetzt im OpenvpnGui den Dienst starten möchte erscheint folgendes Logfile:
Sun May 20 14:29:52 2007 Warning on use of --daemon/--inetd: this operating system lacks daemon logging features, therefore when I become a daemon, I won't be able to log status or error messages
Sun May 20 14:29:52 2007 OpenVPN 2.0.9 Win32-MinGW [SSL] [LZO] built on Oct 1 2006
Sun May 20 14:29:52 2007 Static Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sun May 20 14:29:52 2007 Static Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun May 20 14:29:52 2007 Static Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sun May 20 14:29:52 2007 Static Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun May 20 14:29:52 2007 WARNING: normally if you use --mssfix and/or --fragment, you should also set --tun-mtu 1500 (currently it is 1492)
Sun May 20 14:29:52 2007 TAP-WIN32 device [LAN-Verbindung 9] opened: \\.\Global\{9CB2179E-DA8E-4DEE-8CC7-924D170741B6}.tap
Sun May 20 14:29:52 2007 TAP-Win32 Driver Version 8.4
Sun May 20 14:29:52 2007 TAP-Win32 MTU=1500
Sun May 20 14:29:52 2007 Notified TAP-Win32 driver to set a DHCP IP/netmask of 192.168.100.1/255.255.255.252 on interface {9CB2179E-DA8E-4DEE-8CC7-924D170741B6} [DHCP-serv: 192.168.100.2, lease-time: 31536000]
Sun May 20 14:29:52 2007 Successful ARP Flush on interface [131076] {9CB2179E-DA8E-4DEE-8CC7-924D170741B6}
Sun May 20 14:29:52 2007 Data Channel MTU parms [ L:1536 D:1450 EF:44 EB:4 ET:0 EL:0 ]
Sun May 20 14:29:52 2007 Local Options hash (VER=V4): '99e7cbcf'
Sun May 20 14:29:52 2007 Expected Remote Options hash (VER=V4): 'a33e81ae'
Sun May 20 14:29:52 2007 Sorry but I can't become a daemon because this operating system doesn't appear to support either the daemon() or fork() system calls
Sun May 20 14:29:52 2007 Exiting
 
Ich bin mir nicht sicher, ob du mit gui auch den Server starten kannst. Mit Windows-Server war nur mein tip. Ich weiß, dass es grundsätzlich geht (weil ein Bekannter es hat), aber wie, da bin ich überfragt.

MfG
 
... lass mal einfach das "daemon" auf dem Windows weg. Dann läuft es "normal" in einem Fenster..
EDIT: Ansonsten in Windows: Config erstellen als ".ovpn"-Datei, rechter Mausklick "Config mit openvpn starten" (oder so ähnlich)

Jörg
 
danke Jörg,
jetzt bin ich schon einen Schritt weiter.
Aber irgendetwas scheint noch nicht zu passen:
Sun May 20 18:18:34 2007 OpenVPN 2.0.9 Win32-MinGW [SSL] [LZO] built on Oct 1 2006
Sun May 20 18:18:34 2007 Static Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sun May 20 18:18:34 2007 Static Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun May 20 18:18:34 2007 Static Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sun May 20 18:18:34 2007 Static Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun May 20 18:18:34 2007 WARNING: normally if you use --mssfix and/or --fragment, you should also set --tun-mtu 1500 (currently it is 1492)
Sun May 20 18:18:34 2007 TAP-WIN32 device [LAN-Verbindung 9] opened: \\.\Global\{9CB2179E-DA8E-4DEE-8CC7-924D170741B6}.tap
Sun May 20 18:18:34 2007 TAP-Win32 Driver Version 8.4
Sun May 20 18:18:34 2007 TAP-Win32 MTU=1500
Sun May 20 18:18:34 2007 Notified TAP-Win32 driver to set a DHCP IP/netmask of 192.168.100.1/255.255.255.252 on interface {9CB2179E-DA8E-4DEE-8CC7-924D170741B6} [DHCP-serv: 192.168.100.2, lease-time: 31536000]
Sun May 20 18:18:34 2007 Successful ARP Flush on interface [131076] {9CB2179E-DA8E-4DEE-8CC7-924D170741B6}
Sun May 20 18:18:34 2007 Data Channel MTU parms [ L:1536 D:1450 EF:44 EB:4 ET:0 EL:0 ]
Sun May 20 18:18:34 2007 Local Options hash (VER=V4): '99e7cbcf'
Sun May 20 18:18:34 2007 Expected Remote Options hash (VER=V4): 'a33e81ae'
Sun May 20 18:18:34 2007 UDPv4 link local (bound): [undef]:1195
Sun May 20 18:18:34 2007 UDPv4 link remote: [undef]
 
Hallo,

wenn das so im Fenster stehen bleibt, sieht das meines Wissens o.k. aus. Versuche mal, dich mit einem anderen Rechner drauf zu verbinden (natürlich dann auf Port 1195, nicht vergessen ;-)), ich denke, dass sollte klappen.

Zur Not kannst du es sogar auf dem gleichen Rechner testen:
Mit openvpn ein neues TAP-device erstellen lassen und dann mit dieser Config den Client aufrufen:
Code:
# OpenVPN 2.1 Config
proto udp
remote localhost 1195
port 1196
dev tun
secret d:/OpenVPN/config/static.key
ifconfig 192.168.100.2 192.168.100.1
tun-mtu 1492
mssfix
verb 3
cipher BF-CBC
keepalive 10 120

Jörg
 
die Verbindung an sich klappt jetzt schon mal, aber auf die 192.168.100.1 kann ich nicht anpingen. Auch nicht mein eigenes Subnetz. So sollte das Clientfile doch richtig sein oder?

remote ich.dnydns.org 1195
proto udp
dev tun
port 1195
secret ".../static.key"
ifconfig 192.168.100.2 192.168.100.1
tun-mtu 1492
route-gateway 192.168.100.1
route 192.168.2.0 255.255.255.0 192.168.100.1
float
mssfix
nobind
verb 3
cipher BF-CBC
keepalive 10 120
 
Wie hoch ist denn der Overhead der durch das zusätzliche OpenVPN verursacht wird?
Soweit ich informiert bin, kann man NICHT gleichzeitig die volle Upload~ UND Downloadbandbreite nutzen.

Gibts noch andere Programme oder PCs, die auch ein Stück vom Uploadkuchen abzweigen?

Als grobe Richtschnur kann man vielleicht im Taskmanager bei Tab=Netzwerk unter Ansicht->Netzwerkadapterverlauf die grüne Linie ausschalten und die beiden anderen (gelb+rot einschalten)

(ich selbst bin auch noch OpenVPN Anfänger)
JB
 
Moin,
da_phil schrieb:
So sollte das Clientfile doch richtig sein oder?
Ja, sollte es. Ich habe das mal lokal bei mir zwischen zwei Windows PCs getestet und konnte die jeweilige Gegenstelle erreichen (nur das mit dem Routing geht bei mir wegen anderer Netze nicht). Spuckt dir hier vielleicht wieder 'ne Firewall rein?

Ganz allgemein: Wozu gibst du denn noch den "route-gateway" Befehl ein, wenn du das eigentliche Zielnetz routest? Meins Wissens baut das eine Defaultroute zu deinem Server, da ist die Frage, ob das so gewollt ist?
Von der OpenVPN-Seite dazu:
--route-gateway gw
Specify a default gateway gw for use with --route.


EDIT: @joystickbreaker
joystickbreaker schrieb:
Wie hoch ist denn der Overhead der durch das zusätzliche OpenVPN verursacht wird?
JB
... da muss ich (bezogen auf eigene Erkenntnisse) passen. Grundsätzlich kommt ja (jetzt bezogen auf die Anwendung "Streamen über TCP) allein schon bei TCP/IP ein Overhead durch den Paketheader von 40 Bytes je Paket. Das ganze dann noch durch einen Tunnel (Overhead von UDP über IP nochmal 28 Byte/Paket) dabei ist noch keine Verschlüsselung berücksichtigt. Das alles ist aber natürlich nur theoretisch, ein paar Zahlen fand ich auf die Schnelle z.B. hier

Jörg
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.