[Tuto] Pi-Hole, Livebox et décodeur TV Orange

Photographie ultra-rapide, pilotage d'imprimante 3D ou de CNC, fabrication de bière.... Enfin tout ce que le Raspberry peut gérer trouvera sa place dans cette rubrique

Modérateur : Francois

Répondre
Avatar du membre
LapinFou
Messages : 34
Enregistré le : jeu. 23 mai 2019 12:02
Localisation : Caen
Contact :

[Tuto] Pi-Hole, Livebox et décodeur TV Orange

Message par LapinFou » mar. 16 juin 2020 10:59

Bonjour à tous,

Pour faire suite à de nombreux échanges sur ce sujet ici pihole contre décodeur TV & Livebox (orange), j'ai décidé de faire un tuto expliquant comment bien utiliser le serveur DHCP du Pi-Hole afin de faire fonctionner les décodeurs TV Orange.

En préambule, voici une rapide présentation de l'application Pi-Hole:
C'est un logiciel qui s'installe sur les Rasperberry (mais pas que, de nombreuses autres distributions Linux sont supportées).
L'objectif de ce soft est de créer un serveur DNS local sur votre réseau. Pour mémoire, un serveur DNS est le mécanisme qui permet de trouver l’adresse IP correspondant à une adresse URL.
Par exemple, www.google.fr correspond à l'IP 216.58.213.163
L'intérêt d'avoir une DNS local Pi-Hole est de pouvoir filtrer les requêtes. En clair, tout les requêtes vers des pubs, tracker, etc... sont filtrées.
Personnellement, mon Pi-Hole permet de refuser environ 21% des requêtes. Concrètement, cela accélère un peu mes accès internet (je suis sur de l'ADSL de campagne) et surtout cela bloque une grande majorité des pubs quelque-soit mes appareils ! Cela fonctionne sur les ordis, smartphone, tablettes, etc...
Lors de la configuration de votre Pi-Hole, vous devrez configurer votre Raspberry Pi avec une adresse IP fixe.
Pour terminer ce préambule, on arrive au point qui fâche. Afin de pouvoir bénéficier de tout cela, il faut que le serveur DHCP qui distribue les adresses IP à vos appareils indique que le serveur DNS n'est plus celui de votre Livebox (en général, 192.168.1.1), mais l'adresse IP de votre Pi-Hole !
Pour faire cela, il faut désactiver le serveur DHCP de votre Livebox et activer le serveur DHCP du Pi-Hole. Et là, on arrive dans le vif du sujet. :) Votre décodeur TV Orange s'attend à communiquer avec le DHCP de votre Livebox et aucun autre serveur DHCP. Du coup, vous allez avoir un message d'erreur sur votre déco TV et vous n'aurez accès à aucun service.

Pour résoudre ce problème, il faut ajouter une config spécial au serveur DHCP de votre Pi-Hole, afin d’émuler le comportement de la Livebox et faire croire à votre déco TV que tout va bien.
La solution consiste à ajouter l'option "125" au serveur DHCP du PiHole.
Si vous ne faites pas cela vous allez obtenir, par exemple, une erreur G03 lors du démarrage de votre décodeur TV UHD.

Ce qu'il vous faut:
  • Récupérer les IPs des serveurs DNS Orange
    Vous les trouverez en vous connectant à votre LiveBox depuis "Informations système" → "Internet" → "4.12/4.13 Adresse IP du DNSv4 primaire/secondaire".
  • Récupérer le numéro de série de votre LiveBox
    En principe c'est l'étiquette sous la LiveBox ou depuis "Informations système" → "Général" → "1.4 Numéro de série".
  • Récupérer les l'adresse MAC de votre LiveBox
    Pareil, l'étiquette sous la LiveBox ou depuis "Informations système" → "Général" → "1.5 Adresse MAC".
    Cela donne une code hexadécimal de 12 caractères.
  • Récupérer la MAC adresse de votre décodeur TV
    Etiquette ou en accédant au menu "Assistance" en laissant votre doigt appuyé longtemps sur le bouton P- en façade du déco TV.
  • Vérifier si vous avez une Livebox 3, 4 ou Livebox Fibre (Livebox 5)
    Depuis "Informations système" → "Général" → "1.2 Modèle".
Il faut transformer le numéro de série de votre LiveBox en utilisant ce lien: String To Hex Converter
Exemple, si le numéro de série est "ABCDE0123456789", cela donne ce code hexa: "41:42:43:44:45:30:31:32:33:34:35:36:37:38:39"
Attention de bien respecter les majuscules/minuscules pour le numéro de série ("ABCD..." n'est pas la même chose que "abcd...") !

Pour continuer dans l'exemple, on dit que l'adresse MAC de votre LiveBox est: 01:23:45:67:89:AB
La MAC adresse du décodeur Orange est: AA:BB:CC:DD:EE:FF
Et que les 2 DNS sont: 84.84.84.100 et 84.84.84.101 (à noter que les serveurs DNS Orange sont différents suivant dans quelle région de France vous êtes).

Il faut créer un fichier 99-pihole-decodeurTV.conf dans le répertoire /etc/dnsmasq.d/ de votre PiHole (accès en SSH)
Préfixer avec "99" permet de s'assurer que les options ci-dessous sont bien appliquées en dernier et que rien ne va les modifier.

Dans ce fichier, il faut créer un tag decodeur contenant les DNS Orange ainsi que l'option 125 correspondant à votre équipement.
Pour finir, on applique ce tag spécial à l'adresse MAC de votre décodeur Orange.
Si vous avez 2 décodeurs Orange, il faut appliquer deux fois le tag pour chacune des adresses MAC de vos décodeurs Oranges. Exemple:
[...]
dhcp-host=MAC_ADDRESS_DECO1,set:decodeur
dhcp-host=MAC_ADDRESS_DECO2,set:decodeur
Ce qui nous donne:
Pour la Livebox 3
dhcp-option=tag:decodeur,option:dns-server,84.84.84.100,84.84.84.101
dhcp-option=tag:decodeur,125,00:00:0D:E9:24:04:06:01:23:45:67:89:AB:05:0F:41:42:43:44:45:30:31:32:33:34:35:36:37:38:39:06:09:4C:69:76:65:62:6F:78:20:33
dhcp-host=AA:BB:CC:DD:EE:FF,set:decodeur
Pour la LiveBox 4 (code hexa 34 à la fin au lieu de 33) :
dhcp-option=tag:decodeur,option:dns-server,84.84.84.100,84.84.84.101
dhcp-option=tag:decodeur,125,00:00:0D:E9:24:04:06:01:23:45:67:89:AB:05:0F:41:42:43:44:45:30:31:32:33:34:35:36:37:38:39:06:09:4C:69:76:65:62:6F:78:20:34
dhcp-host=AA:BB:CC:DD:EE:FF,set:decodeur
Et pour la Livebox Fibre (presque au début code hexa 28 au lieu de 24 + code hexa 46:69:62:72:65 à la fin au lieu de 33 ou 34) :
dhcp-option=tag:decodeur,option:dns-server,84.84.84.100,84.84.84.101
dhcp-option=tag:decodeur,125,00:00:0D:E9:28:04:06:01:23:45:67:89:AB:05:0F:41:42:43:44:45:30:31:32:33:34:35:36:37:38:39:06:0D:4C:69:76:65:62:6F:78:20:46:69:62:72:65
dhcp-host=AA:BB:CC:DD:EE:FF,set:decodeur

Voici ce que je pense avoir compris de l'option 125 utilisée par Orange:
dhcp-option=tag:decodeur,125,00:00:0D:E9:24:24 (36 en décimal) correspond au nombre total d'octets des sous-sections
:04:06:01:23:45:67:89:AB Ici, il faut comprendre "Sous-section 4 (:04) = 6 octets (:06)"
:05:0F:41:42:43:44:45:30:31:32:33:34:35:36:37:38:39Ici, il faut comprendre "Sous-section 5 (:05) = 15 octets (:0F)"
:06:09:4C:69:76:65:62:6F:78:20:34Ici, il faut comprendre "Sous-section 6 (:06) = 9 octets (:09)"

Du coup, dans le cas de la box Fibre (chaîne de caractères plus longue), cela donne cela:
dhcp-option=tag:decodeur,125,00:00:0D:E9:28:28 (40 en décimal) correspond au nombre total d'octets des sous-sections
:04:06:01:23:45:67:89:ABIci, il faut comprendre "Sous-section 4 (:04) = 6 octets (:06)"
:05:0F:41:42:43:44:45:30:31:32:33:34:35:36:37:38:39Ici, il faut comprendre "Sous-section 5 (:05) = 15 octets (:0F)"
:06:0D:4C:69:76:65:62:6F:78:20:46:69:62:72:65Ici, il faut comprendre "Sous-section 6 (:06) = 13 octets (:0D)"
  • Sous-section 04 → adresse MAC de votre LiveBox
  • Sous-section 05 → numéro de série de votre LiveBox après conversion en hexadécimal
  • Sous-section 06 → type de la Livebox après conversion en hexadécimal
    Concernant cette sous-section 06, cela fonctionne comme cela:
    4C:69:76:65:62:6F:78 = Livebox
    :20 = cela correspond à un espace (" ")
    46:69:62:72:65 = Fibre
    33 = 3
    34 = 4
    Vous pouvez vérifier par vous-même ici en rentrant, par exemple, ce code hexa "4C:69:76:65:62:6F:78:20:46:69:62:72:65" ou "4C:69:76:65:62:6F:78:20:34" : Hex To String Converter
Cette solution a été testé avec succès avec une Livebox 4 + un déco WHD93, ainsi qu'avec une Livebox Fibre + le nouveau déco UHD. :mrgreen:

Pour terminer, si vous souhaitez alloué une IP fixe à votre décodeur TV orange, il faut remplacer la ligne:
dhcp-host=AA:BB:CC:DD:EE:FF,set:decodeur
par ceci (dans cet exemple l'IP fixe sera 192.168.1.19 et le nom réseau de votre déco TV sera OrangeTV)
dhcp-host=AA:BB:CC:DD:EE:FF,set:decodeur,192.168.1.19,OrangeTV
Si vous choisissez d'allouer une IP fixe à votre décodeur TV, je vous conseille de choisir une IP hors de la plage DHCP configurée dans votre Pi-Hole

De la même manière, si vous voulez ajouter dans ce tag decodeur, l'IP de votre Livebox (par défaut 192.168.1.1) ainsi que le nom de domaine (par défaut chez Orange, c'est home), cela donne:
dhcp-option=tag:decodeur,option:router,192.168.1.1
dhcp-option=tag:decodeur,option:domain-name,home
dhcp-option=tag:decodeur,option:dns-server,84.84.84.100,84.84.84.101
[...]
Exemple concret utilisé chez moi (dans le Calvados, donc vos DNS Orange sont probablement différents).
Mon équipement: Livebox 4 + décodeur 4 (WHD93):
# Special settings for the Orange STB
dhcp-option=tag:decodeur,option:router,192.168.1.1
dhcp-option=tag:decodeur,option:domain-name,home
dhcp-option=tag:decodeur,option:dns-server,81.253.149.9,80.10.246.1
dhcp-option=tag:decodeur,125,00:00:0D:E9:24:04:06:xx:xx:xx:xx:xx:xx:05:0F:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:06:09:4C:69:76:65:62:6F:78:20:34
# Force the Orange STB IP
dhcp-host=xx:xx:xx:xx:xx:xx,set:decodeur,192.168.1.19,OrangeTV
Le DHCP de mon Pi-Hole distribue des IPs dans la plage 192.168.1.20 - 192.168.1.100

NB: tous ces options spécifiques sont appliquées uniquement avec le tag decodeur.
Vous pouvez choisir le nom que vous voulez du moment que vous mettez le même tag partout.

N'hésitez pas à poster vos retours d’expériences !

Pour terminer ce (très) long post, voici une information importante à également connaître:
Les décodeurs TV Orange sont prévus pour être connecté directement sur la Livebox. Si l'installation de votre maison ne vous le permet pas et que vous souhaitez brancher votre déco TV derrière un switch, il faut que celui-ci supporte l'IGMP SNOOPING.
Orange diffuse son flux TV avec un protocole spécial (meilleure qualité vidéo). Si vous ne faites rien, ce flux vidéo qui arrive sur votre switch va être diffusé de façon bourrine sur TOUS les ports de votre switch. Et çà, c'est mal. Cela entraîne le plus souvent de gros ralentissements même sur la partie internet/réseau local et aussi des micro-coupures pour les chaînes TV sur le déco Orange.
La fonction IGMP Snooping fonctionne comme cela: le switch voie arriver un flux vidéo. Mais il ne l'envoie nul part. Il est plus intelligent que cela. :geek: Il va attendre qu'un périphérique demande à accéder à ce flux vidéo. A partir de là, il va enregistrer que tel numéro de port souhaite avoir accès au flux TV dans une table intene. Ainsi, au lieu de broadcaster ce fameux flux partout, il va juste le rediriger vers les périphériques qui en ont vraiment besoin. :)

Avec toutes ces infos, vous devriez vous en sortir. :D
Modifié en dernier par LapinFou le mar. 30 juin 2020 12:35, modifié 36 fois.

brucine
Messages : 16
Enregistré le : mer. 22 avr. 2020 11:28

Re: [Tuto] Pi-Hole, Livebox et décodeur TV Orange

Message par brucine » mar. 16 juin 2020 15:10

Noter que les box tant Orange que Sfr supportent parfaitement, sans switch, que le décodeur soit relié à la box non pas par câble ethernet direct, mais chaque côté (box et décodeur) étant relié par câble ethernet à une CPL.

Avatar du membre
LapinFou
Messages : 34
Enregistré le : jeu. 23 mai 2019 12:02
Localisation : Caen
Contact :

Re: [Tuto] Pi-Hole, Livebox et décodeur TV Orange

Message par LapinFou » mar. 16 juin 2020 16:31

brucine a écrit :
mar. 16 juin 2020 15:10
Noter que les box tant Orange que Sfr supportent parfaitement, sans switch, que le décodeur soit relié à la box non pas par câble ethernet direct, mais chaque côté (box et décodeur) étant relié par câble ethernet à une CPL.
C'est vrai aussi. La connexion "câble RJ45" est remplacé par du CPL. Cela revient à avoir le déco TV branché tout seul sur sa prise Livebox. :)
J'ai lu (mais pas testé), que certain CPL se comportait mieux que d'autre pour passer ce flux vidéo continu.

NB: pour SFR, c'est de la "TV over IP", donc même un switch basique fait le boulot. J'étais chez SFR avant. J'ai découvert le problème de l'IGMP snooping avec Orange.
Modifié en dernier par LapinFou le mer. 17 juin 2020 09:31, modifié 1 fois.

brucine
Messages : 16
Enregistré le : mer. 22 avr. 2020 11:28

Re: [Tuto] Pi-Hole, Livebox et décodeur TV Orange

Message par brucine » mar. 16 juin 2020 19:41

Pour trouver un switch qui n'ait pas d'option igmp snooping, à part l'acheter chez Lidl en tête de gondole...

Le "souci" est plutôt que pour certains il faut paramétrer cette option, tandis que pour d'autres elle est au contraire activée par défaut et désactivable, certains enfin font dans le luxe avec au moins un port paramétré.

D'un autre côté, c'est devenu tellement courant, un switch, qu'il vient à nous échapper que s'il n'est pas pleinement administrable (ce n'est pas un Hub) il ne sert à rien.

Les CPL, ça peut avoir 2 types de souci:
-Les 2 prises cibles ne sont pas sur la même phase, et là on l'a dans le dos quel que soit le modèle
-L'inflation régulière du streaming vidéo fait que des modèles 200 Mb/s, plutôt haut de gamme il y a quelques années, sont devenus totalement obsolètes.
Il faut davantage viser des modèles 500-600 et plus, ce qui dépasse très largement le coût d'un switch manageable 8 ports de bonne qualité.
Mais le switch, ça a tout de même un aspect rédhibitoire pour un particulier s'il s'agit principalement de "gagner de la distance": ça fait courir du câble réseau partout, ce n'est pas d'un goût formidable.

Avatar du membre
LapinFou
Messages : 34
Enregistré le : jeu. 23 mai 2019 12:02
Localisation : Caen
Contact :

Re: [Tuto] Pi-Hole, Livebox et décodeur TV Orange

Message par LapinFou » mer. 17 juin 2020 09:29

brucine a écrit :
mar. 16 juin 2020 19:41
Pour trouver un switch qui n'ait pas d'option igmp snooping, à part l'acheter chez Lidl en tête de gondole...
Ce n'est pas tout a fait correct. En fait, beaucoup de switchs non-administrables ne supportent pas l'IGMP snooping nativement. Par exemple, les populaires Netgear GS105 et GS108.

Pour les non-initiés, un petit rappel sur la différence entre les switch et hubs:
Sur un hub, toutes les données arrivant sur un port sont renvoyées sur tous les ports. C'est une grosse multiprise avec 0 intelligence.
Les hubs n'existent quasi plus à notre époque.
Sur un hub 1Gb 4 ports, par exemple, c'est impossible d'avoir 100Mo/s entre les ports n°1 et n°2 et même temps que l'on a 100Mo/s entre les ports n°3 et n°4. :evil:

Les switchs sont plus intelligents. Si des données arrivent par exemple sur le port n°1, le switch va analyser a qui sont destinées ces données. Il ne va pas tout rebalancer partout sans réfléchir.
Sur un switch 1Gb 4 ports, par exemple, c'est possible d'avoir 100Mo/s entre les ports n°1 et n°2 et même temps que l'on a 100Mo/s entre les ports n°3 et n°4 à condition que la bande passante interne dans le switch soit suffisante. 8-)

Pour le reste je partage complètement ton avis. :mrgreen:

Répondre

Retourner vers « Les applications spécialisées du Raspberry Pi »