Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)

  • État Fermée
  • Pourcentage achevé
    100%
  • Type Autre
  • Catégorie Services locaux → VM
  • Assignée à Personne
  • Système d'exploitation Freebox V9 (Ultra)
  • Sévérité Basse
  • Priorité Très Basse
  • Basée sur la version 4.8.8
  • Due pour la version Non décidée
  • Échéance Non décidée
  • Votes
  • Privée
Concerne le projet: Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)
Ouverte par Lat31320 - 17/04/2024
Dernière modification par mmakassikis - 23/04/2024

FS#39346 - Bande passante allouée à VM ?

Bonjour,

En transition Delta→Ultra, j’ai reconstruit from scratch une VM pour les services pihole(lan), vpn (OpenVPN), sshd et proxy web.

Je conduis quelques tests de bande passante en speedtest (à l’extérieur) et le maximum que j’atteins en test UP est ~150 Mbps lorsque connecté en VPN.
Contre ~300 Mbps sans VPN.

Du coup je me pose la question de la bande passante I/O allouée aux VM internes à la freebox Ultra.
De mémoire, il y avait un bridage sur la Delta, qu’en est-il pour l’Ultra ?

Je sais qu’il y a de nombreux paramètres qui entrent en compte dans ce genre de test : un test d’upload en VPN est limité par la vitesse d’envoi du réseau hôte du terminal duquel le VPN “download/reçoit” le flux de l’App speedtest avant de l’envoyer au serveur de test sélectionné.
Et inversement.

Merci.

Fermée par  mmakassikis
23.04.2024 12:03
Raison de la fermeture :  Résolu
Admin

Bonjour,

De mémoire, il y avait un bridage sur la Delta, qu’en est-il pour l’Ultra ?

Les performances réseaux des VM ont été améliorées dans les derniers firmware (Ultra et Delta).

Même sans ça, vous devriez dépasser les 300Mbps. Comment testez-vous ?

Lat31320 a commenté le 17.04.2024 12:29

Bonjour,

App Speedtest.

"Là tout de suite", je suis en WiFi (iPhone 11) sur Renater, qui produit 200/300 (d/u) Mbps en direct sur serveur eurofiber france (toulouse)

En passant par la box via VPN, toujours en WiFi sur Renater, même serveur de test, le down tombe à 140 et l'up plafonne à ~60 Mbps.
Sur d'autres serveurs, en vpn, je monte maxi à 87 Mbps.

La constance de plafonnement me fait penser à une limitation côté VM. Ou alors je n'ai chaque fois pas de chance dans mes choix de serveurs de tests : peut-être ont-ils des accords de BP moins performantes par rapport à Renater.

Lat31320 a commenté le 17.04.2024 12:30

Je ne suis pas arrivé à reproduire un test d'up à 150 Mbps comme évoqué en message d'ouverture.

Admin
"Là tout de suite", je suis en WiFi (iPhone 11) sur Renater, qui produit 200/300 (d/u) Mbps en direct sur serveur eurofiber france (toulouse)

Cela semble bas, surtout si vous êtes proche de la box lors du test. Pouvez-vous vérifier la bande wifi sur laquelle l'iphone est connecté ?

Est-ce que le service private relay est activé sur votre iphone lors du test ?

Côté VPN, est-ce le service que vous utilisez propose autre chose que OpenVPN (IPsec ou WireGuard par exemple) ?

Lat31320 a commenté le 17.04.2024 13:55

Je précise que les tests dont je parle sont réalisés à distance de mon domicile (16 Km) ; je ne suis donc pas "proche" de la box au sens bande WiFi.

Je suis sur mon lieu de travail, en WiFi institutionnel. Sans la protection de "suivi d'ip" à la sauce Apple qui pose plus de pb qu'il n'en résout ;)

Côté VM, c'est une debian 12, avec OpenVPN 2.6 et easy-rsa pour pki selon ma cuisine interne.
Je n'ai pas intégré d'autres services VPN.

Je vais faire des tests de débit ce soir, sur WiFi domicile (ma box est toute seule sur les canaux) + VPN afin d'éliminer d'éventuels problèmes de performances sur le tunnel lui-même.

Admin

D'accord, j'avais mal compris le setup.

Pouvez-vous tester avec le serveur VPN intégré de la box ?

Lat31320 a commenté le 17.04.2024 20:36

Re !

Je viens de tenter avec OpenVPN bridgé sur la freebox ; je reviens à la même (qu'avec la Delta) impossibilité d'initier totalement une connexion (en bridgé ou en routé) qui, après y avoir passé trop de temps, m'avait fait préféré monter mon propre service (d'autant que le fonctionnement par login/mdp ne me convient pas).

En l'occurrence, l'erreur ici consiste en

TUN Error: tun_prop_error: ifconfig address are not in the same /30 subnet (topology net30)

La conf VPN serveur de la freebox propose des ip en 192.168.27.[65 à 94]

Je précise que :
- Je ne garde pas la conf IP d'origine de la box lorsque livrée (je passe en classique 192.168.0.254 pour elle en tant que gw, de 1 à 253 pour les clients LAN)
- Elle ne fait pas serveur DHCP (c'est le pihole qui fait DNS/DHCP4+6)
- J'active le "fw" ipv6 afin de refuser tout ipv6 entrant sur la patte publique (ça aurait été cool d'avoir une gestion plus aboutie avec l'Ultra).
- Mon propre OpenVPN server diffuse une plage en 10.8.0.nn


Bref, pour en revenir aux débits : j'ai au moins pu déterminer que la bande passante de la VM est au moins de 1,5Gbps :

Down :

wget http://ipv4.scaleway.testdebit.info/1G.iso
--2024-04-17 21:30:25--  http://ipv4.scaleway.testdebit.info/1G.iso
Resolving ipv4.scaleway.testdebit.info (ipv4.scaleway.testdebit.info)... 62.210.156.7
Connecting to ipv4.scaleway.testdebit.info (ipv4.scaleway.testdebit.info)|62.210.156.7|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1000000000 (954M) [application/x-iso9660-image]
Saving to: '1G.iso'

1G.iso                      100%[===========================================>] 953.67M   152MB/s    in 6.3s    

2024-04-17 21:30:31 (151 MB/s) - '1G.iso' saved [1000000000/1000000000]

Up :

curl --max-time 60 -4 -w %{size_upload} -o /dev/null -F "file=@1G.iso" scaleway.testdebit.info/ul/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  953M  100   196  100  953M     31   155M  0:00:06  0:00:06 --:--:--  160M

En outre :

-Sur WiFi de l'Ultra sans vpn, mon pixel 6a sature en test speedtest sur serveur eurofiber france (toulouse) : 1090/1099 Mbps

- Avec VPN (sur VM) : 151/173 Mbps.

Je crains ne pas trop pouvoir approfondir l'aspect VPN freebox (en déplacement demain pour qq jours).

Admin

Les changements que vous avez fait n'affectent pas le fonctionnement du service VPN.

Quel client OpenVPN est utilisé ? Sur quel OS ?

Sur Android, il me semble que le comportement est différent entre "OpenVPN Connect" et "OpenVPN for Android" (préférez ce dernier, qui supporte la topologie net30 utilisée par la freebox).

Avec "-O /dev/null" en plus cela devrait aller plus vite :)

Lat31320 a commenté le 21.04.2024 20:41

Bonjour,

J'ai donc refait un test avec cette fois le client Androïd compatible avec les vieilles versions d'OpenVPN.

(parenthèse : Il y a une raison particulière pour rester en net30 déjà qualifiée de "vieille" chez OpenVPN en 2017 ?)

Les résultats en débits sont encore moins bon :
23 down / 97 up avec VPN freeboxOS
contre
66,5 down / 161 up avec VPN sur VM.

A noter que :
- L'app VPN for Androïd refuse d'importer un profil VPN en mode Bridge ("sorry only tun mode is supported") : en effet le profil fait du dev-type tap.
- L'app VPN Connect veut bien importer ce profil "bridge" généré par la freebox mais refus de connexion "net30".

Il semble donc que seul le mode routed de la FBX soit exploitable.

Je vais faire un test à iso configuration (de la VM en prod actuellement) d'un autre OpenVPN 2.6 mais sur mon nuc i7 gen11 histoire d'écarter des problèmes de perf type aes-ni et éventuellement évaluer les différences de perf selon la valeur MTU.
https://community.openvpn.net/openvpn/wiki/Gigabit_Networks_Linux

D'ici là si vous avez d'autres pistes je suis open(vpn) ;)

Lat31320 a commenté le 21.04.2024 20:44

note : toujours sur srv speedtest "eurofiber France (Toulouse)", qui fait du 1414/1392 Mbps dans la même phase de test sans VPN Fbx ou VM.

Lat31320 a commenté le 21.04.2024 22:45

J'ai du mieux en fixant un mtu à 1420 (server et client).
J'ai basculé sur l'app nPerf, plus stable en résultats.

Sur VM, le débit atteint en moyenne 175 Mbps up/down
Sur un Nuc (gen13, pas 11, distraction plus haut), c'est plutôt 200/250 Mbps up/down

Il y a clairement un facteur cpu mais le débit ne s'envole pas pour autant avec le nuc qui s'ennuie ferme durant les tests.

Sans VPN, avec nPerf, c'est comme pour speedtest : je tape à 1300 Mbps.

Je ne comprends pas ce qui peut impacter autant le débit.

Admin
(parenthèse : Il y a une raison particulière pour rester en net30 déjà qualifiée de "vieille" chez OpenVPN en 2017 ?)

Il me semble que historiquement le client Windows ne savait gérer que ce type de topologie.

- L'app VPN for Androïd refuse d'importer un profil VPN en mode Bridge ("sorry only tun mode is supported") : en effet le profil fait du dev-type tap.

Le mode bridge n'est pas disponible sur smartphone/tablette car cela nécessite plus de privilège que ce que les API android / ios présentent. Peut-être sur un device rooté cela est différent …

J'ai du mieux en fixant un mtu à 1420 (server et client).

Et en descendant moins ? Je ne sais pas combien "pèse" l'encapsulation OpenVPN, mais pour WireGuard sur les freebox le mtu par défaut avait volontairement été baissé à 1360 à cause de problèmes de perfs rencontrés par certains betatesteurs.

Est-ce que vous avez aussi le paramètre "mssfix <size>" dans votre configuration openvpn ?

Lat31320 a commenté le 22.04.2024 22:26

Bonjour,

Merci.


Pour ref.
Encapsulation OpenVPN : Resulting packet would be at most 28 bytes larger for IPv4 and 48 bytes for IPv6 (20/40 bytes for IP header and 8 bytes for UDP header).


J'obtiens de meilleurs résultats avec un tun-mtu à 1360
300/170 u/d

Cette fois ça fait une différence avec un meilleur cpu (le nuc plutôt que la vm) :
720/540 u/d (avec saturation buffer udp send)

(Client v3)

Si j'essaie de jouer avec mssfix et/ou fragment, la connexion ne tient pas (reconnexion en boucle).
Du coup je ne déclare pas fragment et désactive mssfix en faisant "mssfix 0 mtu" et le client reçoit un "fixed mssfix=1380" à la connexion et ça tient.
Avec une valeur mtu basse (1360), la directive fragment n'est de toute façon pas (plus) nécessaire… D'autant que pour contrôler finement cette valeur il faudrait maîtriser l'autre bout du tunnel, ce qui n'a pas de sens dans mon cas (origines multiples)

Je retiens quelques points :

(en n'oubliant pas que OpenVPN n'est pas le plus léger des VPN)

- VM intégrée Freebox trop faiblarde pour exploiter le débit fibre ne serait-ce qu'à hauteur de 1Gbps.
Sur un i7 gen13 (sur lien eth 1Gbps), on s'en approche.

- Idem pour VPN intégré Freebox.

- VPN intégré FreeboxOS peu adapté (à mon sens) à un usage un peu poussé. Par exemple, fonctionnement login/mdp exclusivement (ou alors j'ai raté qq chose).

- Préférer app (ou site) nPerf à speedtest pour une stabilité en résultats.

Admin
Si j'essaie de jouer avec mssfix et/ou fragment, la connexion ne tient pas (reconnexion en boucle).

C'est curieux, le paramètre mssfix permet de réécrire une partie de l'entête TCP pour éviter des paquets trop gros (et donc retomber sur des problèmes de fragmentation). A moins de mettre une valeur beaucoup trop petite, cela devrait marcher.

Il vaut mieux avoir des valeurs MSS et MTU plus basses que d'avoir de la fragmentation, cette dernière étant catastrophique pour les performances (pas uniquement dans des speedtest – le simple chargement d'une page web devient pénible).

- VM intégrée Freebox trop faiblarde pour exploiter le débit fibre ne serait-ce qu'à hauteur de 1Gbps.

Pour le cas d'usage VPN, oui. Autrement le débit sur la VM dépasse le 1Gbps (testé avec iperf).

Vous devriez gagner un peu en performance en installant le module OpenVPN DCO: https://github.com/OpenVPN/ovpn-dco

- Idem pour VPN intégré Freebox.

Les performances varient en fonction du type de VPN utilisé. Avec WireGuard, en testant avec iperf j'ai 500/600 u/d.

- VPN intégré FreeboxOS peu adapté (à mon sens) à un usage un peu poussé. Par exemple, fonctionnement login/mdp exclusivement (ou alors j'ai raté qq chose).

Effectivement: pour OpenVPN/IPsec/PPTP (évitez ce dernier dans la mesure du possible) ⇒ authentification par login/mdp. Pour WireGuard, l'utilisation de clefs est imposée par le protocole.

- Préférer app (ou site) nPerf à speedtest pour une stabilité en résultats.

Préférer les applications natives (que ce nperf ou speedtest) plutôt qu'un navigateur. Faites attention au choix du serveur de test. Le serveur choisi automatiquement n'est pas toujours le meilleur.

Lat31320 a commenté le 23.04.2024 10:53

Je suis en accord avec vos remarques.

Le MSSFIX fixé automatiquement est correct cependant ; la fragmentation en sortie de box (hors VPN) intervient avec du MTU à 1500 ou 1472 (28k inclus) selon la destination.
A moins de 1400 en MSS, le risque est faible. Chercher mieux ne s'applique pas à mon cas : je ne cherche pas à établir un tunnel permanent entre deux hôtes précis.

En effet, je parlais bien de "faiblesse" dans un contexte OpenVPN.

Je vais explorer WG, j'avais un doute de compatibilité sur certains terminaux mais une recherche montre que ça devrait être gérable.

En priorité app native ; parfois je n'ai qu'un navigateur sous le coude et ça permet au moins de situer.

Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche