J'ai essayé d'améliorer mes performances OpenVPN et voici ma configuration actuelle:
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
CLIENT:
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
J'ai apporté quelques modifications à MTU et MSSFIX à partir de ce que j'ai trouvé sur le Web.
Y a-t-il des changements de noyau que je pourrais apporter? Il s'agit d'une boîte CentOS 6.x. J'ai trouvé des trucs pour BSD mais rien qui fonctionnait pour Linux.
Je sais que TCP est plus lent que UDP mais je dois pouvoir ressembler au trafic SSL pour passer par un pare-feu sur le réseau.
D'autres idées?
PING à un autre client sur le réseau dans lequel je RDP.
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
Existe-t-il des moyens d'améliorer les performances ou d'en supprimer le ping?
EDIT: La définition du paramètre de fragmentation aiderait-elle certains?
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.
Pourquoi ne pas demander à votre administrateur réseau d'ouvrir le port openvpn au travail? Sur une note connexe, cette question telle quelle peut violer les termes de la FAQ queLicensing, legal advice, and *circumvention of security or policy*
je voudrais clarifier.Réponses:
Réponse courte: désactiver
comp-lzo
.Je me rends compte que c'est un ancien poste, mais je souffrais également de mauvaises performances OpenVPN. J'avais tout essayé, ajustant le MTU, changeant les tampons snd et rcv, serrage mss, vous l'appelez. La charge CPU était négligeable.
Sur un coup de tête, j'ai désactivé la compression (supprimée
comp-lzo
du client et du serveur) et les performances ont augmenté de 2 à 4 fois.Donc, avec
comp-lzo
activé, ma performance maximale était d'environ 25-30 Mbit / s, et sans elle, j'ai atteint 120 Mbit / s (ma vitesse de connexion Internet).Le serveur est un Xeon E5-2650, le client est le Core i5-3320M. Les deux exécutant OpenVPN 2.3.10, AES-256-CBC, SHA512. Mon Chromebook Intel a également optimisé ma vitesse Internet. Les performances ont doublé sur mes clients Android (14 Mbit / s -> 30 Mbit / s), correspondant à la vitesse du tunnel IKEv2.
la source
TCP va être / beaucoup / plus lent que UDP, provoqué par le problème TCP-over-TCP . Fondamentalement, TCP s'appuie sur les suppressions / congestion de paquets pour identifier les paramètres de connexion, et vos connexions TCP sur OpenVPN ne rencontrent aucun de ces paramètres. Mais vous avez dit que ce n'était pas une option.
Vous pouvez également essayer l'
mtu-disc
option pour découvrir automatiquement les paramètres MTU optimaux pour votre connexion. Il existe de légères disparités à différents endroits, tels que le paramètre MTU d'OpenVPN, y compris la taille de l'en-tête Ethernet. [ 1 ]Votre
tun-mtu
paramètre est énorme, car un paquet de 65 Ko va avoir beaucoup de problèmes de latence via Internet (les paquets jumbo IPv4 mesurent environ 9000 octets et fonctionnent principalement sur les réseaux locaux). Essayez quelque chose de moins de 1460, comme 1300, pour voir si MTU est votre problème.la source
Même si cela peut être un peu tard, vous pouvez essayer ce que j'ai fait:
supprimer toutes les options liées à mss, mtu, etc.
effectuez une analyse des ports dans votre établissement et sélectionnez un port UDP, généralement 53 ports GRE / 123 NDP doivent être ouverts:
Ajoutez ces lignes à votre configuration serveur (ref ici )
Je ne comprends pas bien ces paramètres mais ils ont sûrement aidé, certains disent que cela aide beaucoup, selon mon expérience, cela a augmenté mon débit de +/- 30%
Démarrez le serveur sur l'un de ces ports et vous devriez être prêt à partir: P
J'espère que cela t'aides!
la source
sndbuf et rcvbuf corrigent un paramètre ANCIEN dans linux / unix / openvpn à partir des jours de connexion pour optimiser les paramètres plus lents, même si le système d'exploitation est optimisé pour les plus rapides
sndbuf / rcvbuf mis à 0 utilisera simplement les paramètres du système d'exploitation
push est utilisé pour s'assurer que le client est correctement configuré mais là vous avez besoin d'une valeur.
la source