Auteur Sujet: Tutoriel ERL GS108Tv2 + ERL3 + Livebox pour Tel et TV - infra DHCP  (Lu 3910 fois)

0 Membres et 1 Invité sur ce sujet

mathew.lear.fr

  • Abonné Free fibre
  • *
  • Messages: 94
  • Charenton-Le-Pont
Premiere chose, merci a thegibs et renaud07.
Jai creer cette poste pour regroupe tous les info qui se trouve adroit et a gauche...


1st step is to configure the GS108Tv2

Bonjour,

Tout d'abord merci aux contributeurs du thread Ubiquity (zoc, kgersen, florian, MikeTheFreeMan…) qui ont fourni la recherche et les éléments nécessaires à la mise en œuvre de ce tuto. Ce post sera mis à jour en fonction des premiers retours.

L'ambition de ce post est de proposer une solution *générique* permettant de prendre en charge le nouveau mode de connexion Fibre Livebox (DHCP) avec des routeurs ne supportant pas le changement de CoS (Class of Service) nécessaire en particulier pour les échanges DHCP indispensables à l'obtention d'une adresse IP.

Pour rappel, les demandes DHCP depuis votre équipement doivent être marqués en CoS=6 (sauf quelques exceptions remontées par quelques chanceux abonnés, si ce n'est pas le cas vous n'aurez… pas d'adresse donc pas d'Internet).

Notoirement, le routeur Ubiquity ERL ne sait pas nativement faire ce travail (il existe des solutions à base de patchs et de compilation custom, voir le thread dédié au routeur). Beaucoup d'autres routeurs 'grand public' auront ce soucis.

Pour ce premier essai (testé avec succès au moins pour la partie Internet à ce jour), l'objectif est de mettre en œuvre le schéma suivant:

Câblage:
Port 1 du switch Netgear GS108Tv2 => Port WAN du routeur.
Switch Netgear GS108Tv2 port 2 => ONT
Routeur (port à dédier à la Livebox) => Livebox Play port WAN (Internet)
Livebox Play (port "TV") => Boîtier Livebox TV
Livebox Play (port RJ11) => Téléphone
Routeur (port(s) à dédier à votre LAN interne) => switch (réutiliser le Netgear sur les ports 3 à 8 est tout à fait possible) => vos appareils locaux

Ca donne ceci pour le câblage:



Configuration du switch: se connecter à l'adresse IP du switch sur votre réseau interne. Mettre à jour le firmware (ici: http://www.netgear.com/support/product/GS108Tv2). Ensuite (reboot), procéder à la configuration suivante.


Choisir les ports à utiliser. Dans cet exemple, on prendra le port 1 (g1) pour le routeur, et le port 2 (g2) pour l'ONT.

Créer les VLANs


Assigner les VLANs aux 2 interfaces. Ici sur le VLAN 832, on coche les ports à utiliser. Procéder de même pour les VLANs 838 et 840 précédemment créés.


Enfin, restreindre tout traffic sur les 2 ports uniquement aux VLANs


Maintenant, passons à la QoS.
Créer une classe. Il suffit de lui donner un nom (reconnaissable :) ) et de faire 'Add' en bas à droite.


Cliquer sur le nom de la classe:


Il faut maintenant définir des critères discriminants, qui permettront d'identifier le trafic concerné par cette classe. Onn choisira le plus générique possible, à savoir un trafic du port 68 vers 67, sur le VLAN 832. Puis 'Apply' (attention ça n'est pas modifiable, il faut supprimer/recréer la classe si besoin, après l'avoir détachée des Policy et Service Configuration associées (voir plus loin).


Il nous faut maintenant créer une Policy Configuration (en clair: que doit-on faire de ce trafic défini dans la classe). A nouveau, pour commencer on lui donne juste un nom, puis on fait 'Add'.
[EDIT]: donner un nom générique à la Policy, car il sera peut-être nécessaire d'en créer plusieurs associations avec les classes, ce nom ne doit donc plutôt pas être attaché à "l'action" de la Policy, mais plutôt au profil de connexion recherché (Internet, Orange,...). Les images seront mises à jour lorsque d'autres policies seront ajoutées au tuto. Merci à MikeTheFreeMan.


Ensuite, on clique sur le nom de la policy créée:


Et on configure "l'action" à effectuer, en l'occurrence, marquer la CoS à 6. Rien d'autre, et 'Apply'.


Ensuite, direction la Service Configuration. Nous allons associer cette Policy Configuration à un port 'in' dédié (ici le g1). Puis 'Apply'.


Et voilà pour le moment.

Il manque encore:
   - Le marquage CoS du trafic voix (CoS=5)
   - Le marquage CoS d'autres types de trafic (ICMP, IGMP…)
   - L'IPv6, mais pour le routeur ERL il est probable que cela exige une évolution de l'OS, le switch ne pourra pas influer (voir contributions dans ce fil)

D'après les premiers retours ce n'est pas nécessaire, mais cela permettra de se rapprocher au mieux de la configuration de la Livebox.
Pour ma part, je n'ai pas encore testé car je ne maîtrise pas encore bien l'ERL pour le configurer en "parent" de la Livebox. Indiquez en réponse vos tests et partagez votre expérience avec tel ou tel routeur !

EDIT: une ressource équivalente trouvée par florian: http://flyovercountry.org/2014/02/google-fiber-gigabit-speeds-your-router-part-2-qos/

Merci encore à tous les contributeurs.

« Modifié: 21 avril 2016 à 07:02:49 par mathew.lear.fr »

mathew.lear.fr

  • Abonné Free fibre
  • *
  • Messages: 94
  • Charenton-Le-Pont
DHCP GS108Tv2 + ERL3 + Livebox pour Tel et TV
« Réponse #1 le: 19 avril 2016 à 08:05:47 »
2nd Step is to modify /opt/vyatta/sbin/vyatta-interfaces.pl as shown below (to do this the easiest way is to use vi via putty):

OK, c'est une bonne nouvelle.

Pour l'ERL il suffira donc de patcher le fichier perl qui génère le fichier de configuration DHCP. Pas très difficile.

Update: Alors, pour un firmware 1.7 (et sans doute suivants), il faut modifier le fichier /opt/vyatta/sbin/vyatta-interfaces.pl. Rechercher la ligne

$output .= "option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;\n\n";
et rajouter en dessous

$output .= "option rfc3118-auth code 90 = string;\n\n";



mathew.lear.fr

  • Abonné Free fibre
  • *
  • Messages: 94
  • Charenton-Le-Pont
DHCP GS108Tv2 + ERL3 + Livebox pour Tel et TV
« Réponse #2 le: 19 avril 2016 à 08:18:46 »
3rd step is to configure your erl3 with the correct settings (see image in 1st post for wiring details):

Use this tool to generate your own "send rfc3118-auth" https://jsfiddle.net/kgersen/45zudr15/embedded/result/
Add the output from above to line 127 of the config.boot
Make sure that you add your own login details on line 254 otherwise you wont be able to login

hers is my config.boot which gives the following setup, after a reboot my erl takes up to 5 minutes to get its IP address, please be patient, once you have an IP its also a good idea to reboot your livebox via the power button:





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 "WAN to internal"
        enable-default-log
        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 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
            }
        }
    }
    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 {
        aging 300
        bridged-conntrack disable
        hello-time 2
        max-age 20
        priority 0
        promiscuous disable
        stp false
    }
    bridge br1 {
        aging 300
        bridged-conntrack disable
        hello-time 2
        max-age 20
        priority 0
        promiscuous disable
        stp false
    }
    ethernet eth0 {
        duplex auto
        speed auto
        vif 832 {
            address 192.168.2.1/24
            description LIVEBOX
        }
        vif 838 {
            bridge-group {
                bridge br0
            }
            egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
        }
        vif 840 {
            bridge-group {
                bridge br1
            }
            egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
        }
    }
    ethernet eth1 {
        duplex auto
        speed auto
        vif 832 {
            address dhcp
            address dhcpv6
            description "Internet VoIP et Canal 2"
            dhcp-options {
                client-option "send vendor-class-identifier "sagem";"
                client-option "send user-class "\053FSVDSL_livebox.Internet.softathome.Livebox3";"
                client-option "send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:66:74:69:2F:39:63:32:XX:XX:XX:XX;"
                client-option "request dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, domain-search, rfc3118-auth, SIP;"
                default-route update
                default-route-distance 210
                name-server update
            }
            egress-qos "0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7"
            firewall {
                in {
                    name WAN_IN
                }
                local {
                    name WAN_LOCAL
                }
            }
            ipv6 {
                address {
                    autoconf
                }
                dup-addr-detect-transmits 1
            }
        }
        vif 838 {
            bridge-group {
                bridge br0
            }
            description VoD
            egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
        }
        vif 840 {
            bridge-group {
                bridge br1
            }
            description "Canal 1 et zapping"
            egress-qos "0:5 1:5 2:5 3:5 5:5 6:5 7:5"
        }
    }
    ethernet eth2 {
        address 192.168.66.1/24
        duplex auto
        speed auto
    }
    loopback lo {
    }
}
protocols {
    igmp-proxy {
        disable-quickleave
        interface br1 {
            alt-subnet 0.0.0.0/0
            role upstream
            threshold 1
        }
        interface eth0 {
            alt-subnet 0.0.0.0/0
            role downstream
            threshold 1
        }
    }
}
service {
    dhcp-server {
        disabled false
        global-parameters "option rfc3118-auth code 90 = string;"
        global-parameters "option SIP code 120 = string;"
        hostfile-update disable
        shared-network-name LAN {
            authoritative disable
            subnet 192.168.66.0/24 {
                default-router 192.168.66.1
                dns-server 192.168.66.1
                dns-server 8.8.8.8
                lease 86400
                start 192.168.66.50 {
                    stop 192.168.66.199
                }
            }
        }
        shared-network-name LIVEBOX {
            authoritative enable
            subnet 192.168.2.0/24 {
                default-router 192.168.2.1
                dns-server 81.253.149.9
                dns-server 80.10.246.1
                domain-name orange.fr
                lease 86400
                start 192.168.2.100 {
                    stop 192.168.2.200
                }
                subnet-parameters "option rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:64:68:63:70:6c:69:76:65:62:6f:78:66:72:32:35:30;"
                subnet-parameters "option SIP 00:06:73:62:63:74:33:67:03:41:55:42:06:61:63:63:65:73:73:11:6f:72:61:6e:67:65:2d:6d:75:6c:74:69:6d:65:64:69:61:03:6e:65:74:00;"
            }
        }
    }
    dns {
    }
    gui {
        https-port 443
    }
    mdns {
        reflector
    }
    nat {
        rule 5010 {
            log disable
            outbound-interface eth1.832
            protocol all
            type masquerade
        }
    }
    ssh {
        port 22
        protocol-version v2
    }
    upnp2 {
        listen-on eth0.832
        listen-on eth2
        nat-pmp enable
        secure-mode disable
        wan eth1.832
    }
}
system {
    config-management {
        commit-revisions 50
    }
    host-name ubnt
    login {
        user mathew {
            authentication {
                encrypted-password $6$E4xfu3Z2Bb7Db$e5x9rhLLvVgvzthXjntQ8N7XO9toBbBZ7IV7jGV8JZknKQvI0.w9kamu1v4NgWW0cG.kUkt1q/Yu129bNjazu1
            }
            level admin
        }
    }
    name-server 8.8.8.8
    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 {
        ipsec enable
        ipv4 {
            forwarding enable
            vlan enable
        }
        ipv6 {
            forwarding disable
        }
    }
    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 debug
            }
        }
        host 192.168.66.1 {
            facility all {
                level err
            }
        }
    }
    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@5: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.8.0.4853089.160219.1607 */
« Modifié: 19 avril 2016 à 13:45:46 par mathew.lear.fr »