Mise à jour edgemax4orange pour EdgeOS 1.7

EdgeOS 1.7 est actuellement en RC2 et la version finale ne devrait plus trop tarder.

Dans le cadre du remplacement de la livebox, EdgeOS 1.7 Alpha 2 a ajouté une option intéressante :

[DHCP client] Add definition of DHCP option 121 in DHCP client config file. Suggested by and discussed with @c0mm0n @tivoli @bjck here.

Ca vous parle peut-être pas, mais c’est la dernière pièce du puzzle pour avoir une configuration sans la moindre bidouille !

Concrètement, ca permet de demander proprement les routes statiques lors de l’échange DHCP sur le « bridge vidéo ». Mais pour l’instant, le script, censé traiter la réponse, n’est pas encore implémentée.

En conséquence en 1.7 :
– Toutes les options passent par la config standard du routeur Edgemax
– Il suffit d’ajouter le script au bon endroit pour que tout fonctionne correctement.

Concrètement, ca donne ca :

En 1.7 la conf du bridge ressemble à ça :

bridge br0 {
        address dhcp
        aging 300
        description "WAN VIDEO"
        dhcp-options {
         client-option "send vendor-class-identifier "sagem";"
         client-option "send user-class "\047FSVDSL_livebox.MLTV.softathome.Livebox3";"
         client-option "send dhcp-client-identifier 1:2c:39:XX:XX:XX:XX;"
         client-option "request subnet-mask, routers, rfc3442-classless-static-routes;"
            default-route update
            default-route-distance 210
            name-server update
        }
        hello-time 2
        max-age 20
        priority 0
        promiscuous disable
        stp false
    }

Une nouvelle ligne est apparue :

client-option "request subnet-mask, routers, rfc3442-classless-static-routes;"

Ensuite il faut simplement :
– Récupérer le script « rfc3442-classless-routes » depuis les sources de Debian, ici par exemple.
– Le mettre dans « /etc/dhcp3/dhclient-exit-hooks.d/ »
– Le nommer « rfc3442-classless-routes »
– Dans le doute, je le « chmod 755″, mais ca ne semble facultatif.

Si vous n’êtes pas trop à l’aise avec ce genre de manips, une version plus clé en mains :
– Connectez vous en SSH au routeur puis :

sudo -i 
apt-get update
apt-get install wget
wget -O /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-routes http://sources.debian.net/data/main/i/isc-dhcp/4.2.2.dfsg.1-5+deb70u6/debian/rfc3442-classless-routes.linux
exit
renew dhcp interface br0

Pour illustrer cette technique, voici le résultat obtenu avec et sans le script installé (avec EdgeOS 1.7 RC2) après avoir renouvelé le bail DHCP (via « renew dhcp interface br0″ )

Avant le script en place, les routes après un renew dhcp br0 :

ubnt@edgerouter:~$ sudo route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         *               0.0.0.0         U     0      0        0 pppoe0
10.52.127.128   *               255.255.255.128 U     0      0        0 br0
loopback        *               255.0.0.0       U     0      0        0 lo
192.168.2.0     *               255.255.255.0   U     0      0        0 eth1
net1lo-bidon.bs *               255.255.255.255 UH    0      0        0 pppoe0

Une fois le script installé…

Avec le script en place…

ubnt@edgerouter:~$ sudo route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         *               0.0.0.0         U     0      0        0 pppoe0
10.52.127.128   *               255.255.255.128 U     0      0        0 br0
80.10.117.120   10.52.127.254   255.255.255.254 UG    0      0        0 br0
81.253.206.0    10.52.127.254   255.255.255.0   UG    0      0        0 br0
81.253.210.0    10.52.127.254   255.255.254.0   UG    0      0        0 br0
81.253.214.0    10.52.127.254   255.255.254.0   UG    0      0        0 br0
loopback        *               255.0.0.0       U     0      0        0 lo
172.19.20.0     10.52.127.254   255.255.254.0   UG    0      0        0 br0
172.20.224.167  10.52.127.254   255.255.255.255 UGH   0      0        0 br0
172.23.12.0     10.52.127.254   255.255.252.0   UG    0      0        0 br0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth1
193.253.67.88   10.52.127.254   255.255.255.248 UG    0      0        0 br0
193.253.153.227 10.52.127.254   255.255.255.255 UGH   0      0        0 br0
193.253.153.228 10.52.127.254   255.255.255.255 UGH   0      0        0 br0
net1lo-bidon.bs *               255.255.255.255 UH    0      0        0 pppoe0

Vous vous demanderez peut-être pourquoi ce script n’est pas fourni dans EdgeOS par défaut. Ubiquiti souhaite le modifier pour qu’ils s’intègrent mieux à leur environnement.

Mais quasiment 9 mois après avoir ouvert un fil pour ajouter cette option, elle est presque intégrée. Les équipes d’Ubiquiti ont été très réactives à toutes les demandes faites dans le cadre de ce projet, c’est assez rare pour être souligné et on touche quasiment au but, le script finira par être ajouté.

Le fil sur le forum Ubiquiti

Le repo Github est à jour

c0mm0n

Chasseur de livebox. Mangeur de Vlans.

  • Jerome Dewaele

    Bonjour,

    Merci pour tout le travail accompli !

    Je possède depuis lundi Un EdgeRouter POE en version 1.7. Je suis parti sur ta config « orange_5ports.boot »

    Comment faire pour que le script « rfc3442-classless-routes » soit toujours présent même après une coupure électrique ?

    En effet, à chaque coupure, je suis obligé de télécharger à nouveau le fichier et relancer le DHCP (avec renew…)

    C’est pas très WAF…

    De plus, j’ai une autre question :

    Je souhaite mettre la livebox sur l’eth0 et récupérer la téléphonie.

    Penses-tu que cela soit possible ?

    Merci pour ton aide

  • Opimon

    Hello,

    Petite question, est-ce que ce router supporte le flux RTSP pour la partie VOD ?