OpenVPN : problème bande passante (site to site)



  • Bonjour,

    Je rencontre des problèmes de bande passante entre deux sites connectés via OpenVPN,

    Le contexte physique :
    -Les pfsense sont reliés chacun à un switch afin de passer à travers un lien fibre ouvert (aucune restriction de débit ; via module fibre 1Gbps), via un lien Ethernet 1 Gbps.
    -Derrière chaque pfSense se trouve le LAN de chaque site.
    -Les deux pfSense sont des SG-8860 (https://store.pfsense.org/SG-8860-1U/)

    Le contexte logiciel :
    -Les deux site sont connectés via un Tunnel OpenVPN (voir plus bas la configuration)

    Le problème :
    -Je n’arrive pas à dépasser les 20Mo/s (~160Mbps) en LAN-to-LAN entre les deux sites, en passant par le VPN des pfSense.
    Si je branche 2 PC directement sur les switch 1 et 2, j’atteins un débit moyen de 80 mo/s en transfert de fichier (~640Mbps)

    Je ne comprends pas pourquoi j’ai une telle perte en passant par le VPN de mes pfSense (même en ajoutant la partie cryptage).
    J’en viens donc à me demander si ma configuration n’est pas optimale.

    Concernant la configuration VPN, voici ce qu’elle contient :
    Pfsense1 (mode serveur) :

    PfSense2 (mode client) :

    Type de serveur : Peer to Peer (Shared Key)
    Protocole : UDP
    Device mode : tun
    Port : 9876

    -J’ai activé sur les deux pfSense la cryptographie Hardware (AES-NI CPU-based Acceleration) (qui supporte l’AES-CBC, AES-XTS, AES-GCM, AES-ICM) (System Advanced Miscellaneous)

    • Encryption Algorithm utilisé : AES-256-CBC (256-bit)
      -Auth digest algorithm utilisé : SHA1 (160-bit)
      -Hardware Crypto: BSD cryptodev engine – RSA, DSA, DH, AES-128-CBC, AES-192-CBC, AES-256-CBC
      -Hardware Compression: Enabled with Adaptive Compression

    J’ai fait des tests en modifiant au fur et à mesure les paramètres de cryptographie ainsi que le port utilisé et le résultat de débit reste le même (18 mo/s) (gain de 4 mo/s sans sha1).

    En ce qui s’agit des paramètres plus avancés tel que le MTU de l’interface, j’ai laissé tel que, donc MTU de 1500 sur les routeurs (sur les switchs nous avons un MTU de 1512 par défaut).

    A chaque essai le CPU ne dépasse jamais les 20% d’utilisation.

    Dans ma configuration y-a-t-il quelque chose qui parait mal configuré et qui pourrait provoquer ce bas débit. Ou alors y-a-t-il d’autre limitation ?

    Merci pour votre aide.



  • Bonjour Dodo25,

    Cette fibre 1 Gbps, c'est une fibre noire dédié, ou un acces internet ?

    Si c'est une fibre noire dédié, je ne vois pas l'interet du tunnel VPN,
    Si c'est une connexion internet il peux y'avoir 1000 raison de cette restriction de débit et tu n'aura pas la main dessus.

    Cordialement.



  • @skymaster369:

    Si c'est une fibre noire dédié, je ne vois pas l'interet du tunnel VPN,
    Si c'est une connexion internet il peux y'avoir 1000 raison de cette restriction de débit et tu n'aura pas la main dessus.

    Même si ton point de vue n'est pas complètement faux, en fonction du contexte il peut être nécessaire de mettre en œuvre du VPN sur ton propre réseau privé  ;)  et sans VPN, le débit semble correct. Je suis d'accord, il n'y aura pas de certitude de débit mais la question ici est "pourquoi le VPN n'offre t-il pas une meilleure performance ?"

    @Dodo25

    • quelle est ta configuration "cryptographique hardware" dans le menu "advanced/miscellaneous"?
    • as-tu fait des tests sans accélération hardware de part de d'autre ?
    • à titre de test, et part curiosité, il serait intéressant de regarder le débit en IPSec, avec et sans support hardware

    Tout ça est purement empirique mais ça devrait permettre de cerner quelles sont les options qui fonctionnent ou pas  ;)



  • @chris4916:

    Même si ton point de vue n'est pas complètement faux, en fonction du contexte il peut être nécessaire de mettre en œuvre du VPN sur ton propre réseau privé  ;)  et sans VPN, le débit semble correct. Je suis d'accord, il n'y aura pas de certitude de débit mais la question ici est "pourquoi le VPN n'offre t-il pas une meilleure performance ?"

    Certe, j'ai mal formulé mon point de vue, je voulait dire par la que si il s'agissait d'une fibre dédié, il serait intéressent de tester la vitesse de liaison sons le VPN afin de determiner si le problème viens de la, ou de la ligne en elle mêmes. ^^
    Je reconnais qu'après relecture, j'ai pris un petit raccourci.



  • Il s’agit bien d’une fibre noire dédiée (utilisée pour faire le lien entre deux sites, et aussi pour utiliser la connexion Internet du site 1 pour couvrir le site 2).
    Cependant je dois passer par un VPN. Cela passe par un multiplexeur etc.

    -Ma configuration dans advanced/miscellaneous sur les deux pfsense:
    AES-NI CPU-based Acceleration

    -J’ai effectué des tests sans accélération hardware sur les deux pfSense, je les ai refaits ce matin pour noter les débits :
    Via le VPN (mesuré avec iperf) :
    -127Mbps avec accélération hardware
    -160Mbps sans accélération hardware

    -J’ai testé IPsec, c’est encore pire :
    -110Mbps avec/sans accélération hardware

    J’ai donc désactivé l’accélération hardware, et en choisissant en Hardware Crypto "Intel RDRAND engine – RAND", j’arrive à atteindre 180Mbps en moyenne.

    Sans VPN j’atteins les 500Mbps de manière quasi constante.

    Cela ce peut-il que le problème vienne de mes modules fibres ? (pour des modules à 1gbps ils sont loin de faire le travail comme il faut)



  • Salut et merci pour ton retour.

    Quels distance couvres la fibre dédié ? vérifie que tes modules sont fait pour couvrir les longues distances,
    J'ai 2 fibres dédiés (pour la redondance) qui parcours 5 et 8 Km (Pas le mêmes parcours pour éviter les coupure lié au travaux), et au début j'avais pris les modules que j’utilisais
    sur les fibres inter-étages, et j'avais des aberrations, vérifie également le taux de perte de paquets ça peut être liés.

    Par contre si tes modules sont OK et que tu n'as pas de perte de paquets, c'est très étrange que tu n'ai que 500 Mbps sur une fibre noire, nous on a plus de 950 Mbps.
    Je suis surpris que tu n'est que 160-180 Mbps via le VPN

    Quels type, marque et model de module utilise tu ?
    Par exemple nous on as des modules SFP Mini-GBIC Cisco MGBLH1 pour la longue distance et des noname à 60 balles pour l’inter-étages (Avant j'utilisais des Cisco MGBSX1 mais ils tombaient souvent en panne . . .).

    Bien à toi.



  • Merci plutôt à vous deux de prendre sur votre temps pour m’aider ;-)

    La fibre dédiée (du second site jusqu’au multiplexeur) fait 1500m, puis ensuite nous sommes sur une fibre « mutualisé-multiplexé » jusqu’à notre premier site (datacenter) (une quinzaine de km max), et après être passé par le DEMUX, va jusqu’à notre baie.

    On a des switchs Netgear, j’ai donc pris des modules compatible (fréquence 1510nm) que j’ai eus beaucoup de mal à trouver (obliger de commander en Chine) :
    http://www.fs.com/products/52682.html (20km 1000BASE-CWDM SFP 1510nm)
    Puis j’ai essayé avec des 100km ce qui n'a rien changé du tout :
    http://www.fs.com/products/52696.html (100km 1000BASE-CWDM SFP 1510nm)

    Nous n’avons aucune perte de paquet sur le lien, j’ai revérifié au niveau des switchs.

    Malheureusement on a pas le budget pour des cisco.

    Est-il possible que ça coince au niveau du MUX/DEMUX ?



  • @Dodo25:

    Merci plutôt à vous deux de prendre sur votre temps pour m’aider ;-)

    La fibre dédiée (du second site jusqu’au multiplexeur) fait 1500m, puis ensuite nous sommes sur une fibre « mutualisé-multiplexé » jusqu’à notre premier site (datacenter) (une quinzaine de km max), et après être passé par le DEMUX, va jusqu’à notre baie.

    On a des switchs Netgear, j’ai donc pris des modules compatible (fréquence 1510nm) que j’ai eus beaucoup de mal à trouver (obliger de commander en Chine) :
    http://www.fs.com/products/52682.html (20km 1000BASE-CWDM SFP 1510nm)
    Puis j’ai essayé avec des 100km ce qui n'a rien changé du tout :
    http://www.fs.com/products/52696.html (100km 1000BASE-CWDM SFP 1510nm)

    Nous n’avons aucune perte de paquet sur le lien, j’ai revérifié au niveau des switchs.

    Malheureusement on a pas le budget pour des cisco.

    Est-il possible que ça coince au niveau du MUX/DEMUX ?

    C'est possible, tu as eu les résultats des tests des fibres apres leurs mise en place ?
    Ton prestataire peux également te conseiller des modules qui feront le taf sur le modèle de fibre qu'ils t'ont installé,
    Mais bon cela ne résous pas notre soucis de VPN qui devrais au moins être à la même vitesse que ta fibre.
    Quels sont tes pings sur un échantillon de 100 via ta fibre en direct ?



  • Voilà ce que j'ai :

    Entre le site 1 et le mux :
    Informations concernant le cable

    Raccordement : 0
    Fabricant du cable : 0
    Type de cable : 0
    Fabricant de la fibre : 0
    Type de fibre : 0
    Nombre de fibres : 2
    Numéro première fibre : 11
    Numéro dernière fibre : 12
    Indice de la fibre : 1,465
    Coéff. de rétrodiffusion 1310nm (dB) : -79
    Coéff. de rétrodiffusion 1550nm (dB) : -81
    Nombre de longueurs : 10

    Informations concernant la mesure

    Sens de mesure : O–>E O<--E
    Type de réflectomètre : MTS 6000 MTS 6000
    N° série du chassis : 20071 20071
    Type de module : 8126 LR 8126 LR
    N° série du module : 13569 13569

    Longueurs d'ondes réelle : (nm) 1310 1550
    Impulsion : (ns) 100 100
    Valeurs des seuils :
    Epissure : (dB) 0,15 0,15
    Moy. épi. : (dB) 0,15 0,15
    Connecteur : (dB) 0,5 0,5
    Moy. con. : (dB) 0,5 0,5
    Pente : (dB/km) 0,5 0,3
    Moy. pente : (dB/km) 0,45 0,28
    Seuil écart 1310/1550nm (dB) : 0

    Entre le site 2 et le mux :
    Informations concernant le cable

    Raccordement : 0
    Fabricant du cable : 0
    Type de cable : 0
    Fabricant de la fibre : 0
    Type de fibre : 0
    Nombre de fibres : 2
    Numéro première fibre : 5
    Numéro dernière fibre : 6
    Indice de la fibre : 1,4675
    Coéff. de rétrodiffusion 1310nm (dB) : -79
    Coéff. de rétrodiffusion 1550nm (dB) : -81
    Nombre de longueurs : 6

    Informations concernant la mesure

    Sens de mesure : O-->E O<--E
    Type de réflectomètre : MTS 6000 MTS 6000
    N° série du chassis : 20071 20071
    Type de module : 8126 LR 8126 LR
    N° série du module : 13569 13569

    Longueurs d'ondes réelle : (nm) 1310 1550
    Impulsion : (ns) 100 100
    Valeurs des seuils :
    Epissure : (dB) 0,15 0,15
    Moy. épi. : (dB) 0,15 0,15
    Connecteur : (dB) 0,5 0,5
    Moy. con. : (dB) 0,5 0,5
    Pente : (dB/km) 0,36 0,25
    Moy. pente : (dB/km) 0,36 0,25
    Seuil écart 1310/1550nm (dB) : 0

    Pour les pings (entre routeurs sans passer par le vpn) voici les résultats :
    --- 192.168.99.1 ping statistics ---
    100 packets transmitted, 100 packets received, 0.0% packet loss
    round-trip min/avg/max/stddev = 0.184/0.217/0.362/0.026 ms

    La liaison fibre fait 10,5km.



  • Pour compléter la partie lien fibre, j'arrive à tirer pleinement de mes modules via 4 connexions simultanées en UDP (sans connexion VPN) :

    iperf -c 192.168.99.1 -p 5002 -b 1000M -P 4
    WARNING: option -b implies udp testing
    –----------------------------------------------------------
    Client connecting to 192.168.99.1, UDP port 5002
    Sending 1470 byte datagrams
    UDP buffer size: 56.0 KByte (default)

    [  6] local 192.168.99.2 port 32816 connected with 192.168.99.1 port 5002
    [  5] local 192.168.99.2 port 52159 connected with 192.168.99.1 port 5002
    [  4] local 192.168.99.2 port 42634 connected with 192.168.99.1 port 5002
    [  3] local 192.168.99.2 port 46886 connected with 192.168.99.1 port 5002
    [ ID] Interval      Transfer    Bandwidth
    [  6]  0.0-10.0 sec  309 MBytes  259 Mbits/sec
    [  6] Sent 659412 datagrams
    [  5]  0.0-10.0 sec  290 MBytes  244 Mbits/sec
    [  5] Sent 659034 datagrams
    [  4]  0.0-10.0 sec  290 MBytes  243 Mbits/sec
    [  4] Sent 658616 datagrams
    [  3]  0.0-10.0 sec  299 MBytes  250 Mbits/sec
    [  3] Sent 658709 datagrams
    [SUM]  0.0-10.0 sec  1.16 GBytes  997 Mbits/sec

    Et avec une seule j'atteins 780Mbits/sec



  • Salut Dodo25, merci pour ce retour bien fournis,

    Déja maintenant tu peux acter que ta fibre est impeccable, le débit est plus que correct pour du mux et tu n'a aucune perte de paquet.
    Donc les modules SFP font le taf (rapport qualité prix c'est top !)

    Concernant les tests iperf, peux tu me dire à quel niveau ils ont été effectué,

    PC Site 1 -> Swicth site 1> Fibre noire ->Switch site 2 -> PC Site 2

    Ou

    PFsense site 1(Via le package iperf) -> Switch site 1 -> Fibre noire -> Switch Site 2 -> PFsense site 2 (via le package iperf)

    Ou encore

    PFsense site 1(Via le package iperf) -> Switch site 1 -> Fibre noire -> Switch Site 2 -> PC site 2 ?

    Quel débit tu as si tu dialogue entre 2 LAN séparé par ton pfsense ?
    Quel débit tu obtiens si tu désactive la partie cryptage de ton VPN ?
    Bien à toi.

    PS : je suis en train de comparer ma configuration pfsense et openVPN avec la mienne, pour info j'ai 20 Mo/s en roadwarrior (via l'internet),
    Mais j'avais un peu le même problème que toi, j'avais seulement 35 Mo/s entre 2 LAN, et je me suis aperçu ensuite que c'etait l'intel ATOM qui limitait, mais c'etait les vieux (Lanner LEC-2126 avec Intel® Atom™ Dual Core D510 1.66 GHz).



  • Salut,

    Oui c'est déjà ça  ;)

    Les tests ont été réalisés via:
    PFsense site 1(Via le package iperf) -> Switch site 1 -> Fibre noire -> Switch Site 2 -> PFsense site 2 (via le package iperf)

    Entre 2 PC sur le LAN je n'ai pas testé avec iperf, mais avec du transfert de fichier entre deux Windows,
    Je suis à 28Mo/s (~220Mbps).
    Sans cryptage je suis dans les 60Mo/s (~480Mbps).

    En utilisant iperf3 entre les 2PC
    (PC1(Via le package iperf3) -> PFsense site 1 -> Switch site 1 -> Fibre noire -> Switch Site 2 -> PFsense site 2 -> PC2 (via le package iperf3)),
    j'obtient aussi 220Mbps en moyenne même avec 4 connexion simultanées.

    Ce serait étonnant que le CPU limite dans mon cas vu son usage (~20%) non ?



  • @Dodo25:

    Salut,

    Oui c'est déjà ça  ;)

    Les tests ont été réalisés via:
    PFsense site 1(Via le package iperf) -> Switch site 1 -> Fibre noire -> Switch Site 2 -> PFsense site 2 (via le package iperf)

    Entre 2 PC sur le LAN je n'ai pas testé avec iperf, mais avec du transfert de fichier entre deux Windows,
    Je suis à 28Mo/s (~220Mbps).
    Sans cryptage je suis dans les 60Mo/s (~480Mbps).

    En utilisant iperf3 entre les 2PC
    (PC1(Via le package iperf3) -> PFsense site 1 -> Switch site 1 -> Fibre noire -> Switch Site 2 -> PFsense site 2 -> PC2 (via le package iperf3)),
    j'obtient aussi 220Mbps en moyenne même avec 4 connexion simultanées.

    Ce serait étonnant que le CPU limite dans mon cas vu son usage (~20%) non ?

    Salut dodo,

    Si t' as obtenu les résultat précédent (778 et 997) entre les 2 sense, ton problème n'est pas hardware,
    Pour la partie VPN, essaye d'utilisé un cryptage moins fort pour voir si ton débit augmente sensiblement,
    Pour la partie partage de fichier, vérifie que tes règles ne soit pas trop lourde et ne se chevauche pas.
    Dans tout les cas pense à faire des backups avant de touché les réglages, et fais le hors horaires de prod ;)

    Pour la limitation du CPU si tu as 4 coeur c'est pas étonnant, mon pfsense perso est sur un core 2 duo, et depuis qu'il remplace ma livebox je suis passé de 987 mb/s à 680, et mon proc reste bloqué à 45-50 %, en contre partie, mon dhcp ne plante plus, ma box ne redemarre plus 10 fois par jours etc ^^

    Bon courage et tiens nous au courant de tes tests et résultats.



  • Les performances avec OpenVPN seront en général deux fois moindre qu'avec IPSec: OpenVPN tournant en espace utilisateur et IPSec en noyaux.
    De plus l'algorithme de chiffrage le plus efficace a utiliser lorsque la CPU supporte AESNI est un algo AEAD style AES-GCM.
    La différence entre 128 ou 256 bits étant mineure avec AESNI.
    Vous trouverez ici quelques bench IPSec vs OpenVPN sur différents matériel: 4 cœurs Xeon suffisent pour chiffrer 1Gb/s en IPSec AES-GCM, donc… je n'ai pas testé, mais avec 8 cœurs Atom on devrai approcher cette valeur.



  • Bonjour,
    Essayez en rajoutant dans les paramètres avancés client et serveur :

    tun-mtu 6000;
    mssfix 0;
    fragment 0;

    Il convient de renseigner également dans le configuration WAN  MTU 1500 et MSS 1400



  • Pour avancé, j'ai contacté le support technique fin janvier, ils m'ont fait tester quelques manipulations tel que trixbox tu le décris, cependant malgré tout, je n'ai jamais réussi à dépasser les 250Mbps.
    J'ai donc envoyé ma configuration pour qu'ils la test de leur côté, et leurs tests se sont conclus avec les mêmes résultats sur le même matériel.
    Pour l'instant aucun pilote FreeBSD n'existe, permettant d'utiliser l'accélération matériel sur ces routeurs, c'est pour cela que les résultats sont si bas.
    J'avais fait des essais avec IPsec, j'était dans les mêmes eaux.
    En attente de mieux … :(
    En tout cas merci, pour votre temps  ;)


Log in to reply