Connexion fibre – Remplacer la livebox

En passant d’un accès adsl chez OVH, à un accès fibre chez Sosh, je me suis donc retrouvé avec une livebox sur les bras pour la connexion au réseau. N’étant pas fan de l’interface et disposant déjà d’un routeur entièrement configuré et responsable de la gestion de l’ensemble de mon LAN, j’ai donc rapidement cherché à remplacer la livebox par mon routeur tournant sous Advanced Tomato.

Pour la configuration, je me suis basé sur les deux liens ci-dessous. Le premier sur le forum lafibre.info, réunit toutes les informations nécessaires à la configuration d’un routeur sous Advanced Tomato sur le réseau d’Orange. Le deuxième complète avantageusement le premier lien, en donnant un exemple détaillé de configuration et de nombreuses informations sur le contexte de connexion à la fibre d’Orange.

Génération de l’identifiant de connexion hexadécimal

L’identifiant de la connexion orange est de la forme fti/xxxx, la partie qui nous intéresse est celle qui suit le préfixe fti/, et qu’il faut convertir en hexadécimal pour l’ajouter dans la configuration de l’option 90. Le code JavaScript suivant permet de générer la chaîne nécessaire:

function strToHex(str) {
  let result = '';
  for (let i = 0; i < str.length; i++) {
    result += str.charCodeAt(i).toString(16);
  }
  return result;
}
console.log(strToHex(xxxx));
Mise en place des options 77 et 90

Dans l’interface du routeur sous Advanced Tomato, dans la partie Administration > Scripts, onglet Init, j’ajoute le code suivant en remplaçant les xxxxxx par la chaîne hexadécimale générée précédemment :

cp -R /sbin/ /tmp/sbin
rm /tmp/sbin/udhcpc
echo 'exec busybox udhcpc -O 0x4d -O 0x5a -x 0x4d:2b46535644534c5f6c697665626f782e496e7465726e65742e736f66746174686f6d652e4c697665626f7833 -x 0x5a:00000000000000000000001a0900000558010341010d6674692fxxxxxx "$@"' > /tmp/sbin/udhcpc
chmod +x /tmp/sbin/udhcpc
mount --bind /tmp/sbin/ /sbin
Priorité et classement du trafic

Pour la suite, on ajoute de la priorité au trafic, cette fois dans l’onglet firewall :

### Version 16 20181010
### https://lafibre.info/remplacer-livebox/tuto-remplacer-la-livebox-par-un-routeur-dd-wrt-internet-tv/

### Priorite / CoS pour Internet

# File 0 (par defaut) pour le DHCP (raw-socket), file 1 pour le reste du trafic
vconfig set_egress_map vlan832 0 6
vconfig set_egress_map vlan832 1 0

### On classe le trafic Internet dans les bonnes files

# Tout le trafic priorite 1 (CoS 0)
iptables -t mangle -A POSTROUTING -j CLASSIFY --set-class 0000:0001

# Client DHCP non raw-socket (pas le cas de udhcpc) mais sert aussi pour le renew
iptables -t mangle -A POSTROUTING -o vlan832 -p udp --dport 67 -j CLASSIFY --set-class 0000:0000
Configuration du VLAN 832

Dans la partie Basic Settings > Network, partie WAN Settings, sélectionner DHCP.
Dans la partie Advanced Settings > VLAN, ajouter un VLAN supplémentaire, portant le VID 832. Pour ce VLAN, compléter les colonnes de la façon suivante :

  • WAN Port : Yes
  • Tagged : On (Colonne après WAN Port)
  • Bridge: WAN

Le reste de colonnes restent vides pour le VLAN 832. En cas de doute, se référer à l’image présente sur la page du forum lafibre.info dont le lien figure plus haut.

Conclusion

Une fois cette configuration mise en place, il ne reste plus qu’à redémarrer le routeur, et à croiser les doigts en espérant ne pas avoir fait d’erreurs de recopiage. Dans le cas contraire, il faudrait passer au débug de la configuration, ce qui est une autre paire de manche. Dernier point, s’il m’arrive de perdre la connexion, suite à un changement de configuration, ou plus généralement, après un changement de câblage ayant laisser le router déconnecté de l’ONT plusieurs minutes, je retrouve une connexion fonctionnelle en forçant le renouvellement de la connexion dans l’interface Status > Overview, encart WAN, bouton Renew.

A terme, il n’est pas impossible que je procède au changement de mon routeur R7000. En effet, Advanced Tomato ayant beau être fantastique à utiliser, celui-ci, basé sur Tomato Shibby, n’est plus mis à jour. Il faudrait que j’étudie plus en détails les implications, ou plutôt la vulnérabilité actuelle du composant aux failles de sécurité découvertes ses derniers mois. Quelques internautes semblent utiliser un routeur MikroTik en remplacement de leur livebox avec succès, c’est une piste à creuser, d’autant plus que ce n’est pas la première fois que j’entends parler de cette marque.

Anonyme

Auteur/autrice : Victor

Ingénieur en informatique de formation et de métier, j’administre ce serveur et son domaine et privilégie l'utilisation de logiciels libres au quotidien. Je construis progressivement mon "cloud" personnel service après service pour conserver un certain contrôle sur mes données numériques.

2 réflexions sur « Connexion fibre – Remplacer la livebox »

  1. Salut Victor, je lance une bouteille à la mer, si jamais tu utilises encore ton routeur Tomato chez Sosh, je n’arrive plus à obtenir d’ip après un passage d’un an chez Bouygues.
    J’ai reset mon routeur, mais rien. Si jamais ca marche encore chez toi, pourrais tu me dire si des choses on changée ?

    Merci !

  2. Salut Zethis !

    J’utilise toujours mon R7000 avec Sosh en remplacement de la box fournie. Le principal changement depuis août 2019 se situe du côté du firmware, puisque je suis passé de AdvancedTomato à FreshTomato (http://freshtomato.org/).

    La configuration reste valide.
    La mise en place des options 77 et 90 peut désormais s’effectuer directement dans le champ Advanced > DHCP/DNS > DHCPC Options. Le VLAN 832 est toujours d’actualité sur le port WAN. J’utilise toujours le script décrit dans « priorité et classement de trafic ».

    Les logs m’avaient beaucoup aidé lors d’une précédente session de débug. J’avais les messages signalant le problème. Leur donner une signification et trouver une solution de contournement fut une autre histoire. J’en parle ici: https://www.unicoda.com/?p=2973.

    J’ai parfois lu qu’une remise à zéro de la configuration avec suppression de toutes les données de la NVRAM était nécessaire pour certaines mises à jour de firmware. C’est peut-être une solution à tenter au moins une fois en dernier recours.

    Bon débug !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *