Libérer les connaissances

Project NoBox: La mission impossible (french edition)

Categories:
  • Personelles
  • FAI
  • NoBox
Tags:

Dans cet article, je vais vous parler de mon projet de remplacer ma box internet par mon propre routeur. Je vais vous parler de toutes les particularités d’un tel projet dans un pays tel que la France. Je sais que dans les autres pays (rien qu’en Belgique) le fonctionnement est totalement différent et les forfaits internet n’ont pas les mêmes particularités que celle en France.

Bonjour,

Le projet nobox est un projet initié par le fournisseur d’internet alternatifs et le plus ancien (selon leurs dires) qui est French Data Network (FDN): Son but est de rendre un internet propre de toutes pollutions donné par les fournisseurs d’accès, ils fournissent des connexions ADSL et des connexions VPN, à prix coûtant. Il s’agit d’une association loi 1901 et ils veulent rendre internet meilleur en fournissant des services clean au niveau des infrastructures.

La pollution des infrastructures venant d’une multitude de sources:

Le résultat de tout ça à donner naissance à l’initiative NoBox, qui consiste à jarter la box de l’opérateur partiellement ou en totalités de l’infrastructure.
Cependant, le réseau est tellement rigide (techniquement) et bien souvent utilise pas de normes officielles ou des normes modifié, qu’on est obligé de faire de la rétro-ingénierie pour trouver toutes les informations.
Pour compliquer le tout: La couche 1 OSI est de plus en plus dépendant du FAI et cela rend encore plus compliqué de changer la box de l’opérateur.

Pourquoi personnellement, j’ai voulu participer au projet NoBox? En plus de toutes les raisons que j’ai pu citer au-dessus, j’avais plus précisément besoin de ces trucs:

Et en prime, si je pouvais avec une box avec des technologies plutôt récentes: genre, le 5GHz ou le Gigabit Ethernet ça sera le must :-° …
Et en plus, pas trop cher, pour ne pas avoir dépensé 1 000€ à remplacer tous les 5 ans…
(Il est vrai que en relisant mon article j’en demande une quantité énorme… mais bon, il faut voir ces objectifs haut ^^)

Choix du type de Box/Routeur.

Pour commencer il faut choisir si on veut une box avec un système propriétaire, sans prise de tête et pour “geek” (ce que je conseille pas), un truc un peu professionnel qui inclue pas mal de fonctionnalité mais un peu cher et toujours avec certaines limitations (genre MikroTik), une petite box supporté par des projets opensource (comme openwrt, tomato and co) ou encore avec un petit PC ou encore une tour qui sera ce que l’on veut (routeur, serveur, NAS ect.)

J’ai longuement hésité: au tout début j’ai acheté une micro box, qui sert uniquement de routeur et très peu cher, pour commencer à monter mon réseau NoBox, mais je me suis retrouvé fasse à des limitations techniques très rapidement, voir TROP rapidement, ce qui m’a fallu retourner en urgence sur la box de mon opérateur pour que le reste du foyer retrouve un internet stable.

Une contrainte réelle et qui utilise le réseau que vous allez monter:

La partie modem…

Alors… la partie modem est quelque qui est probablement le plus compliqué en France si vous n’êtes pas en ADSL… Je m’explique: Je sais qu’un modem est la transformation de signaux électrique moduler en signaux binaires compréhensible par du matériel électronique. Mais je vais appeler ici, modem, tout équipement qui transforme des signaux analogiques (lumière, son, électricité, pigeon voyageur…) en signaux binaires. Ce qui rend le problème légèrement plus compliqué.
Si vous êtes en ADSL ou VDSL, vous êtes sur des signaux analogique simple où “1 fil” = 1 client. Par conséquent l’achat simplement d’un modem ADSL ou VDSL compatible avec la technologie suffit.
MAIS si vous êtes en coaxial ou fibre optique, cela est une autre paire de manche… car 1 FO peut agréger une multitude de clients et pour que votre voisin ne puisse pas lire votre flux internet, il faut le chiffrer (même par des moyens simples) pour différencier les différents paquets qui appartiennent à chaque client.

Mais dans ce cas, il s’agit uniquement du choix de votre opérateur avec des technologies plus ou moins simples à adapter… Si vous avez du coaxial, c’est déjà peine perdu, il vous reste plus qu’à transformer la box opérateur en bridge/modem, car la norme DOCIS2 utilisé par SFR/Numéricâble utilise des clés que l’on peut pas ou très difficilement retrouvé.
Si vous êtes dans un cas fibre optique, une seule solution: être chez un opérateur qui intègre par l’ONT directement dans la Box … Dans ce cas, il y a Orange qui à un SFP qui fait également ONT: il vous suffit alors de connecter le SFP à un module TP-LINK MC220L. Sinon, il y a Bouygues Télécom qui à un ONU complètement à part qui permet d’être totalement indépendant de la Box et d’avoir une partie modem simplement.
Si vous êtes chez SFR (fibre optique) ou chez Free, félicitation: Vous devenez officiellement inséparable de leur Box. Chez Free, il y a bien un SFP collé au cul de la Box, mais le SFP ne permet pas de décoder les signaux, la partie ONT est situé dans la Box (Cf. forum)
Si vous êtes chez SFR (fibre optique), alors là c’est encore plus simple, il y a ni ONT ou autre, il s’agit que d’une prise optique moulé directement dans le boîtier de la box. Du coup, aucun moyen d’essayer de changer le SFP. Vous êtes lié à lui par la vie …

La partie fonctionnalité/limitation infrastructure:

Je vais parler des limitations qui sont dépendantes de l’infrastructure de l’opérateur et donc même un changement de routeur n’y fera rien:

Et on ne peut malheureusement rien faire pour cela…. Sauf utiliser un VPN/Tunnel. En effet, il vous suffit d’ouvrir un tunnel autre part qui fourni un IPv4 fixe dédié, une plage IPv6, un reverse DNS. Pour cela je ne peux que vous conseiller la fédération française de FAI indépendant (FFDN) où de nombreux membres fournissent ce service (pas tous). Sinon dans le cas échéant vous avez toujours FDN (ici et ici) qui fournit ce service.

Si vous souhaiter pas un internet 100% clean, mais uniquement une adresse(/plage) IPv6, par exemple, vous pouvez utiliser des services gratuits tel que Hurricane Electric. Cependant faites attention, certains services (comme Netflix, par exemple), n’apprécie pas de voir une IP américaine, sur un compte français.

Le choix de l’opérateur:

Je ne vais pas vous conseiller un opérateur précis, car il est possible qu’il n’y ait qu’un seul opérateur fibre optique dans votre quartier par exemple. Ou encore vous avez des avantages marketing à être chez l’un plutôt que l’autre en agrégeant vos lignes de téléphone portable chez le même opérateur.
Mais des conseils globaux: Si vous souhaitez utiliser un tunnel, comme parler précédemment, pour rendre votre réseau propre, il y a presque qu’un seul critère à prendre en compte: Le débit…
Prenez l’opérateur avec le débit le plus rapide.

Il y a également la stabilité, mais malheureusement cela n’est parfait chez aucun opérateur. Excepté certains qui sont des calamités par rapport à d’autres (genre SFR).

low cost or not low cost

Sincèrement… OSEF, prenez le moins cher (donc low cost)
Les opérateurs low cost utilise exactement le même réseau que leur équivalent non low cost. La seule différence c’est le service client qui sera situé en France ou au Maroc (et encore des fois, tout est décentralisé, low cost ou non). Les opérateurs non low cost auront peut-être des avantages marketing en plus et après cela reste votre choix, mais au niveau qualité réseau/infrastructure, cela ne changera rien.

Opérateur réel Version low cost _
Orange Sosh  
SFR Red By Sfr  
Bouygues Télécom B&You Plus d’offre estampillé low cost
Free Edition Mini 4k Disparue des radars au moment de l’écriture de ces lignes

Coup de gueule contre les FAI français

Je voudrais rappeler que le principe de la fidélité client est de baisser les prix après un certains temps… pas les augmenter… Je change de box régulièrement (tous les ans) uniquement pour pas payer 60€ de connexion internet. Je sais qu’on est les moins chers d’Europe, mais normalement les prix doivent BAISSER au bout d’un an, pas AUGMENTER. Donc il faudrait arrêter de vous plaindre de perdre des abonnés. Fonctionnement normal: 1ᵉʳ année: 60€ 2ᵉ année: 50€ 3ᵉ année: 40€ 4ᵉ année: 30€ Et dans ce cas-là… vos clients resteront chez vous pendant des années et des années…

Clés en mains

Voilà, vous avez à peu près toutes les clés en mains pour savoir quoi et qui vous devez/voulez choisir. Si vous devez utilise le modem en mode bridge, ce n’est pas un drame, si vous prenez le soin de ne connecter aucun appareil à cette Box autre que le routeur. De plus, si vous laisser la Box opérateur en mode routeur, vous pourrez brancher la Box Télé si vous continuez d’utiliser la télé. Le principe de l’approche NoBox est de sécuriser un peu plus notre réseau et donc qu’il y ait une middle-box opérateur ou non, cela ne changera pas la valeur de notre installation, excepté qu’il y aura un appareil en plus de brancher sur le réseau électrique.

L’histoire de mon installation en NoBox:

J’étais initialement chez SOSH, initialement.
J’ai acheté 2 équipements pour remplacer la Box: un TP-LINK MC220L pour le SFP (modem) et un GL.inet MT300N-V2 pour la partie routeur (flasher avec OpenWrt). L’adaptateur TP-LINK MC220L fait carrément le taf, il réémet une bonne puissance dans l’Ethernet. Ce qui m’a permis de renvoyé le signal dans le RJ45 dans les mur et arrivé dans mon salon.
Le GL.inet lui était beaucoup plus mitigé, il a bien fait son taf au début, mais je me suis vite retrouvé limité: Il n’avait que 2 ports Fast Ethernet ce qui posait problème au niveau du débit. J’avais initialement un débit de 300mbit/s fortement limité par le GL.inet.
De plus, on a rajouté de nombreux appareils sur le wifi qui a engendré des reboots intempestifs et régulier du routeur… À la fin il rebootais presque toutes les 30 minutes ce qui était intenable.
j’ai dû re-basculer sur la Livebox pour éviter de me faire étrangler par mon foyer.
Je suis resté très longtemps sur la Livebox, car j’ai acheté un routeur beaucoup plus performant (sur le papier), mais qui n’a jamais démarré.

aparté Banana pi R2
J’ai acheté sur AliExpress (fournisseur officiel), une Banana Pi R2 … Elle n’a jamais fonctionné!
Je le clame haut et fort: c’est une arnaque.
Ils produisent du matériel que seul eux ont le code source d’un kernel fonctionnel (et encore c’est un bien grands mots).
De plus, ils ne le compilent uniquement pour certaine distribution et bien sur, pas celle que je veux, c’est-à-dire OpenWRT, alors même que son but initial est celui de faire office de Routeur!!!!
Je l’ai payé près de 130€ + 30€ de frais de douane!!!!!
De plus lorsque je réussissais à la démarrer sur une distribution autre, tel que ARMBIAN, on se retrouvait avec le Wifi désactiver, car de beaucoup trop mauvaise qualité.
Les Banana Pi sont à fuir totalement, le plus loin possible. Si vous souhaitez un constructeur de matos un peu low cost, je vous conseille de vous tourner vers les Orange Pi, ou sinon acheté un produit adapté.
fin de l’aparté

La fin de la période à prix réduit pour Sosh arriva et je me décida de me tourner vers Free (à non la box ne rentre pas dans le placard électrique et le SFP est intégré dans la box, donc retour à l’envoyeur)
… de me tourner vers Bouygues Télécom. Sosh/Orange, n’arrivait pas à me satisfaire, principalement en raison du blocage du port 25 qui est extrêmement problématique pour mon serveur mail.

Mais avec Bouygues, je me suis confronté à une autre déboire… l’ONT de Bouygues n’émet pas assez de puissance, ce qui m’empêchait d’envoyer les signaux de l’ONT dans les câbles du mur (~10m). j’ai dû utiliser un vieux switch pour qu’il amplifie le signal et pouvoir brancher la Box dans le salon.

Mais Bouygues ne fournit pas d’IPv6, ce qui rend mon serveur inaccessible sur un réseau moderne.
De plus, la Box de Bouygues permet beaucoup de fonctionnalité, mais pas celle de changer les DNS par exemple et pouvoir installer une BlackHole ou autre.

Par conséquent, j’ai de nouveau cherché un routeur en essayant d’éviter les déboires de la Banana Pi R2.
Après de nombreuses recherches, je suis tombé sur un modèle qui semblait satisfaisant au niveau matériel, mais qui n’était qu’au stade préliminaire de la prise en charge par OpenWrt. C’est un Xiaomi Mi routeur 4A Gigabit Version.
Je le recommande totalement!!! Pour le moment il faut connaitre un peu la compilation de Kernel linux, car des patchs circule sur GitHub qui ne sont pas inclus dans le dépôt stable de OpenWrt. Mais si vous n’avez pas de problème avec un peu de compilation, ce modèle correspond parfaitement à des besoins familiaux et avec la flexibilité de OpenWrt.
Je vais faire un micro-article pour la compilation de Xiaomi Mi 4A Gb.

Récupérer une adresse IP:

Nous sommes sur la dernière ligne droite, je considère à partir d’ici que vous avez trouvé votre matériel. Que vous l’avez réussi à le caser là où vous le vouliez et que vous souhaiter plus que récupérer une adresse IP pour communiquer sur internet.
Si vous souhaiter de l’aide à ce sujet (et tous ce qui concerne les réseaux en général), vous pouvez aller sur le forum lafibre.info qui résume comment remplacer la Box par un routeur et plus précisément sur cette section.

J’ai testé uniquement les 2 opérateurs pour lesquelles on peut remplacer la Box par un routeur:

fichier updateOrangeAuth.sh

#!/bin/sh

login='fti/*******'
pass='*******'

tohex() {
  for h in $(echo $1 | sed "s/\(.\)/\1 /g"); do printf %02x \'$h; done
}

r=$(dd if=/dev/urandom bs=1k count=1 2>&1 | md5sum | cut -c1-16)
id=${r:0:1}
h=3C12$(tohex ${r})0313$(tohex ${id})$(echo -n ${id}${pass}${r} | md5sum | cut -c1-32)

optionAuth=00000000000000000000001a0900000558010341010d$(tohex ${login})${h}

uci set network.wan.sendopts="77:2b46535644534c5f6c697665626f782e496e7465726e65742e736f66746174686f6d652e4c697665626f7834 90:${optionAuth}" 
uci set network.wan6.sendopts="11:${optionAuth} 15:FSVDSL_livebox.Internet.softathome.livebox4 16:0000040e0005736167656d"
uci commit

fichier firewall.user

iptables -t mangle -A POSTROUTING -j CLASSIFY --set-class 0000:0001 ## En gros tout le flux sortant passe dans la file 1 qui est en prio 0
iptables -t mangle -A POSTROUTING -p icmp -j CLASSIFY --set-class 0000:0006 ##On passe le flux icmp dans la file 6 qui est en prio 6
iptables -t mangle -A POSTROUTING -p igmp -j CLASSIFY --set-class 0000:0006 ## On passe le flux igmp (celui qui part vers eth1.832) dans la file 6 qui est en prio 6

#la même chose en ipv6 (avec cette fois le dhcpv6)
ip6tables -t mangle -A POSTROUTING -j CLASSIFY --set-class 0000:0001
ip6tables -t mangle -A POSTROUTING -p ipv6-icmp -j CLASSIFY --set-class 0000:0006
ip6tables -t mangle -A POSTROUTING -p udp --dport 547 -j CLASSIFY --set-class 0000:0006

fichier rc.local

sleep 10
ifdown wan # J'ai eu besoin de faire ça pour être sûr d'éviter l'ip privée sur le wan, depuis la maj 18.02.
ifconfig eth0 down


ifconfig eth0 hw ether **:**:**:**:**:** #Adresse MAC de la livebox


set -x
for i in 0 1 2 3 4 5 6 7; do
    ip link set eth0.832 type vlan egress $i:$i >/dev/null  ## Chaque file devient en priorité $numdefile
    ip link set eth0.840 type vlan egress $i:5 >/dev/null   ## tout en prio 5 sur le vlan 840

done
    ip link set eth0.832 type vlan egress 1:0 >/dev/null    ## La file (1) était donc en prio 1 on la repasse à 0, ça deviendra (via IPTABLES) la nouvelle file par défaut.
    ip link set eth0.832 type vlan egress 0:6 >/dev/null    ## Tout le flux devient en prio 6 ! sauf le flux qui passera par IPTABLES (donc juste nos requêtes dhcp)


ifconfig eth0 up
ifup wan
exit 0

Voilà… C’est la fin de cet article. Il est un peu dans le désordre et je balance un peu toutes les informations comme ça. Mais je souhaitais aider les personnes qui souhaitais faire un NoBox. Après j’ai l’intention de faire un article un peu plus créatif et un peu plus ambitieux, mais je vous encourage à poser toutes les questions qui vous viens, je modifierais l’article pour compléter en information.


Licence Creative Commons
Project NoBox: La mission impossible (french edition) de Clément Cachinho est mis à disposition selon les termes de la licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International.
Fondé(e) sur une œuvre à https://blog.noknow.ovh/article/Project-NoBox-Mission-Impossible.