- Correction d'une typo (la Livebox 5 est uniquement pour la fibre), merci à "buddy"
[EDIT] 28 Juin 2023
- Ajout de la Livebox 5 et Livebox 6
[EDIT] 14 Juin 2021
- Ajout d'un avertissement lorsque l'on fait les conversions de "texte → hexa"
[EDIT] 29 Septembre 2020
- Mise en forme pour aérer le tuto
- Ajout de commentaires
[EDIT] 28 Septembre 2020
J'ai testé ce WE avec vi-encap et cela ne fonctionne pas sur ma config (machine virtuelle CentOS 7 sur un NAS Synology).
Lorsque je vais dans le menu Assistance du décodeur Orange, cela marque n'importe quoi.
Donc, je reste sur ma config avec la définition manuelle de l'option 125.
N'hésitez pas à poster vos retours d'expérience !
[EDIT] 11 Septembre 2020
- Grace à la commande vi-encap disponible avec Dnsmasq, tout devient plus simple. Un grand merci à MayeulC
Les nouvelles explications sont à la fin de ce message.
[EDIT] 16 Août 2020
- Correction d'une erreur concernant l'utilisation de la MAC adresse de la Livebox
[EDIT] 12 Août 2020
- L'IP de la box peut être utilisée comme DNS.
- Utilisation de "dhcp-option-force" pour l'option 125
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, toutes 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 obligatoirement configurer votre Raspberry Pi avec une adresse IP fixe (Donner une IP locale fixe à votre Raspberry Pi).
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 (ou un écran tout blanc) lors du démarrage de votre décodeur TV UHD.
####################
#### CE QU'IL 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".
Edit du 12 Août 2020: l'IP fixe de la Livebox peut aussi être utilisée comme adresse DNS.
Une personne sur Reddit (ayant suivi mon tuto) a reporté qu'en utilisant l'IP de sa Livebox 3 cela fonctionnait, mais qu'en utilisant les IPs DNS cela ne fonctionnait pas pour lui.
J'ai testé en utilisant l'IP de la Livebox comme DNS et cela fonctionne parfaitement avec ma Livebox 4 + Décodeur TV 4. - Récupérer le numéro de série de votre LiveBox
En principe c'est l'étiquette sous la LiveBox ou depuis son interface web (http://livebox/ ou http://192.168.1.1) "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 son interface web (http://livebox/ ou http://192.168.1.1) "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.
Pour les décodeurs TV sans bouton en façade, suivez cette procédure → Décodeur TV UHD : accéder au menu maintenance - 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".
Cela devrait vous aider à ne pas vous mélanger les pinceaux.
#####################################################
#### LIVEBOX: CONVERSION MAC ADRESSE ET NUMÉRO DE SÉRIE ####
#####################################################
Dans cette étape, il y a deux conversions ASCII vers Hexadécimal à faire en utilisant ce lien: String To Hex Converter
Il faut transformer le numéro de série de votre LiveBox (1ère conversion).
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...") !
Il faut faire également attention à ne pas mettre un saut de ligne à la fin. Sinon, cela va ajouter un un code hexa "0D:0A" en trop.
Il faut également transformer les 6 premiers caractères de la MAC adresse de votre LiveBox (2ème conversion).
Par exemple, imaginons que l'adresse MAC de votre Livebox 4 Sercomm est : D4:60:E3:xx:xx:xx
→ seuls les 6 premières caractères comptent.
Donc, il faut convertir D460E3 en hexa (/!\ pensez bien à retirer les ":" !!!), ce qui donne 44:34:36:30:45:33
####################
#### POUR LA SUITE ####
####################
Pour la suite de ce long tutoriel, on dit que:
- le numéro de série de la Livebox convertie en "Hexa" est: 41:42:43:44:45:30:31:32:33:34:35:36:37:38:39
- les 6 premiers caractères de l'adresse MAC de la Livebox convertie en "Hexa" est: 01:23:45:67:89:AB
- l'adresse MAC du décodeur Orange est: AA:BB:CC:DD:EE:FF
- les 2 DNS Orange sont: 84.84.84.100 et 84.84.84.101
Toutes 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.
###############################################
#### CRÉATION D'UN FICHIER DNSMASQ PERSONNALISÉ ####
###############################################
Il faut créer un fichier
99-pihole-decodeurTV.conf
dans le répertoire ci-dessous de votre PiHole (accès en SSH)
/etc/dnsmasq.d/
Note:
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 des options spéciales avec le tag decodeur pour renseigner les DNS Orange ainsi que l'option 125 (correspondant uniquement à votre équipement). Au final, on applique ce tag decodeur à l'adresse MAC de votre décodeur Orange.
#####################################################
#### CONFIGURER LE(S) DNS UTILISÉ(S) POUR LE DÉCODEUR TV ####
#####################################################
Important:
Les serveurs DNS Orange sont différents suivant dans quelle région de France vous êtes.
Il faut spécifier les serveurs DNS Orange à votre décodeur TV Orange avec cette option;
Edit du 12 Août 2020: Dans les exemples ci-dessous, j'ai fait une modification importante.dhcp-option=tag:decodeur,option:dns-server,84.84.84.100,84.84.84.10
Au lieu d'utiliser les IPs des DNS Orange, j'ai utilisé directement l'adresse IP de la Livebox (par défaut c'est souvent 192.168.1.1).
Je dirais que c'est la solution à privilégier.
Si cela ne fonctionne pas, vous pouvez essayer en utilisant les "vraies" IPs DNS comme décrit juste ci-dessus.
Sauf problème, je recommande la solution suivante:
N'hésitez pas à partager vos retours d’expérience sur ce point là.dhcp-option=tag:decodeur,option:dns-server,192.168.1.1
############################
#### LA FAMEUSE OPTION 125 ####
############################
Edit du 12 Août 2020:
Afin de forcer l'envoi de l'option 125 dans tous les cas, j'ai remplacé "dhcp-option=xxx,125,xxx" par "dhcp-option-force=xxx,125,xxx".
Voici ce que je pense avoir compris de l'option 125 utilisée par Orange:
dhcp-option-force=tag:decodeur,125,00:00:0D:E9 → Ici, il faut comprendre "00:00:0D:E9 = 3561",c'est le numéro IANA de l'entreprise servant à identifier cette option
: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:39 → Ici, il faut comprendre "Sous-section 5 (:05) = 15 octets (:0F)"
:06:09:4C:69:76:65:62:6F:78:20:34 → Ici, 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-force=tag:decodeur,125,00:00:0D:E9 → Ici, il faut comprendre "00:00:0D:E9 = 3561",c'est le numéro IANA de l'entreprise servant à identifier cette option
:28 → :28 (40 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:39 → Ici, il faut comprendre "Sous-section 5 (:05) = 15 octets (:0F)"
:06:0D:4C:69:76:65:62:6F:78:20:46:69:62:72:65 → Ici, il faut comprendre "Sous-section 6 (:06) = 13 octets (:0D)"
- Sous-section 04 → 6 premiers caractères (sans les ":") de l'adresse MAC de votre LiveBox après conversion en hexadécimal. C'est le "GatewayManufacturerOUI".
Les 6 premiers code hexa (3 octets) correspondent à un code OUI (Organizationally Unique Identifier).
En clair toutes les Livebox construites par le même constructeur auront les mêmes 3 premiers octets.
Exemple, l'adresse MAC de ma Livebox 4 est: D4:60:E3:xx:xx:xx
Si je cherche "D460E3" dans le lien ci-dessus, cela m'indique: "Constructeur : Sercomm Corporation" - Sous-section 05 → numéro de série de votre LiveBox après conversion en hexadécimal. C'est le "GatewaySerialNumber"
- Sous-section 06 → type de la Livebox après conversion en hexadécimal. C'est le "GatewayProductClass"
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
######################
#### CONFIGURATION ####
######################
Maintenant que l'on a configuré le tag decodeur avec tous les paramètres nécessaires pour émuler le DHCP de la Livebox, il faut l'appliquer à votre décodeur TV Orange:
Ce qui nous donne (suivant le nom affiché dans le champ "1.2 Modèle" de votre Livebox) :dhcp-host=AA:BB:CC:DD:EE:FF,set:decodeur
Pour la Livebox 3
dhcp-option=tag:decodeur,option:dns-server,192.168.1.1
dhcp-option-force=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,192.168.1.1
dhcp-option-force=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
Pour la Livebox 5 (nommée LiveBox Fibre) (presque au début code hexa 28 au lieu de 24 + code hexa 0D au lieu de 09 + code hexa 46:69:62:72:65 à la fin au lieu de 33 ou 34) :
dhcp-option=tag:decodeur,option:dns-server,192.168.1.1
dhcp-option-force=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
Et pour la LiveBox 6 (forcement en mode fibre) (code hexa 36 à la fin au lieu de 34) :
########################################dhcp-option=tag:decodeur,option:dns-server,192.168.1.1
dhcp-option-force=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:36
dhcp-host=AA:BB:CC:DD:EE:FF,set:decodeur
#### SI VOUS AVEZ PLUSIEURS DÉCODEURS TV ####
########################################
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
#######################################
#### ALLOUER UNE IP FIXE AU DÉCODEUR TV ####
#######################################
Si, comme moi, vous souhaitez allouer une IP fixe à votre décodeur TV orange, il faut modifier la ligne comme ceci (dans cet exemple l'IP fixe sera 192.168.1.19 et le nom réseau de votre déco TV sera 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-Holedhcp-host=AA:BB:CC:DD:EE:FF,set:decodeur,192.168.1.19,OrangeTV
###############################
#### OPTIONS SUPPLÉMENTAIRES ####
###############################
Vous pouvez ajouter au 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), ce qui donne (à ajouter au début du fichier "99-pihole-decodeurTV.conf"):
Je ne sais pas si c'est vraiment utile, mais cela ne doit pas faire de mal.dhcp-option=tag:decodeur,option:router,192.168.1.1
dhcp-option=tag:decodeur,option:domain-name,home
[...]
#########################
#### EXEMPLES CONCRETS ####
#########################
Exemples concrets utilisés chez moi (évidemment, j'ai masqué le numéro de série de ma Livebox et l'adresse MAC de mon décodeur TV).
Mon équipement: Livebox 4 + décodeur TV 4 (WHD93):
Autre exemple où vous souhaitez allouer une IP fixe à votre décodeur TV.# 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,192.168.1.1
dhcp-option-force=tag:decodeur,125,00:00:0D:E9:24:04:06:44:34:36:30:45:33: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
dhcp-host=xx:xx:xx:xx:xx:xx,set:decodeur
Le DHCP de mon Pi-Hole distribue des IPs dans la plage 192.168.1.20 - 192.168.1.100
Je choisis d'allouer l'IP fixe 192.168.1.19 à mon décodeur TV.
# 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,192.168.1.1
dhcp-option-force=tag:decodeur,125,00:00:0D:E9:24:04:06:44:34:36:30:45:33: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
[===========-------===========]
########################
#### UTILISER VI-ENCAP ####
########################
Merci à MayeulC qui propose une solution avec vi-encap encore plus simple et qui évite de faire les fastidieuses conversions "String to Hexa".
Cela permet remplir facilement les champs 4, 5 et 6 de l'option 125.
Personnellement cette solution plus simple ne fonctionne pas chez moi.
Pour info, j'ai testé PiHole sur une machine virtuelle CentOS 7, avec Docker (Synology NAS) et sur mon Raspberry 3.
Quand je dis que cela ne fonctionne pas, ce n'est pas tout à fait exact. Le décodeur TV fonctionne, mais lorsque je vais dans le menu Assistance au lieu d'afficher un joli Livebox 4, cela affiche des caractères bizarres suivi du code constructeur. Comme je suis psyorigide, je reste sur la 1ère solution.
Voilà comme cela fonctionne:
Code : Tout sélectionner
dhcp-option-force=tag:decodeur,vi-encap:<NUMÉRO IANA>,<NUMÉRO SECTION>,"<TEXTE QUI VA ÊTRE CONVERTI EN HEXADÉCIMAL>"
Pour reprendre l'exemple ci-dessus, cela donne:# Option 125 Suboption: (4) GatewayManufacturerOUI
dhcp-option-force=tag:decodeur,vi-encap:3561,4,"<CODE_CONSTRUCTEUR_OUI>"
# Option 125 Suboption: (5) GatewaySerialNumber
dhcp-option-force=tag:decodeur,vi-encap:3561,5,"<SERIAL_DE_LA_BOX>"
# Option 125 Suboption: (6) GatewayProductClass
dhcp-option-force=tag:decodeur,vi-encap:3561,6,"<TYPE_LIVEBOX>"
Autre exemple pour une Livebox fibre:# 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,192.168.1.1
dhcp-option-force=tag:decodeur,vi-encap:3561,4,"D460E3"
dhcp-option-force=tag:decodeur,vi-encap:3561,5,"ABCDE0123456789"
dhcp-option-force=tag:decodeur,vi-encap:3561,6,"Livebox 4"
# Force the Orange STB IP
dhcp-host=xx:xx:xx:xx:xx:xx,set:decodeur,192.168.1.19,OrangeTV
C'est indéniablement plus simple.# 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,192.168.1.1
dhcp-option-force=tag:decodeur,vi-encap:3561,4,"D460E3"
dhcp-option-force=tag:decodeur,vi-encap:3561,5,"ABCDE0123456789"
dhcp-option-force=tag:decodeur,vi-encap:3561,6,"Livebox Fibre"
# Force the Orange STB IP
dhcp-host=xx:xx:xx:xx:xx:xx,set:decodeur,192.168.1.19,OrangeTV
[===========-------===========]
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. 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.