Ich habe versucht, meine OpenVPN-Leistung zu verbessern, und dies ist mein aktuelles Setup:
cat /etc/openvpn/server.conf
port 443 #- port
proto tcp #- protocol
dev tun
#tun-mtu 1500
tun-mtu-extra 32
#mssfix 1450
tun-mtu 64800
mssfix 1440
reneg-sec 0
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
plugin /etc/openvpn/openvpn-auth-pam.so /etc/pam.d/login
#plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login #- Comment this line if you are using FreeRADIUS
#plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf #- Uncomment this line if you are using FreeRADIUS
client-to-client
client-cert-not-required
username-as-common-name
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
comp-lzo
persist-key
persist-tun
status 1194.log
verb 3
KLIENT:
client
dev tun
proto tcp
remote 18.4.26.8 443
resolv-retry infinite
nobind
tun-mtu 64800
tun-mtu-extra 32
mssfix 1440
persist-key
persist-tun
auth-user-pass
comp-lzo
verb 3
Ich habe einige Änderungen an MTU und MSSFIX vorgenommen, die ich im Web gefunden habe.
Gibt es Kerneländerungen, die ich vornehmen könnte? Dies ist eine CentOS 6.x-Box. Ich habe ein paar Sachen für BSD gefunden, aber nichts, was für Linux funktioniert hat.
Ich weiß, dass TCP langsamer als UDP ist, aber ich muss in der Lage sein, wie SSL-Verkehr auszusehen, um durch eine Firewall im Netzwerk zu gelangen.
Andere Ideen?
PING an einen anderen Client im Netzwerk, in den ich RDP einbinde.
Pinging 10.8.0.6 with 32 bytes of data:
Reply from 10.8.0.6: bytes=32 time=152ms TTL=128
Reply from 10.8.0.6: bytes=32 time=565ms TTL=128
Reply from 10.8.0.6: bytes=32 time=152ms TTL=128
Reply from 10.8.0.6: bytes=32 time=782ms TTL=128
Ping statistics for 10.8.0.6:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 152ms, Maximum = 782ms, Average = 412ms
Gibt es Möglichkeiten, die Leistung zu verbessern oder den Ping zu verringern?
EDIT: Würde das Festlegen der Fragmentierungseinstellung einigen helfen?
I know TCP is slower then UDP but I need to be able to look like SSL traffic to get thru a firewall on the network.
Bitten Sie Ihren Netzwerkadministrator, den openvpn-Port bei der Arbeit zu öffnen. In diesem Zusammenhang kann diese Frage, wie sie ist, gegen die Bestimmungen der FAQ verstoßen, dieLicensing, legal advice, and *circumvention of security or policy*
ich klarstellen möchte.Antworten:
Kurze Antwort: deaktivieren
comp-lzo
.Mir ist klar, dass dies ein alter Beitrag ist, aber ich hatte auch eine schlechte OpenVPN-Leistung. Ich hatte alles versucht, die MTU eingestellt, die snd- und rcv-Puffer gewechselt, mss-Klemmung, wie Sie es nennen. Die CPU-Auslastung war vernachlässigbar.
Aus einer Laune heraus habe ich die Komprimierung deaktiviert (
comp-lzo
vom Client und vom Server entfernt) und die Leistung um das 2-4-fache erhöht.Bei
comp-lzo
aktivierter Funktion lag meine maximale Leistung bei 25 bis 30 Mbit / s, und ohne diese erreichte ich 120 Mbit / s (meine Internetverbindungsgeschwindigkeit).Server ist ein Xeon E5-2650, Client ist Core i5-3320M. Beide laufen unter OpenVPN 2.3.10, AES-256-CBC, SHA512. Mein Intel Chromebook hat auch meine Internetgeschwindigkeit maximiert. Die Leistung auf meinen Android-Clients hat sich verdoppelt (14 Mbit / s -> 30 Mbit / s) und entspricht der IKEv2-Tunnelgeschwindigkeit.
quelle
TCP wird / viel / langsamer als UDP sein, verursacht durch das TCP-over-TCP- Problem. Grundsätzlich ist TCP auf Paketverlust / Überlastung angewiesen, um Verbindungsparameter zu identifizieren, und bei Ihren TCP-over-OpenVPN-Verbindungen tritt keine dieser Verbindungen auf. Aber Sie haben gesagt, das ist keine Option.
Sie können auch die
mtu-disc
Option ausprobieren, um automatisch die optimalen MTU-Einstellungen für Ihre Verbindung zu ermitteln. An verschiedenen Stellen gibt es leichte Abweichungen, z. B. bei der MTU-Einstellung von OpenVPN, einschließlich der Größe des Ethernet-Headers. [ 1 ]Ihre
tun-mtu
Einstellung ist enorm, da bei einem 65-KB-Paket viele Latenzprobleme über das Internet auftreten (IPv4-Jumbo-Pakete haben eine Größe von etwa 9000 Byte und funktionieren hauptsächlich in lokalen Netzwerken). Versuchen Sie stattdessen etwas unter 1460, wie 1300, um festzustellen, ob MTU Ihr Problem ist.quelle
Auch wenn dies etwas spät sein mag, können Sie versuchen, was ich getan habe:
Entfernen Sie alle mit MSS, MTU usw. verbundenen Optionen
Führen Sie einen Port-Scan in Ihrer Einrichtung durch und wählen Sie einen UDP-Port aus. Im Allgemeinen sollten 53 GRE / 123-NDP-Ports geöffnet sein:
Fügen Sie diese Zeilen Ihrer Serverkonfiguration hinzu (siehe hier ).
Ich verstehe diese Einstellungen nicht vollständig, aber sie haben sicherlich geholfen, einige sagen, es hilft sehr, meiner Erfahrung nach hat es meinen Durchsatz um +/- 30% erhöht
Starten Sie den Server an einem dieser Ports, und Sie sollten bereit sein: P.
Hoffe das hilft!
quelle
sndbuf und rcvbuf korrigieren eine ALTE Einstellung in Linux / Unix / OpenVPN von den Einwähltagen an, um für langsamere Einstellungen zu optimieren, obwohl das Betriebssystem für schnellere optimiert ist
sndbuf / rcvbuf, das auf 0 gesetzt ist, verwendet einfach die Einstellungen des Betriebssystems
push wird verwendet, um sicherzustellen, dass der Client richtig eingestellt ist, aber dort benötigen Sie einen Wert.
quelle