Sommaire
Entre nous, qui n’a jamais rêvé de remplacer la fameuse Livebox play d’Orange (FTTH) pour plus de stabilité et/ou de liberté en gardant évidemment toutes les fonctionnalités déjà existantes (Internet, TV et téléphone) ? J’ai découvert il y a un peu moins d’un an les produits Ubiquiti et notamment son petit routeur EdgeRouter Lite (3 ports + 1 port console).
En m’appuyant sur les recherches/tutoriels de www.homelabs.fr , www.github.com/c0mm0n et de zoc sur le forum lafibre que je remercie vraiment pour le travail effectué, j’ai finalement réussi à débrancher intégralement ma Livebox Play !
J’en profite donc pour vous faire un tutoriel détaillé sur la marche à suivre.
/ ! \ / ! \ 19/11/2017 : Grosse mise à jour du tutoriel pour la prise en compte du nouveau VLAN 832 de Orange. Le tutoriel ne bouge pas, j’ai seulement ajouté en bleu les nouvelles configuration. Les deux méthodes seront donc possibles, je vous l’indiquerai lorsque ce sera le cas.
Prérequis
- Abonnement Orange fibre, pour mar part « Livebox Jet Fibre » + Livebox Play + Décodeur TV
- Un routeur Ubiquiti EdgeRouter Lite 3 avec la dernière version (v1.7 mini)
- Quelques connaissances basiques (SSH via Putty, FTP/SFTP via FileZilla, Notepad++)
- Un peu de son temps, le reste je m’en occupe 😉
Schéma Structurel
Schéma Réseau
Il s’agit de l’ancien schéma ou nous retrouvons le VLAN DATA 835 (PPPOE).
Orange propose désormais la Data sur le nouveau VLAN 832. Dans le cadre de ce tutoriel qui existe depuis maintenant quelques années. J’ai simplement ajouté les modifications nécessaire afin de prendre en compte la nouvelle version et vous propose le choix.
Schéma ERL 3
Configuration step-by-step
Préparation des outils
Commencez par préparer les outils que nous allons utiliser lors de ce tutoriel :
- Téléchargez et/ou installez Putty qui vous permettra de prendre la main en SSH sur votre routeur ERL 3.
- Téléchargez et/ou installez FileZilla qui vous permettra de transférer des fichiers en FTP / SFTP sur votre routeur ERL 3.
- Téléchargez et/ou installez Notepad++ qui vous permettra d’éditer facilement les fichiers de configuration.
Préparation des fichiers de configuration
Fichier de configuration Orange
Copiez l’intégralité des données ci-dessous et collez les dans un nouveau fichier notepad++.
Choisissez entre une des deux méthodes (VLAN 832 ou VLAN 835 PPPoE).
Fichier de configuration pour VLAN 835 PPPoE.
firewall { all-ping enable broadcast-ping disable ipv6-receive-redirects disable ipv6-src-route disable ip-src-route disable log-martians enable name WAN_IN { default-action drop description "packets from Internet to LAN" enable-default-log rule 1 { action accept description "allow established sessions" log disable protocol all state { established enable invalid disable new disable related enable } } rule 2 { action drop description "drop invalid state" log disable protocol all state { established disable invalid enable new disable related disable } } } name WAN_LOCAL { default-action drop description "packets from Internet to the router" rule 1 { action accept description "allow established session to the router" log disable protocol all state { established enable invalid disable new disable related enable } } rule 2 { action drop description "drop invalid state" log disable protocol all state { established disable invalid enable new disable related disable } } } options { mss-clamp { interface-type pppoe interface-type pptp interface-type tun mss 1452 } } receive-redirects disable send-redirects enable source-validation disable syn-cookies enable } interfaces { bridge br0 { address dhcp aging 300 dhcp-options { client-option "send vendor-class-identifier "sagem";" client-option "send dhcp-client-identifier 1:00:00:00:00:00:00;" client-option "send user-class "\047FSVDSL_livebox.MLTV.softathome.Livebox3";" client-option "request subnet-mask, routers, rfc3442-classless-static-routes;" default-route update name-server update } hello-time 2 max-age 20 priority 0 promiscuous disable stp false } ethernet eth0 { address 192.168.1.1/24 description LAN1 duplex auto speed auto } ethernet eth1 { description Internet duplex auto speed auto vif 835 { address dhcp description FTTH pppoe 0 { default-route auto firewall { in { name WAN_IN } local { name WAN_LOCAL } } mtu 1492 name-server auto user-id fti/user password secret } } vif 838 { bridge-group { bridge br0 } description TV egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4" } vif 840 { bridge-group { bridge br0 } description TV egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5" } vif 851 { description VoIP egress-qos "0:6 1:6 2:6 3:6 5:6 6:6 7:6" } } ethernet eth2 { address 192.168.2.1/24 description LAN2 duplex auto speed auto } loopback lo { } } protocols { igmp-proxy { disable-quickleave interface br0 { alt-subnet 0.0.0.0/0 role upstream threshold 1 } interface eth0 { alt-subnet 0.0.0.0/0 role downstream threshold 1 } interface eth2 { alt-subnet 0.0.0.0/0 role downstream threshold 1 } } } service { dhcp-server { disabled false hostfile-update disable shared-network-name LAN1 { authoritative disable subnet 192.168.1.0/24 { default-router 192.168.1.1 dns-server 192.168.1.1 lease 86400 start 192.168.1.2 { stop 192.168.1.200 } } } shared-network-name LAN2 { authoritative enable subnet 192.168.2.0/24 { default-router 192.168.2.1 dns-server 192.168.2.1 lease 86400 start 192.168.2.21 { stop 192.168.2.200 } } } } dns { forwarding { cache-size 1000 listen-on eth2 listen-on eth0 } } gui { https-port 443 } mdns { reflector } nat { rule 5010 { outbound-interface pppoe0 type masquerade } rule 5011 { outbound-interface br0 type masquerade } } ssh { port 22 protocol-version v2 } upnp2 { listen-on eth0 listen-on eth2 nat-pmp enable secure-mode disable wan pppoe0 } } system { config-management { commit-revisions 50 } host-name ubnt login { user ubnt { authentication { encrypted-password $1$zKNoUbAo$gomzUbYvgyUMcD436Wo66. } level admin } } name-server 8.8.8.8 name-server 8.8.4.4 ntp { server 0.ubnt.pool.ntp.org { } server 1.ubnt.pool.ntp.org { } server 2.ubnt.pool.ntp.org { } server 3.ubnt.pool.ntp.org { } } offload { ipv4 { forwarding enable pppoe enable vlan enable } } package { repository wheezy { components "main contrib non-free" distribution wheezy password "" url http://http.us.debian.org/debian username "" } repository wheezy-security { components main distribution wheezy/updates password "" url http://security.debian.org username "" } } syslog { global { facility all { level notice } facility protocols { level warning } } } time-zone Europe/Paris } /* Warning: Do not remove the following line. */ /* === vyatta-config-version: "config-management@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@4:nat@3:qos@1:quagga@2:system@4:ubnt-pptp@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */ /* Release version: v1.6.0beta1.4705702.140925.2253 */
Etape 1.
Remplacez ligne 84 l’adresse mac « 00:00:00:00:00:00 » par celle de votre décodeur TV.
Note :
- Vous devez absolument garder le « 1: » devant l’adresse MAC.
- Si vous ne retrouvez pas l’adresse MAC de votre décodeur TV, vous pouvez utiliser celle de votre Livebox et y ajouter 4. (Par exemple : a1:b2:c3:d4:e5:f6, soit f6 + 4 = fa, l’adresse MAC est a1:b2:c3:d4:e5:fa)
Etape 2.
Remplacez ligne 121 le login « fti/user » par celui de votre connexion Orange.
Etape 3.
Remplacez ligne 122 le password « secret » par celui de votre connexion Orange.
Etape 4.
Attention, n’oubliez pas de modifier le format EOL Conversion du fichier sous Notepad++ avec « UNIX/OSX Format » avant la sauvegarde comme sur l’image ci-dessous.
Sauvegardez le fichier que vous venez de modifier sous le nom « config_orange.boot » et gardez le pour la suite.
Fichier de configuration pour VLAN 832.
firewall { all-ping enable broadcast-ping disable ip-src-route disable log-martians enable name WAN_IN { default-action drop description "WAN to internal" rule 10 { action accept description "Allow established/related" log disable protocol all state { established enable invalid disable new disable related enable } } rule 20 { action drop description "Drop invalid state" log disable protocol all state { established disable invalid enable new disable related disable } } } name WAN_LOCAL { default-action drop description "WAN to router" rule 1 { action accept description "Allow established/related" state { established enable related enable } } rule 3 { action drop description "Drop invalid state" log disable state { invalid enable } } } receive-redirects disable send-redirects enable source-validation disable syn-cookies enable } interfaces { ethernet eth0 { description LAN_ETH0 address 192.168.1.1/24 duplex auto speed auto } ethernet eth1 { description ISP duplex auto speed auto vif 832 { address dhcp description ISP_DATA dhcp-options { client-option "send vendor-class-identifier "sagem";" client-option "send user-class "\053FSVDSL_livebox.Internet.softathome.Livebox4";" client-option "send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX;" client-option "request subnet-mask, routers, domain-name-servers, domain-name, broadcast-address, dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, rfc3118-auth;" default-route update default-route-distance 210 name-server update } egress-qos "0:0 1:0 2:0 3:0 4:0 5:0 6:6 7:0" firewall { in { name WAN_IN } local { name WAN_LOCAL } } } vif 838 { address dhcp description ISP_TV_VOD dhcp-options { client-option "send vendor-class-identifier "sagem";" client-option "send user-class "\047FSVDSL_livebox.MLTV.softathome.Livebox4";" client-option "send dhcp-client-identifier 1:00:00:00:00:00:00;" client-option "request subnet-mask, routers, rfc3442-classless-static-routes;" default-route no-update default-route-distance 210 name-server update } egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4" } vif 840 { address 192.168.255.254/32 description ISP_TV_STREAM egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5" } } ethernet eth2 { address 192.168.2.1/24 description LAN_ETH2 duplex auto speed auto } loopback lo { } } protocols { igmp-proxy { disable-quickleave interface eth0 { role disabled threshold 1 } interface eth1 { role disabled threshold 1 } interface eth1.832 { role disabled threshold 1 } interface eth1.838 { role disabled threshold 1 } interface eth1.840 { alt-subnet 0.0.0.0/0 role upstream threshold 1 } interface eth2 { alt-subnet 0.0.0.0/0 role downstream threshold 1 } } } service { dhcp-server { disabled false hostfile-update disable shared-network-name LAN_ETH0_DHCP { authoritative enable subnet 192.168.1.0/24 { default-router 192.168.1.1 dns-server 192.168.1.1 lease 86400 ntp-server 192.168.1.1 start 192.168.1.100 { stop 192.168.1.200 } } } shared-network-name LAN_ETH1_DHCP { authoritative enable subnet 192.168.2.0/24 { default-router 192.168.2.1 dns-server 192.168.2.1 lease 86400 ntp-server 192.168.2.1 start 192.168.2.100 { stop 192.168.2.200 } } } use-dnsmasq disable } dns { forwarding { cache-size 1024 listen-on lo listen-on eth0 listen-on eth2 name-server 80.10.246.3 name-server 81.253.149.10 } } gui { http-port 80 https-port 443 listen-address 192.168.1.1 listen-address 192.168.2.1 older-ciphers disable } nat { rule 5001 { description "MASQ: WAN" log disable outbound-interface eth1.832 protocol all type masquerade } rule 5002 { description "MASQ: ORANGE" log disable outbound-interface eth1.838 protocol all type masquerade } } ssh { listen-address 192.168.1.1 listen-address 192.168.2.1 port 22 protocol-version v2 } upnp2 { listen-on eth0 nat-pmp enable port 34651 secure-mode enable wan eth1.832 } } system { config-management { commit-revisions 5 } conntrack { expect-table-size 4096 hash-size 4096 table-size 32768 tcp { half-open-connections 512 loose disable max-retrans 3 } } login { user ubnt { authentication { encrypted-password $1$zKNoUbAo$gomzUbYvgyUMcD436Wo66. } level admin } } name-server 127.0.0.1 ntp { server 0.ubnt.pool.ntp.org { } server 1.ubnt.pool.ntp.org { } server 2.ubnt.pool.ntp.org { } server 3.ubnt.pool.ntp.org { } } offload { hwnat disable ipsec enable ipv4 { forwarding enable gre enable vlan enable } ipv6 { forwarding enable vlan enable } } syslog { global { facility all { level notice } facility protocols { level warning } } } time-zone Europe/Paris traffic-analysis { dpi disable export disable } } /* Warning: Do not remove the following line. */ /* === vyatta-config-version: "config-management@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@5:nat@3:qos@1:quagga@2:system@4:ubnt-pptp@1:ubnt-unms@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */ /* Release version: v1.9.7+hotfix.3.5013619.170830.0242 */
Etape 1.
Remplacez ligne 98 l’adresse mac « 00:00:00:00:00:00 » par celle de votre décodeur TV.
Note :
- Vous devez absolument garder le « 1: » devant l’adresse MAC.</
- Si vous ne retrouvez pas l’adresse MAC de votre décodeur TV, vous pouvez utiliser celle de votre Livebox et y ajouter 4. (Par exemple : a1:b2:c3:d4:e5:f6, soit f6 + 4 = fa, l’adresse MAC est a1:b2:c3:d4:e5:fa)</
Etape 2.
Remplacez ligne 76 les caractères « :XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX » par le login « fti/user » codé en hexadécimal (Noté bien que le mot de passe n’est pas nécessaire dans cette configuration). Pour générer le login en hexa, vous pouvez utiliser par exemple le site suivant.
Saisissez le login dans le premier cadre, cliquez sur « Convert » puis copiez collez le code du deuxième cadre.
Etape 3.
Attention, n’oubliez pas de modifier le format EOL Conversion du fichier sous Notepad++ avec « UNIX/OSX Format » avant la sauvegarde comme sur l’image ci-dessous.
Sauvegardez le fichier que vous venez de modifier sous le nom « config_orange.boot » et gardez le pour la suite.
Fichier de configuration ClassLess Routes
Copiez l’intégralité des données ci-dessous et collez les dans un nouveau fichier notepad++.
# set classless routes based on the format specified in RFC3442 # e.g.: # new_rfc3442_classless_static_routes='24 192 168 10 192 168 1 1 8 10 10 17 66 41' # specifies the routes: # 192.168.10.0/24 via 192.168.1.1 # 10.0.0.0/8 via 10.10.17.66.41 RUN="yes" if [ "$RUN" = "yes" ]; then if [ -n "$new_rfc3442_classless_static_routes" ]; then if [ "$reason" = "BOUND" ] || [ "$reason" = "REBOOT" ]; then set -- $new_rfc3442_classless_static_routes while [ $# -gt 0 ]; do net_length=$1 via_arg='' case $net_length in 32|31|30|29|28|27|26|25) net_address="${2}.${3}.${4}.${5}" gateway="${6}.${7}.${8}.${9}" shift 9 ;; 24|23|22|21|20|19|18|17) net_address="${2}.${3}.${4}.0" gateway="${5}.${6}.${7}.${8}" shift 8 ;; 16|15|14|13|12|11|10|9) net_address="${2}.${3}.0.0" gateway="${4}.${5}.${6}.${7}" shift 7 ;; 8|7|6|5|4|3|2|1) net_address="${2}.0.0.0" gateway="${3}.${4}.${5}.${6}" shift 6 ;; 0) # default route net_address="0.0.0.0" gateway="${2}.${3}.${4}.${5}" shift 5 ;; *) # error return 1 ;; esac # take care of link-local routes if [ "${gateway}" != '0.0.0.0' ]; then via_arg="via ${gateway}" fi # set route (ip detects host routes automatically) ip -4 route add "${net_address}/${net_length}" \ ${via_arg} dev "${interface}" >/dev/null 2>&1 done fi fi fi
Etape 1.
Note : Comme pour le premier fichier, n’oubliez pas de modifier le format EOL Conversion avec « UNIX/OSX Format »
Sauvegardez le fichier que vous venez de modifier sous le nom « rfc3442-classless-routes » (aucune extension n’est nécessaire pour le fichier) et gardez le pour la suite.
Téléchargement du fichier dhclient3
Cette étape n’est à suivre uniquement si vous avez choisi la méthode VLAN 832. Téléchargez donc le fichier grâce à ce lien.
Configuration de l’ERL 3
Pour commencer, il faut que le PC depuis lequel vous allez faire les manipulations soit sur le même réseau que le routeur ERL3.
Par défaut son IP est 192.168.1.1, il faudra donc utiliser pour votre PC la configuration suivante (Par exemple) :
Adresse IP : 192.168.1.100
Mask : 255.255.255.0
Gateway : 192.168.1.1
Etape 1.
Branchez votre PC qui vous permettra d’administrer le routeur, sur son interface ETH0.
Etape 2.
Connectez-vous grâce à FileZilla sur le routeur. J’utilise pour ma part le protocol SFTP pour me connecter (port 22).
Uploadez le fichier de configuration « config_orange.boot » à ce niveau :
/config/config_orange.boot
Uploadez cette fois-ci le fichier de configuration « rfc3442-classless-routes » à ce niveau :
/home/ubnt/rfc3442-classless-routes
Etape 3.
Cette étape n’est à effectuer uniquement si vous avez choisi la méthode VLAN 832.
Toujours depuis FileZilla (CF ci-dessus pour la connexion), uploadez le fichier dhclient3 ici :
/home/ubnt/dhclient3
Etape 4.
Utilisez l’outil Putty pour vous connecter en SSH au routeur.
Les identifiants par défaut sont :
Login : ubnt
Password : ubnt
Etape 5.
Passez en mode « root ».
sudo -i
Etape 6.
Maintenant que nous sommes connectés avec des accès « root », nous allons pouvoir copier le fichier « rfc3442-classless-routes » au bon endroit en saisissant la commande suivante (« ls » permetant de lister le répertoire ou nous avons copié le fichier) :
cp /home/ubnt/rfc3442-classless-routes /etc/dhcp3/dhclient-exit-hooks.d/ ls /etc/dhcp3/dhclient-exit-hooks.d/
Afin d’éviter toute surprise, saisissez la commande suivante pour affiner les droits d’accès au fichier :
chmod 755 /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-routes
Etape 7.
Cette étape n’est à effectuer uniquement si vous avez choisi la méthode VLAN 832.
Copiez et remplacez le fichier dhclient3 via la commande ci-dessous :
cp /home/ubnt/dhclient3 /sbin/dhclient3
Puis modifiez les droits :
chmod 755 /sbin/dhclient3
Etape 8.
Cette étape n’est à effectuer uniquement si vous avez choisi la méthode VLAN 832.
Pour cette dernière modification, nous allons modifier le fichier suivant, editez le donc via :
vi /opt/vyatta/sbin/vyatta-interfaces.pl
Recherchez alors la ligne :
$output .= "option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;\n\n";
Et insérez juste en dessous la ligne suivante :
$output .= "option rfc3118-auth code 90 = string;\n\n";
Etape 9.
Nous allons maintenant appliquer la nouvelle configuration (fichier config_orange.boot), pour cela suivez et appliquez les commandes ci-dessous (en réspectant l’ordre) :
configure load config_orange.boot commit save exit
Etape 8.
Redémarrez le routeur en saisissant la commande suivante.
reboot
Etape 9.
Première connexion sur la console WEB de votre nouveau routeur. Pour cela, rien de plus simple, ouvrez votre navigateur web puis saisissez l’URL de connexion suivant :
https://192.168.1.1:443/
Les identifiants n’ont toujours pas changé et sont
Login : ubnt
Password : ubnt
Voici un premier état des différentes interfaces configurées. Pour le moment, seulement votre PC est connecté sur ETH0 donc tout est normale pas de panique.
Note : Quelques variations si vous avez suivis la configuration avec VLAN 832.
Branchement de l’ERL 3
La configuration de votre nouveau routeur étant terminée, il ne vous reste plus qu’à connecter les équipements au niveau des bonnes interfaces.
Etape 1.
Pour la partie TV, connectez votre décodeur TV Orange sur l’interface ETH2.
Etape 2.
Pour la partie Internet, connectez l’ONT sur l’interface ETH1.
Etape 3.
Pour la partie LAN, je vous conseille de connectez un switch sur l’interface ETH0 puis de distribuer le réseau sur vos autres équipements (borne wifi, tv, consoles, etc…).
Vérification du fonctionnement
Etape 1.
Dernière ligne droite, redémarrez à nouveau votre routeur ERL3 et reconnectez vous sur son interface d’administration web.
Etape 2.
Si tout est bien configuré, vous devriez être dans la même position que moi :
- L’interface ETH0 qui correspond à votre LAN1 a normalement récupéré l’adresse IP 192.168.1.1.
- L’interface ETH2 qui correspond à votre LAN2 a normalement récupéré l’adresse IP 192.168.2.1.
- L’interface PPPOE0 qui correspond à votre ETH1 a normalement récupéré votre adresse IP Public actuelle.
- L’interface BR0 est utilisée pour le décodeur TV et a normalement récupéré une adresse IP.
Avec la configuration VLAN 832 :
Etape 3.
Comme je vous le disais précédemment, j’ai actuellement un abonnement Orange « Livebox Jet Fibre » soit 500Mbits (débit descendant) et 200Mbits (débit Montant).
Voici le SpeedTest depuis chez moi après avoir remplacé ma Livebox Play Orange par le routeur Ubiquiti EdgeRouter Lite 3, pas mal non ? 🙂
De mon côté, je n’utilise pas la partie téléphone SIP. Mais n’hésitez pas à le tester chez vous et à nous faire un feedback si tout fonctionne correctement ou bien si vous rencontrez des problèmes.
Vous avez donc aujourd’hui remplacé intégralement la Livebox Play d’Orange et avez accès à internet et à la TV (dont la VOD / TV à la demande).
Si vous avez rencontré un problème lors des différentes configurations ou bien si vous avez tout simplement apprécié ce tutoriel, n’hésitez pas à nous laisser un message dans les commentaires ou bien à le partager autour de vous via les réseaux sociaux.
Ou acheter son ERL3 ?
Pour ma part, j’ai commandé l’EdgeRouter Lite 3 chez Amazon :
N’hésitez pas à poser toutes vos questions directement sur le forum Sys-Advisor accessible depuis ce lien.
Sources : [lafibre] [c0mm0n] [homelabs] [ubiquiti]