Note: l’article originale était illustrée de moults images, photos mais suite à la destruction du datacentre d’OVH de mars 2021 (ou ce blog était hosté, les images ont été perdues, seul le texte des articles a pu être sauvé)
Alors, ceci se veut le résumé d’une très longue histoire, celle de la quête d’une connexion “acceptable” dans l’arrière pays du Sud de la France.
D’abord, l’espoir
Après avoir trouvé la maison de nos rêves (mi 2019), maison qui coche un maximum de cases, un compromis a cependant du être trouvé quand à la connectivité vers l’internet mondial, si utile par ces temps.
Au point initial, nous avons:
- absence de fibre (faut pas rêver), mais promesse de fibre l’année suivante (un tantinet optimiste, on attend toujours)
- de la 3G avec les grands opérateurs nationaux
- les précédents propriétaires qui se disaient “satisfaits” d’internet via Orange (en même temps, ils allaient vendre leur bien 🙂 )
- et les différents services de test de débit ADSL qui se veulent rassurant
Zone gris très claire (mais pas blanche)
Parlons en, des services de test de débit à partir de l’ancien numéro de téléphone et/ou adresse postale.
Dans notre cas, nous avions 30 Mb/s via degrouptest.com, mais les autres (ariase, ovh..) sont d’accord.
ok, pas si terrible que ça que vous me direz!
Après abonnement sosh, nous plafonnons à 2.1 Mb/s, le vent dans le dos.
Soit 260 ko/s. En 2020, ça fait un peu tache. Surtout pour télétravailler..
Et en 3G, nous plafonnions à 8 Mb/s. Mieux, mais pas terrible..
Explication du faible débit ADSL
Sans rentrer dans les détails, une visite dans le NRA en question a permis de résoudre ce mystère.
En effet, le NRA était bien à moins de 900 mètres du domicile, et non, pas de souci de condensateurs ou autres défauts augmentant l’atténuation du signal.
Le souci venait de la nature du signal arrivant au NRA. En France, il semble que la plupart des NRA/NRO sont inter-reliés par des réseaux de fibre optique. Ce qui semble être l’hypothèse de (tous?) les services de test de débit, le goulot d’étranglement étant alors la distribution entre le NRA et l’abonné.
Mais non, certains NRA sont inter-reliés par des faisceaux hertziens propriétaires (autour de 1 Ghz). Dans ce cas, le débit total par NRA tourne autour de quelques centaines de Mbits/s, débit partagé par les centaines de lignes analogiques physiquement raccordées.
D’où un débit bridé à ~2Mbit/s par abonné dans ces situations.
Comment améliorer?
Déjà, nous pouvions abandonner la ligne terrestre.
Restaient:
- la boucle locale radio
- chère, pas assez performante, choix d’opérateur trop limité
- le satellite
- très cher, débits download/upload très asymétriques, quota ridicule et surtout ping inutilisable (pour audio/videoconférences, jeux…)
- la 4G
- perspective intéressante, mais
- nous le la captions alors pas
- quota important mais pas illimité
- débit dépendant des conditions météos
- possible variabilité de la qualité selon le nombre d’utilisateurs par antenne
- en 4G, tout est NATé, et c’est très mal (si tu ne comprends pas encore le drame ce point, nous y reviendrons plus tard)
- perspective intéressante, mais
La piste à creuser apparaissait alors évidente.
Améliorer la 4G: passer de l’accroche 3G à 4G
Étape 1: trouver la ou les antennes
Pour cela, j’ai commencé avec ce site: www.monreseaumobile.fr
Mais j’ai été déçu par les données non actualisées, très peu précises (notamment sur le type et la position des antennes) et des estimations de “qualité” du signal fantaisistes (dans l’arrière pays, du moins).
Ce qui n’était pas le cas de ce site: www.antennesmobiles.fr
Il suffit de sélectionner les antennes type 4G (et 5G si vous êtes rêveurs), et de vous trouver en vous aidant de la géolocalisation (code postal par exemple).
www.cartoradio.fr est également très pratique, car il indique également les orientations des antennes (aussi appelées azimuts).
Par la suite, difficile de montrer une procédure précise sans dévoiler la localisation de votre serviteur-auteur de cet article.
www.cartoradio.fr, information que l’on peut croiser avec celles d’antennesmobiles.fr (avec l’ID)
Ici on voit l’azimut
On a une information plus ou moins précise, c’est variable, de la localisation/adresse de l’antenne.
Ensuite, autre outil indispensable: https://www.geoportail.gouv.fr/carte
Il suffit de prendre le fond de carte “carte du relief”, puis en mode 2D
Puis d’annoter votre maison, et les différentes antennes localisées grâce à leur adresse, ou alors si besoin en s’aidant du calque “Plan IGN” de geoportail:
Et là, la vue permet de facilement identifier:
- les distances aux antennes
- et bien sur, les antennes qu’on accroche sans relief au milieu
Pour ce dernier point, on peut aussi s’aider de l’outil de calcul du profil altimétrique.
On peut tracer une ligne droite sur le profil, pour bien voir ou se trouvent les obstacles
Et dans ce cas on voit que cela ne passerait pas.
A comparer avec les orientations fournies par cartoradio.
Il suffit de jouer un peu, en considérant aussi d’autres paramètres, comme les fréquences auxquelles on peut être candidat.
Une fréquence basse (700 Mhz, 800 Mhz) sera plus “passe partout”, car moins sensible à un air chargé en humidité, ou quand il pleut.
Une fréquence haute sera, si captée avec un bon ratio signal/bruit, synonyme d’un meilleur débit.
Aussi, il sera utile de repérer la densité en habitant autour ces antennes (présences de villages, villes, combien d’habitants..), et imaginer un “iso-signal” (c’est à dire voir les zones qui sont le mieux desservies par les antennes repérées, plutôt peuplées ou non) pour éviter les antennes trop fréquentées.
Étape 2: prendre le bon matériel
Après l’étape 1, tu sauras cher lecteur quelle est ou quelles sont les fréquences avec lesquelles tu vas travailler.
Fort de ces informations, tu trouveras utile ou non de t’orienter sur un routeur à aggrégation de porteuses (attention, si l’opérateur propose lui même 1) plusieurs bandes de fréquences sur l’antenne considérée et 2) s’il propose l’aggrégation de fréquences), aussi appelée 4G+ (800 Mhz + 1800 Mhz chez Bouygues, 800 Mhz + 2600 Mhz chez Bouygues, Orange, SFR, ou 1800 Mhz + 2600 Mhz chez Bouygues ou Free) ou 4G++ (3 bandes de fréquence).
Pour les détails sur le hardware qui va bien, je t’invite à regarder ce site: https://routeur4g.fr/
J’ai pour la part jeté mon dévolu sur cette antenne (très efficace, un peu chère) et celle ci (sensiblement moins efficace, moins chère).
Branchées respectivement sur un routeur 4g Huawei B715 et une clé 4G E3372h-607.
Étape 3: choix des opérateurs
Il suffit de suivre les “bons plans” sur les forfait 4g.
Dans notre optimisation, nous avons un forfait crédit mutuel mobile à 25 euros/mois avec “data illimitée” (en vrai 2000 GO/mois) et une deuxième carte sim greffée à un forfait Bouygues (option facturée 2 euros/mois).
Edit: On m’a signalé que le forfait c’redit mutuel mobile n’est plus dispo au même tarif. Je recommande de surveiller les bons plans en la matière, qui reviennent régulièrement.
Il faut être stratégique sur l’assignation de l’abonnement au forfait.
Le forfait le plus gros, sur le couple routeur/antenne le plus performant (car il se videra plus vite).
Étape 4: l’Aggrégation
Le lecteur intéressé, facétieux et attentif que tu es aura remarqué que l’auteur de ce post fait référence plusieurs fois à deux moyens d’accès à Internet.
Il existe des routeurs wifi qui permettent une aggrégation de façon plus ou moins native (par ex, un asus RT-3200 sert ton serviteur, qui propose un link aggregation).
Mais en vrai, ça ne marche pas bien.
Car c’est soit une aggrégation de connections TCP – qui permet de maximiser la bande passante uniquement dans certains cas “faciles” (protocoles nativement multiconnections comme torrent), ou alors du fail over (si un lien tombe, l’autre est utilisé, ce qui revient à bien cher pour cet usage uniquement).
Il existe quelques rares options commerciales, comme overthebox, qui permettent une aggrégation plus basse, au niveau TCP.
Mais les tarifs autrefois abordables ne le sont plus (150 euros HT de boitier + 20 euros HT, au moins cher, avec 100 Mb/s max en aggrégation.
Mais une alternative peu dispendieuse existe désormais, https://www.openmptcprouter.com/
L’idée:
votre réseau local est physiquement branché sur un raspberry (d’autres hardwares supportés, mais moins bien), sur lequel une distribution OpenWrt customisée est installée, et connecté via VPN à un serveur disposant d’une IP publique, et préférablement d’une bande passante confortable. Un VPS est un excellent choix.
Je recommanderais un VPS OVH (à partir de 3 euros TTC/mois), mais l’offre est pléthorique.
Comme votre dévoué fabidouille avait déjà un VPS (pour hoster ce site notamment), le coût de l’opération s’avérait minime.
Un bon résumé des avantages de cette approche est disponible sur Wikipedia.
La redondance offerte par Multipath TCP rend accessible le multiplexage inverse de ressources, ce qui permet d’améliorer la cadence (throughput) de TCP jusqu’à atteindre la somme des cadences en profitant des performances des différents canaux physiques au lieu de n’en utiliser qu’un seul, comme c’est le cas en TCP standard. Multipath TCP est en plus rétro-compatible avec le TCP classique.
Pour l’installation de la partie serveur, ça se passe ici.
Et pour la partie client (raspberry), ça se passe là.
Autre immense avantage, la possibilité de plus avoir son adresse IP NATée, ce qui serait le cas en 4G classique.
Pour le dire simplement, pour économiser le nombre d’IPs v4 attribuées aux clients 4G, une adresse publique est partagée par de multiples utilisateurs, via un réseau NAT. Ce qui rend l’exposition de service impossible, sans tiers partie.
Mais cette approche permet de profiter de l’adresse IP v4 statique (ainsi que les noms de domaines associés éventuellement) à son VPS, ainsi que d’autres avantages (par ex protection DDOS OVH).
Attention, attention
Si ton sens de l’économie est assez aiguisé, tu souhaiteras peut être utiliser ton serveur VPS pour héberger un site, un accès https domotique, des accès à d’autres services exposés sécurisés, ainsi que des services non exposés internes (comme DNS avec Pi-Hole).
Dans ce cas, il faut faire attention à
- par défaut, l’installation de pi-hole va se faire dans /var/www/html, qui sera possiblement déjà occupé (penser à backup avant d’installer pi-hole, qui n’aura pas la courtoisie de prévenir). Aussi, lighttpd héberge par défaut Pi-Hole et apache wordpress. Il est toutefois possible d’utiliser apache pour Pi-Hole (testé&validé par votre serviteur). Autrement, bien penser à aligner les /etc/lighttpd/lighttpd.conf et /etc/apache2/apache2.conf avec les /var/html respectifs.
- il arrive parfois que les adresses des interfaces VPN ne soient pas alignées. tun0 est utilisée côté VPS pour le VPN. Bien penser à noter l’ip de celle ci, et de la repliquer dans /etc/lighttpd/external.conf du VPS pour les services publiés en interne.
- bien entendu, la configuration pare feu (shorewall) sera avantageusement modifiée en ACCEPTant des services publiées (80 par ex) et DNATant les ports 443 (service domotique https securisé) et 65101 (shadowsocks proxy sécurisé avec redirection TCP)
- on pensera bien à configurer le routeur “principal” wifi pour qu’il tape sur le service interne DNS
Au final, un petit schéma (simplificateur 😉 – on ne montre pas toutes les interfaces réseaux côté client/VPS) pour ne pas trop s’y perdre
Du fait de quelques instabilités et surtout un peu de gigue (variations qui pouvait être importantes dans l’étalement, la “périodicité” des paquets TCP), l’utilisation du scheduler “redundant” (plutôt que BLEST) donne de bons résultats pour le moment.
Quelques infos intéressantes ici sur l’implémentation de ce scheduler, issue d’un projet de l’Union Européenne en sécurité: https://github.com/i2t/rmptcp