Je viens de terminer la configuration d'un NAS VPN avec mon Raspberry Pi Model-B non overclocké nouvellement acquis et j'ai rencontré quelque chose pour lequel je ne trouve pas de réponse ailleurs.
La bande passante Internet, déterminée à l'aide de
wget --output-document = / dev / null http://speedtest.wdc01.softlayer.com/downloads/test500.zip
est beaucoup plus lent que ce à quoi je m'attendrais. J'obtiens environ 1,34 Mo / s sur mon Pi via Ethernet lorsque j'approche de 7 Mo / s lorsque Ethernet est branché directement sur mon ordinateur portable.
Le problème est avec OpenVPN, mais je ne peux pas comprendre ce que c'est exactement. Voici comment je le sais.
J'ai comparé les taux de téléchargement sur le Pi avec le VPN éteint et allumé - c'était 5,03 MBPS contre 1,34 MBPS.
Ensuite, je l'ai essayé sur mon ordinateur portable (filaire) - c'était 6,9 MBPS (parfait) contre 6,7 MBPS (presque parfait).
Donc, la faute ne vient pas entièrement de mon service VPN (PrivateInternetAccess) qui donne une réduction de 3% de la bande passante sur mon ordinateur portable - mais a à voir avec la façon dont OpenVPN fonctionne sur le Pi qui donne une réduction de 74% de la bande passante.
Des idées sur la raison pour laquelle OpenVPN sur Raspbian est si terrible?
MISE À JOUR: La plupart de cette réduction de 6,9 Mo / s sur l'ordinateur portable sans VPN à 5,03 Mo / s sur le Pi sans VPN semble provenir de la vitesse d'écriture de la carte SD, que j'ai déterminée à environ 4,9 Mo / s. C'est cette énorme réduction de 5,03 MPBS sur le Pi sans VPN à 1,3MBPS avec VPN qui doit être expliquée.
MISE À JOUR 2: Quelques indices supplémentaires à partir des suggestions des commentaires: 1) OpenVPN utilise 70% du processeur lorsqu'il est en cours d'exécution et wget est en arrière-plan 2) Sur le Pi, j'obtiens 1,34 MBPS d'un serveur VPN américain et environ 500- 600 KBPS de TOUS les serveurs VPN européens, MAIS sur mon ordinateur portable, je reçois 6,7 Mbps du serveur VPN américain et 6,6 Mbps très similaires de certains serveurs européens comme celui des Pays-Bas. Ce que je dis, c'est que la distance par rapport au serveur semble affecter de manière disproportionnée le Pi plutôt que mon ordinateur portable.
la source
top
pendant le test, cela devrait dire quelque chose sur la surcharge de cryptage.Réponses:
Sur les appareils de faible puissance, au moins lors de l'utilisation de SSH, j'ai une bonne expérience de l'utilisation du chiffrement RC4 pour améliorer les performances car il est plus rapide sur le plan des calculs, donc utilise moins de CPU pour la bande passante / permet des bandes passantes plus élevées pour la même utilisation du CPU. Ce guide explique comment remplacer le chiffrement par un autre pris en charge par OpenSSL - comme RC4:
http://openvpn.net/index.php/open-source/documentation/howto.html#security
Notez que RC4 n'est pas l'algorithme le plus sécurisé disponible, mais SSL l'utilise toujours de manière sécurisée (qui existe, comme décrit ici: http://en.wikipedia.org/wiki/RC4 ). Mise à jour : c'est moins vrai maintenant que par le passé. La confiance dans la sécurité de RC4 diminue encore plus, à mesure que les techniques pour le briser avancent, et 2013 nous a donné divers progrès dans la rupture de RC4 et les spéculations sur la NSA ayant réussi . Citant Wikipédia:
Alors, puis-je toujours recommander RC4? Pas vraiment en général. Bien sûr, vous devez compromis la sécurité et les performances, et peut-être n'avez-vous pas vraiment besoin de beaucoup de sécurité - toute cryptographie, même RC4, ralentira toujours les efforts de surveillance dragnet comme ceux de la NSA. Mais je serais vraiment prudent avec les données réellement sensibles et changerais l'algorithme en quelque chose d'autre si possible (j'ai commencé à comparer mon Raspberry pour rechercher des alternatives rapides).
Mise à jour 2 : sur mon Raspberry (overclocké), l'AES n'est pas si lent, si vous avez suffisamment de CPU disponible. Le tableau ci-dessous montre que RC4 peut chiffrer ~ 57 Mo / s, tandis que AES-128-CBC peut chiffrer ~ 21,4 Mo / s. Bien sûr, cela n'explique pas pourquoi vous obtenez de si mauvaises performances - mais peut-être que vous utilisez par défaut un chiffrement plus lent, ou peut-être qu'il y a une autre inefficacité qui pourrait être améliorée.
Paramètres d'overclocking de
/boot/config.txt
:la source