Problème de débit de transfert de fichier via une connexion VPN
-
Bonjour,
j'ai essayé de suivre la trame recommandée pour poster mon message, désolé si c'est un peu long...
Contexte : perso, débutant, version : 2.6.0-RELEASE (amd64), j'ai 2 routeurs physiques pfSense synchronisés et interfaces configurées avec des VIP en CARP.
Je configure une machine pour sauvegarder en dehors de chez moi mes données.(VM+fichiers)
Pour tester/configurer cela, j'ai branché le PC de sauvegarde sur mon réseau WAN et j'ouvre une connexion VPN vers le LAN pour sauvegarder les données)Besoin : Je souhaite comprendre pourquoi j'ai un débit de transfert de fichier à seulement 13Mo/s de mon réseau LAN vers mon réseau WAN via la connexion VPN
Alors que mon réseau WAN et mon réseau LAN sont en gigabits.
Et que si je ne passe pas par la connexion VPN j'ai bien des débits de transfert de fichiers à +500Mbits/s sur le LANSchéma de principe :
Capture d'écran débit connexion :
voici succinctement mes paramètres VPN :
J'ai rajouté cette option qui a amélioré les choses
mssfix 1475J'ai activé le chiffrement matériel qui a permis de doubler le débit (avant j'étais à 7Mo/s !)
Et j'ai mis le buffer à 2M (ce qui n'a rien changé)
Le processeur et la RAM de mon routeur ne sont presque pas sollicités :
20%
Mais pourquoi un débit si faible alors que je suis en réseau local (je ne passe même pas par la fibre pour l'instant !) ?
J'ai peur que lorsque je sortirai mon PC du réseau local les débits soient pires via la fibre (entre autre à cause de la latence, j'imagine...)
Comme j'ai environ 150Go à sauvegarder, à cette vitesse, ça va mettre plusieurs heures par nuit ce qui n'est pas souhaitable.
Merci d'avance pour vos avis et conseils.
-
L'idée derrière A LIRE EN PREMIER est de fournir de l'information. Vous en avez fourni, et c'est bien !
(Je ne suis pas sûr que vous soyez 'débutant' : un débutant commence par un pfSense et pas par un cluster !)
Toutefois ...
Je ne comprends pas la mention 'VRRP' : indiquez CARP puisque c'est le protocole de pfSense ! (Initialement j'ai pensé que vous aviez des switchs avec VRRP = protocole Cisco dont l'équivalent pour BSD est CARP)
Il aurait fallu préciser 'débit de transfert via OpenVPN en INTERNE' parce qu'un lecteur pense immédiatement WAN et comme aucune info sur la ligne WAN n'est indiqué ... (J'ai du lire plusieurs fois pour comprendre votre test).
Peut-on comparer un débit via OpenVPN entre un PC en WAN vers un serveur en LAN, et un débit entre 2 machines dans le LAN ? Peut-être comparer le schéma OpenVPN avec du cryptage et sans cryptage ?
Je note que vous ne détaillez pas les caractéristiques des 2 firewall physiques pfSense ...
Concernant OpenVPN, vous détaillez le paramétrage : le cryptage hardware (au niveau du serveur OpenVPN donc le firewall) est évidemment important (indispensable ?) : le processeur doit être 'AES-NI' ce qui est généralement le cas. Néanmoins votre démarche est un peu expérimentale : modifier 'mssfix' ne devrait être fait qu'après avoir mesuré le MTU de la liaison ...
Vous n'indiquez pas ce qu'utilise OpenVPN : UDP ou TCP. Par défaut, OpenVPN c'est 1194/udp. Je préconise de bien utiliser UDP ...
Ce que je vous suggère : modifier votre serveur OpenVPN en essayant différent 'data cypher' : None = pas d'encryption = débit brut : doit être élevé
NB : la sauvegarde externe doit utiliser rsync ou un protocole différentiel : ne transmettre que les différences (après un transfert complet 1 fois)
Je peux aussi imaginer que votre serveur de sauvegarde va utiliser un stockage WAN : c'est dans le sens opposé à ce test OpenVPN, et probablement OpenVPN ne sera pas utilisé ...
-
@jdh
Bonjour, merci pour votre réponse.J'ai indiqué débutant parce que notamment je n'y connais pas grand chose en réseau.
Et certaines approximations le montrent. VRRP au lieu de CARP mais il s'agit bien de CARP.
Néanmoins en général j'ai une bonne compréhension des concepts. -
@jdh
Vous avez raison,
C'est bien ça le sujet actuel:
"débit de transfert via OpenVPN en INTERNE"
même si à terme je passerai bien par ma liaison internet puisque le but final est de sauvegarder à l'extérieur les données.
Concernant les machines pfense je n'ai pas toutes les caractéristiques en tête mais de mémoire, c'est :
Un Intel J3455 + 8Go RAM + SSD 128Go + 2 ports Ethernet gigabits.
L'autre est très proche.
Un J4105 +6Go RAM + idemMerci pour le conseil sur le mtu, je vais regarder.
Je notre dans mon log actuel:
10:11 AM WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1572', remote='link-mtu 1569'
Est ce que cette valeur 1569 serait la bonne ?
Par ailleurs cela dénote-t-il un pb ?Oui j'utilise bien : OpenVPN sur 1194/udp.
Concernant la remarque :
"Ce que je vous suggère : modifier votre serveur OpenVPN en essayant différent 'data cypher' : None = pas d'encryption = débit brut : doit être élevé"
Je vais faire le test et vais revenir vers vous.Concernant la remarque :
"Je peux aussi imaginer que votre serveur de sauvegarde va utiliser un stockage WAN"
Non, je vais bien mettre ma machine de sauvegarde (ce n'est pas un serveur) sur le wan, la connecter en VPN depuis l'extérieur et elle va "prendre" Les fichiers à sauvegarder pour les stocker sur son disque. (Je sais ce n'est pas conventionnel comme méthode mais ça me simplifie la configuration et la sécurité)Merci encore
-
Pour OpenVPN, il est important d'utiliser UDP car si on utilise TCP, il y a une baisse de performance du fait de l'encapsulation TCP dans TCP. C'est indiqué sur le site OpenVPN. (Il y a longtemps j'ai choisi 443/tcp 'comme tout le monde' et c'était erroné).
Le MTU est mal configuré par défaut, si je crois ce que vous écrivez. Donc vous avez raison de le configurer dans le serveur. Il est assez inconséquent de fixer une valeur supérieure à 1500 puisque c'est un maxi pour les interfaces ethernet : la valeur par défaut de mssfix est de 1450, ce qui est déjà bien.
Le cryptage en AES128 doit être suffisant en terme de sécurité, évidemment va impacter le débit (même avec du cryptage hardware). (C'est assez équivalent à une liaison cryptée SSL ... exemple cp versus scp)
Votre idée de sauvegarde est peu traditionnelle : l'indiquer eut été utile pour comprendre le test que vous faites.
Néanmoins, je ré-itère l'idée d'utiliser un protocole tel 'rsync' : ce protocole est très utilisé pour sauvegarder parce qu'il y a transmission de la seule différence, ce qui réduit la bande passante nécessaire. C'est en général ce qui est disponible sur des NAS pour créer une sauvegarde 'NAS à NAS'. Quand on traverse Internet, on peut utiliser ssl et filtrer par adresses ip. Des outils tel Veeam utilise des protocoles équivalents. -
@jdh
Encore merci pour vos réponses.
Je note pour mssfix et le MTU.Je note également pour le type de chiffrement même sur j'avais déjà mis du AES 128-GCM et je n'avais pas noté de changement significatif de performance.
Pour la méthode de sauvegarde, je peux expliquer un peu plus pourquoi :
- je fais ça pour mes données personnelles et je n'ai pas de licence Veeam server (je l'utilise à titre pro et c'est vrai que c'est très bien)
- les données sauvegardées sont des vzdump de VM proxmox. Je génère ces dump sur un partage
Réseau publié par openmediavault sur un Raspberry pi4. Une sauvegarde quotidienne de toutes le VM représente 150Go de fichiers.
Les dumps ne sont pas des incréments. Je n'ai pas vu d'option pour gérer ça.
En local, je sauvegarde également sur un backup proxmox server (qui lui fait de l'incrementiel) - le site distant pour la sauvegarde n'a pas d'ip fixe donc configurer un NDD+mise à jour d'enregistrement dynamique DNS c'est un peu fastidieux. Et il y a en plus le coût du NDD
- les Dumps quotidiens que je veux externaliser ne sont pas des incréments donc je ne pourrais pas diminuer la bande passante. J'ai 150Go tous les jours.
Mais je suis ouvert à l'idée de changer de méthode du moment que je n'ai pas d'argent à dépenser en plus que le matériel de sauvegarde (que j'ai déjà)
-
@jdh said in Problème de débit de transfert de fichier via une connexion VPN:
modifier votre serveur OpenVPN en essayant différent 'data cypher' : None = pas d'encryption = débit brut : doit être élevé
Re,
je ne vois pas comment faire ça dans pfSense ?
Je ne trouve pas la désactivation du chiffrement ?Si je décoche "Enable data encryption negotiation", le chiffrement "Fallback".
Et si je retire de la liste des algorithmes les valeurs sélectionnées, pfsense refuse de valider la modification. -
Pour pfSense et OpenVPN, on laisse activé le 'Enable Data Encryption Negociation', et on choisit les protocoles depuis la liste de gauche (liste complète) vers la liste de droite (liste des proto activés). Dans la liste à gauche, il y a 'None' (à la fin) qui signifie aucune encription : il peut être activé passage à droite. Dans tous les cas, il est à conseiller de réduire la liste de droite : choisir un proto est une possible faiblesse !
Veeam est un excellent outil de sauvegarde (pour VMware et HyperV). Il existe un outil 'Veeam Agent' qui peut être utilisé gratuitement ou avec licence : je le préconise pour les portables VIP en entreprise. Il est même possible, après un vol, de réinstaller un système sur un pc neuf et différent : restera à ajouter les drivers hardware spécifiques., c'est fort ! (Je n'ai pas essayé avec Bitlocker ...)
La sauvegarde Proxmox permet de créer les fichiers vzdump sur un partage Windows (typiquement un NAS). Ce partage peut être sécurisé par copie sur un autre partage externe. Et c'est là qu'on peut utiliser 'rsync'.
Pour Proxmox, il y a aussi le 'serveur de sauvegarde Proxmox' appelé 'Proxmox Backup Server' (PBS) : il est bien évidemment possible de le tester sous Proxmox (sans le sauvegarder lui-même !). Il me semble que le PBS peut utiliser un 'remote storage'.
Perso, avec un Proxmox, je procéderai avec une VM 'Proxmox Backup Server' avec un stockage NAS local plus un stockage NAS externe : le PBS assurant des jobs de sauvegarde en local et en externe. (Néanmoins je n'ai pas pratiqué ...)
-
@jdh
Bonjour,
merci pour votre retour.
Je connais bien Veeam Backup Server et Agent puisque je les utilise professionnellement.
Et j'utilise PBS pour ma sauvegarde Proxmox donc je regarderai effectivement l'idée du stockage distant, bien que pour faire cela, comme évoqué, il faut que mon site distant soit joignable par une ip fixe ou un NDD ce qui est un peu fastidieux à configurer/maintenir côté box (car abonnement particulier).Concernant la désactivation de l'encryption, pour faire un test de débit sans chiffrement, je n'y arrive pas.
Lorsque je passe sur "none" les algorithmes en gardant la case "data encryption negotiation" cochée, j'ai ce message d'erreur:
J'ai réussi à me connecter au VPN en mettant "none" sur les algos et en décochant la case "data encryption negotiation" mais en faisant ça je n'avais plus la connexion aux ressources du LAN (?) comme si le fait d'enlever l'encryption bloquait de facto l'accès aux ressources, ce qui est un peu paradoxal pour un VPN.
Bref, pour l'instant je patauge un peu.
Du coup, je continue mes recherches. -
Pour pfSense/OpenVPN, on peut configurer le serveur avec 'none' pour aucune encryption. (J'ai vérifié que cela ne fait aucune erreur mais je n'ai pas testé depuis un client.) Je ne comprends pas le message 'Authentification Failed'.
PBS réalise des jobs de sauvegardes vers un Datastore : je présume que celui-ci peut être externe et sur un NAS (par exemple en NFS).
Néanmoins un serveur Proxmox peut réaliser des sauvegardes automatisés nativement (= sans PBS) y compris sur un stockage externe de type NAS en NFS.
Le point clé est de produire des sauvegardes sur un même nom de fichier afin qu'un protocole tel rsync puisse transférer que les différences ...