Problème de perf VPN IPSEC



  • Contexte : milieu pro, niveau expertise de l'administrateur : bonne (assez bonne ?), age de la solution firewall : ~5 ans, version actuelle 2.3.4-RELEASE-p1 (amd64)

    Besoin : améliorer la perf des tunnels IPSEC, disymétrie de la perf

    Schéma : concerne 3 sites avec pfsense et 2 sites avec d'autres firewall

    Site H : pfsense + lien fibre SFR 20 Mb + lien adsl (central)
    Site N : pfsense + lien fibre SFR 20 Mb + lien adsl (satellite)
    Site R : pfsense + lien fibre (Maroc) + lien adsl (satellite)
    Site G : fortinet 60D + lien fibre SFR 20 Mb (satellite)
    Site M : cyberoam + lien fibre Orange 200 Mb (satellite)

    Config type :  WAN1 : fibre / WAN2 : adsl (le cas échéant) / LAN + DMZ + autres (le cas échéant) (L'adressage n'a pas d'importante : respecte RFC1918)

    Les 3 pfSense sont identiques : DELL serveur R210 II (2012) :

    • Pentium G620 / 4G mém / 500G disque sata 7200t
    • 2 ports broadcom (BCM5716) + carte quad ports broadcom (BCM5709) : (toutes gigabit), toutes vues via le driver 'bce'
      Les seuls packages ajoutés sont : Darkstat (activé à la demande), NTopng (activé à la demande), Zabbix 2 et FTP_Client_Proxy (inévitable).
      La charge cpu est minimale : Load Average 0.05, 0.08, 0.05 (valeur pfsense) (valeur Zabbix : processeur load 1m/5m/15m : 0.08,0.05,0.03)
      (NB : G620 ne supporte pas AES-NI … hélas !)

    Règles NAT : (pas d'importance)

    Règles Firewall : pour l'onglet IPSEC : règles 'full laxiste' : any to any entre les 2 côtés des tunnels IPSEC

    Les tunnels IPSEC sont variés en phase 1 et phase 2 : dépendent notamment des autres firewall :
    H <-> N : mode : main : phase 1 : blowfish128 / sha256 : phase 2 : ESP / blowfish128 / sha256
    H <-> G : mode : aggressive : phase 1 : 3des / md5 : phase 2 : ESP / 3des / md5
    H <-> M : mode : main : phase 1 : aes128 / md5 : phase 2 : ESP / aes128 / md5

    H <-> R : mode : main : phase 1 : blowfish128 / sha1 : phase 2 : ESP / blowfish128 / sha1

    Je me suis intéressé surtout au débit entre H et G, et H et M, avec comme référence H et N.
    J'observe que

    • entre H et N (pfsense à pfsense), j'obtiens dans les 2 sens environ 4 Mb (sur 20)
    • entre H et G (pfsense à fortinet), j'obtiens de H vers G environ 5 Mb (sur 20) et de G vers H environ 10 Mb (sur 20)
    • entre H et M (pfsense à cyberoam), j'obtiens les mêmes résultats que H vers G
      De plus j'ai regardé
    • entre N et G : même observations que H et G : 5 Mb en envoi contre 10 en réception

    Nb : sur les sites H, N et G, j'ai bien observé un débit HTTP de 20 Mb via mire adsl par exemple

    Je conclue que

    • la perf d'un pfSense est très moyenne en émission/réception vers un autre pfsense : dû à l'absence de AES-NI alors que pas de charge proc !
    • le pfsense est capable de recevoir depuis un autre firewall plus vite qu'il est capable d'envoyer !

    Je m'attendais à

    • des débits symétriques (et non disymétriques) d'environ 16 Mb par Ipsec sur fibre 20 Mb.

    J'ai bien conscience que le matériels est ancien (2012 / Pentium non AES-NI) mais les appliances Fortinet/Cyberoam ne doivent pas disposer d'un processeur meilleur (quoique peut-être AES-NI).
    Et surtout il est illogique que pfsense puisse recevoir 2 fois plus vite qu'il émet !

    Qu'en pensez-vous ?

    (Merci de m'avoir lu).