Ich habe hier leider ein großes Geschwindigkeits-Problem mit dem openVPN-Server auf meinem Heimserver, auf welchen mobile Clients Zugriff haben, um Daten abzuspeichern oder herunterzuladen. Ich versuche mich mal in einer strukturierten Beschreibung, vielleicht weiß ja jemand Rat:
Gegeben:
- 50/10 MBit DSL-Leitung der Telekom (Sync passt, die nominellen Geschwindigkeiten werden prinzipiell auch erreicht)
- openVPN aus Debian Stretch auf Debian Stretch (sprich kein BPO o.ä.)
- diverse mobile Endgeräte (Smartphones und Tablets) unter Android
Auf dem Server ist in iptables Port 1194 "offen", auf dem openWRT-Router (Buffalo Airstation) wird Port 1194 UDP durchgeleitet zum Heimserver.
Die mobilen Devices (ganz selten mehr als drei gleichzeitig) verbinden sich via UDP TUN auf dem Standard-Port 1194 mit dem Heimserver. Die Verbindung selbst funktioniert auch grundsätzlich einwandfrei.
Problem:
Die Geschwindigkeit, um etwas vom Heimserver auf das Mobildevice zu bekommen, ist viel zu gering. Hinterlege ich auf dem Server eine "normale" Datei zum Download (wget oder was auch immer), so bekomme ich 1-1,15MB/s als Datenrate hin, wenn ich mir die von dort herunterlade. Probiere ich dasselbe über VPN, komme ich häufig (also nicht immer) nur auf 50kB/s!
Ich habe schon ziemlich viel gelesen und ausprobiert, aber irgendwie komme ich auf keinen grünen Zweig, sprich es wird und wird nicht dauerhaft schneller!
Gibt es vielleicht noch Optimierungs-Möglichkeiten, oder mache ich etwas grundlegend falsch?
Die einzigen zwei Fehler- Warn-Meldungen, die zur Zeit im syslog erscheinen, sind IMHO vernachlässigbar:
Code: Alles auswählen
Nov 13 08:06:01 server ovpn-server-udp[3532]: fon/101.162.141.11:39542 WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1557', remote='link-mtu 1524'
Nov 13 08:06:01 server ovpn-server-udp[3532]: fon/101.162.141.11:39542 WARNING: 'cipher' is used inconsistently, local='cipher AES-256-CBC', remote='cipher AES-256-GCM'
Nov 13 08:06:01 server ovpn-server-udp[3532]: fon/101.162.141.11:39542 Data Channel Encrypt: Cipher 'AES-256-GCM' initialized with 256 bit key
Server-Config:
Code: Alles auswählen
port 1194
proto udp
dev tun0
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
server 10.2.0.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
client-config-dir ccd
client-to-client
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-GCM
max-clients 10
persist-key
persist-tun
status openvpn-status.log
verb 3
topology subnet
push "topology subnet"
tls-server
remote-cert-tls client
script-security 2
auth-user-pass-verify /etc/openvpn/auth-new.pl via-file
fast-io
sndbuf 0
rcvbuf 0
push "sndbuf 393216"
push "rcvbuf 393216"
Client-Config:
Code: Alles auswählen
dev tun
proto udp
remote meinserver.de
client
ifconfig 10.2.0.88 10.2.0.1
cipher AES-256-GCM
auth-user-pass
persist-tun
persist-key
verb 3
remote-cert-tls server
ns-cert-type server
tls-client
fast-io