La Fibre

Datacenter et équipements réseaux => Routeurs => Orange fibre Remplacer la LiveBox par un routeur => Discussion démarrée par: nanostra le 21 mai 2018 à 06:29:24

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 21 mai 2018 à 06:29:24
TUTO - Edgerouter ERPro-8 pour Internet + LIVEBOX V4 DHCP pour TV et télephone
ARCHITECTURE ORANGE DHCP - PARTIE 2 IPV6 (IPV4 traité dans partie 1 du TUTO, voir lien plus bas)


IMPLEMENTATION IPV6 - IMPLEMENTATION IPV6 - IMPLEMENTATION IPV6

A JOUR AU 12/08/2018

--> TESTE SUR FIRMWARE 1.10.3 ET ER8PRO
--> TESTE SUR FIRMWARE 1.10.5 ET ER8PRO

22/05/2016 AJOUT STATIC ROUTE IPV6 SUR eth1.832
pour info, commande set si vous ne modifiez pas le fichier de config en exemple :
set protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth1.832
IMPERATIF, AVANT D'ATTAQUER CE TUTO, AVOIR REALISE LA PREMIERE PARTIE IPV4 QUI N'EST PAS REPRISE DANS CE TUTO.
PARTIE 1 IPV4 --> https://lafibre.info/remplacer-livebox/tuto-edgerouter-erpro-8-pour-internet-livebox-dhcp-pour-tv-et-telephone/ (https://lafibre.info/remplacer-livebox/tuto-edgerouter-erpro-8-pour-internet-livebox-dhcp-pour-tv-et-telephone/)

Fortement inspiré du post de geoffreyc ici https://lafibre.info/remplacer-livebox/guide-erlite-3-ipv6-sans-livebox-dhcp/ (https://lafibre.info/remplacer-livebox/guide-erlite-3-ipv6-sans-livebox-dhcp/)
et bien entendu des travaux de Zoc, Kgersen et tous les autres contributeurs. J'ai adapté le tuto de geoffreyc afin qu'il soit dans la continuité du la première partie du TUTO et pour faciliter la vie des plus téméraires. Dans le cas contraire, je me serai contenter de faire un lien... merci beaucoup à geoffreyc pour le travail de synthèse qu'il a effectué.

RAPPEL DE LA CONFIGURATION :

CABLAGE DU ROUTEUR ET ADRESSAGE RESEAU :

   ETH0 --> LIVEBOX --> 192.168.2.1/24 (adresse différente de celle configurée dans la LIVEBOX) + SERVEUR DHCP
                 LIVEBOX cable entre ETH0 du Routeur et port Rouge Internet (fibre) de la LIVEBOX
                 LES BOX TV sont connectées sur la LIVEBOX tout comme le téléphone
   ETH1 --> PRISE RJ45 DE L'ONT (ARRIVEE FIBRE) --> 192.168.10.x/24 + SERVEUR DHCP
   ETH7 --> VERS RESEAU LOCAL (VERS SWITCH) --> 192.168.10.1 + SERVEUR DHCP
   
L'ON UTILISERA TOUJOURS LE USER root pour les transferts, attentions aux droits sous UNIX et aux retours chariots qui doivent être au format UNIX

1/ Installation de dibbler-client compilé par ZOC

      copier le fichier dibbler.deb sous /tmp avec filezilla et user root
      se connecter ensuite avec putty en root au routeur
     
      puis :
     
cd /tmp
dpkg -i dibbler.deb
     
      aux diverses questions répondre oui au lancement lors du démarrage et activer service DNS.. en fait ces choix n'ont pas beaucoup d'importance, l'on écrasera par la suite le fichier de config...
   
2/ Fichier de configuration dibbler

      Aller sous /etc/dibbler et écraser le contenu du fichier client.conf avec le contenu qui suit.
      Remplacer le XX:XX... par la string obtenue lors de la partie 1 du tuto IPV4 chapitre 3.

     Rappel --> avec le calculateur javascript fourni par kgersen (lien içi pour rappel : https://jsfiddle.net/kgersen/45zudr15/embedded/result/ (https://jsfiddle.net/kgersen/45zudr15/embedded/result/))

      --> faire un chmod 755 sur client.conf
     
      Pour rappel, ce fichier de configuration est prévu pour un ONT (WAN) branché sur eth1
     
# Defaults for dibbler-client.
# installed at /etc/dibbler/client.conf by the maintainer scripts

# 8 (Debug) is most verbose. 7 (Info) is usually the best option
log-level 7

duid-type duid-ll
# To perform stateless (i.e. options only) configuration, uncomment
# this line below and remove any "ia" keywords from interface definitions
# stateless


downlink-prefix-ifaces "none"
script "/etc/dibbler/radvd.sh"

iface eth1.832 {
    pd
    option 16 hex 00:00:04:0e:00:05:73:61:67:65:6d
    option 15 hex 00:2b:46:53:56:44:53:4c:5f:6c:69:76:65:62:6f:78:2e:49:6e:74:65:72:6e:65:74:2e:73:6f:66:74:61:74:68:6f:6d:65:2e:6c:69:76:65:62:6f:78:34
    option 11 hex 00:00:00:00:00:00:00:00:00:00:00:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
    option 11 hex 00:00:00:00:00:00:00:00:00:00:00:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
    option dns-server
}

3/ script radvd.sh de ZOC

      --> à copier dans même répertoire que client.conf radvd.sh sous /etc/dibbler/

      --> faire un chmod 755 sur radvd.sh
     
       Pour rappel, ce fichier de configuration est prévu pour un LAN branché en eth7 (derrière mon eth7 se trouve un switch qui dessert l'ensemble des machines de la maison en dehors de la Livebox qui est en eth0)
   
#!/bin/bash

if [ "$SRV_MESSAGE" != "REPLY" ]
then
                exit 1
fi

function fullPrefix () {
  local input=$1
  local o=""
  local z=""
                                   
  input=$(tr 'A-F' 'a-f' <<< $input )
                               
  while [ "$o" != "$input" ]; do
    o="$input"
                                                                 
    input="$( sed  's|:\([0-9a-f]\{3\}\):|:0\1:|g'  <<< "$input" )"
    input="$( sed  's|:\([0-9a-f]\{3\}\)$|:0\1|g'   <<< "$input" )"
    input="$( sed  's|^\([0-9a-f]\{3\}\):|0\1:|g'   <<< "$input" )"
                                                                 
    input="$( sed  's|:\([0-9a-f]\{2\}\):|:00\1:|g' <<< "$input" )"
    input="$( sed  's|:\([0-9a-f]\{2\}\)$|:00\1|g'  <<< "$input" )"
    input="$( sed  's|^\([0-9a-f]\{2\}\):|00\1:|g'  <<< "$input" )"
                                                               
    input="$( sed  's|:\([0-9a-f]\):|:000\1:|g'     <<< "$input" )"
    input="$( sed  's|:\([0-9a-f]\)$|:000\1|g'      <<< "$input" )"
    input="$( sed  's|^\([0-9a-f]\):|000\1:|g'      <<< "$input" )"
  done
                           
  grep -qs "::" <<< "$input"
  if [ "$?" -eq 0 ]; then                             
    GRPS="$( sed  's|[0-9a-f]||g' <<< "$input" | wc -m )"
    ((GRPS--)) # carriage return
    ((MISSING=8-GRPS))           
    for ((i=0;i<$MISSING;i++)); do
      z="$z:0000"
    done
                                                               
    input="$( sed  's|\(.\)::\(.\)|\1'$z':\2|g'          <<< "$input" )"
    input="$( sed  's|\(.\)::$|\1'$z':0000|g'            <<< "$input" )"         
    input="$( sed  's|^::\(.\)|'$z':0000:\1|g;s|^:||g'   <<< "$input" )"
  fi           
  echo "$input"
}

ETH7_SUFFIX="01::1"

STATUS_FILE=/run/dibbler.lease

if [ -f "$STATUS_FILE" ];
then
                source $STATUS_FILE
fi

TRIM_SIZE=17
FULLPREFIX=$( fullPrefix $PREFIX1 ) 
PREFIX1=${FULLPREFIX:0:TRIM_SIZE}

if [ "$PREFIX1" != "$CURRENT_PREFIX1" ]
then
                if [ "$CURRENT_PREFIX1" != "" ]
                then
                               ip addr delete "$CURRENT_PREFIX1$ETH7_SUFFIX/64" dev eth7
                fi

                echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE

                ip addr add "$PREFIX1$ETH7_SUFFIX/64" dev eth7
                service radvd restart >/dev/null 2>&1
fi

4/ script de démarrage dibbler.sh

      --> script dibbler.sh à copier sous /config/scripts/post-config.d et faire un chmod 775
      --> si le répertoire post-config.d n'existe pas, le créer et faire un chmod 775

#!/bin/bash

service dibbler-client restart

SUITE SUR POST SUIVANT...
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 21 mai 2018 à 06:29:38
5/ Fichier de config à adpater pour prise en charge IPV4 + IPV6

     --> Faire un DIF avec le fichier de config créé lors du TUTO PARTIE 1 (IPV4)
     --> Tous les blocs ipv6 { sont nouveaux par rapport au config.boot de la partie 1 du TUTO
     --> configip46.boot (bien entendu personnalisé à votre config) à copier sous /config/configip46.boot
     
firewall {
    all-ping enable
    broadcast-ping disable
    ipv6-name WANv6_IN {
        default-action drop
        description "WANv6 inbound traffic forwarded to LAN"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
        rule 30 {
            action accept
            description "Allow ICMPv6"
            log disable
            protocol icmpv6
        }
    }
    ipv6-name WANv6_LOCAL {
        default-action drop
        description "WANv6 inbound traffic to the router"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
        rule 30 {
            action accept
            description "Allow ICMPv6"
            log disable
            protocol icmpv6
        }
        rule 40 {
            action accept
            description "Allow DHCPv6"
            destination {
                port 546
            }
            protocol udp
            source {
                port 547
            }
        }
    }
    ipv6-name WANv6_OUT {
        default-action accept
        description "WANv6 outbound traffic"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action reject
            description "Reject invalid state"
            state {
                invalid enable
            }
        }
    }
    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 1 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 2 {
            action accept
            description "Allow Ping"
            destination {
                group {
                    address-group ADDRv4_eth7
                }
            }
            log enable
            protocol icmp
        }
        rule 3 {
            action drop
            description "Drop invalid state"
            log disable
            state {
                invalid enable
            }
        }
    }
    options {
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
}
interfaces {
    bridge br0 {
        aging 300
        bridged-conntrack disable
        description "bro -> eth0.838 LIVEBOX (VoD)"
        hello-time 2
        max-age 20
        priority 0
        promiscuous disable
        stp false
    }
    bridge br1 {
        aging 300
        bridged-conntrack disable
        description "br1 -> eth0.840 LIVEBOX (ZAPPING + CANAL 1)"
        hello-time 2
        max-age 20
        priority 0
        promiscuous disable
        stp false
    }
    ethernet eth0 {
        description "eth0 VERS LIVEBOX"
        duplex auto
        speed auto
        vif 832 {
            address 192.168.2.1/24
            description "eth0.832 LIVEBOX (INTERNET + VOIP + CANAL 2)"
        }
        vif 838 {
            bridge-group {
                bridge br0
            }
            description "eth0.838 LIVEBOX (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 "eth0.840 LIVEBOX (ZAPPING + CANAL 1)"
            egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
        }
    }
    ethernet eth1 {
        description "eth1 ONT (FIBRE RJ45)"
        duplex auto
        speed auto
        vif 832 {
            address dhcp
            description "eth1.832 (INTERNET + VOIP + CANAL 2)"
            dhcp-options {
                client-option "send vendor-class-identifier &quot;sagem&quot;;"
                client-option "send user-class &quot;\053FSVDSL_livebox.Internet.softathome.Livebox4&quot;;"
                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 dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, domain-search, rfc3118-auth;"
                default-route update
                default-route-distance 210
                global-option "option rfc3118-auth code 90 = string;"
                name-server update
            }
            egress-qos "0:0 1:0 2:0 3:0 4:0 5:0 6:6 7:0"
            firewall {
                in {
                    ipv6-name WANv6_IN
                    name WAN_IN
                }
                local {
                    ipv6-name WANv6_LOCAL
                    name WAN_LOCAL
                }
            }
            ipv6 {
                address {
                    autoconf
                }
                dup-addr-detect-transmits 1
            }
        }
        vif 838 {
            bridge-group {
                bridge br0
            }
            description "eth1.838 (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 "eth1.840 (ZAPPING + CANAL 1)"
            egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
        }
    }
    ethernet eth2 {
        disable
        duplex auto
        ip {
        }
        speed auto
    }
    ethernet eth3 {
        disable
        duplex auto
        speed auto
    }
    ethernet eth4 {
        disable
        duplex auto
        speed auto
    }
    ethernet eth5 {
        disable
        duplex auto
        speed auto
    }
    ethernet eth6 {
        disable
        duplex auto
        speed auto
    }
    ethernet eth7 {
        address 192.168.10.1/24
        description "eth7 LOCAL LAN SWITCH"
        duplex auto
        speed auto
        ipv6 {
            dup-addr-detect-transmits 1
            router-advert {
                cur-hop-limit 64
                link-mtu 0
                managed-flag false
                max-interval 600
                other-config-flag false
                prefix ::/64 {
                    autonomous-flag true
                    on-link-flag true
                    preferred-lifetime 14400
                    valid-lifetime 18000
                }
                reachable-time 0
                retrans-timer 0
                send-advert true
            }
        }
    }
    loopback lo {
    }
}
protocols {
    static {
        route6 ::/0 {
            next-hop fe80::ba0:bab {
                interface eth1.832
            }
        }
    }
}
service {
    dhcp-server {
        disabled false
        global-parameters "option rfc3118-auth code 90 = string;"
        global-parameters "option SIP code 120 = string;"
        global-parameters "option Vendor-specific code 125 = string;"

        hostfile-update disable
        shared-network-name LAN {
            authoritative disable
            subnet 192.168.10.0/24 {
                default-router 192.168.10.1
                dns-server 8.8.8.8
                dns-server 8.8.4.4
                domain-name FD-HOME
                lease 86400
                start 192.168.10.3 {
                    stop 192.168.10.254
                }
            }
        }
        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.30 {
                    stop 192.168.2.50
                }
                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;"
           subnet-parameters "option Vendor-specific 00:00:05:58:0c:01:0a:00:00:00:00:00:ff:ff:ff:ff:ff;"

            }
        }
    }
    dns {
    }
    gui {
        http-port 80
        https-port 443
        older-ciphers enable
    }
    nat {
        rule 5010 {
            log disable
            outbound-interface eth1.832
            protocol all
            type masquerade
        }
    }
    ssh {
        allow-root
        port 22
        protocol-version v2
    }
    upnp2 {
        listen-on eth0.832
        listen-on eth7
        nat-pmp enable
        secure-mode disable
        wan eth1.832
    }
}
system {
    config-management {
        commit-revisions 50
    }
    domain-name FD-HOME
    host-name ubnt
    login {
        user root {
            authentication {
                encrypted-password xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                plaintext-password ""
            }
            full-name ""
            level admin
        }
        user ubnt {
            authentication {
                encrypted-password xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                plaintext-password ""
            }
            full-name ""
            level admin
        }
    }
    name-server 8.8.8.8
    name-server 8.8.4.4
    name-server 208.67.222.222
    name-server 208.67.220.220
    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
            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
            }
        }
    }
    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-udapi-server@1:ubnt-unms@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v1.10.3.5082543.180426.1717 */

6/ Chargement du nouveau fichier de config configip46.boot

configure
load configip46.boot
commit
save
exit

Lors de l'étape commit... s'il y a des erreurs, ne pas faire le save et annuler les modifications comme suit :

discard
exit

7/ Eteindre l'ONT, LIVEBOX et les box TV + Switchs

--> Redémarrer dans l'ordre :
--> l'ONT, attendre que tout passe au vert et que le routeur ait bien une IP externe sur l' ETH1.832
--> le routeur (bien attendre démarrage complet)
--> le switch (bien attendre démarrage complet)
--> la LIVEBOX (attendre démarrage complet)
--> les BOX TV

Tout fonctionne enfin logiquement... !!!

Si vous rencontrez des problèmes, commencez par faire un diff entre mon config.boot et le votre modifié...

N'en faites pas trop à la fois... partez de cette base, vous verrez les améliorations ensuite...

Penser également à vérifier les droits attribués aux fichiers modifiés au minimum 755

Et le classique... format de fichier Dos Vs Unix

8/ Commandes utiles en cas de problème

Voir si dibbler est démarré :

dibbler-client status
Redémarrer dibbler...

service dibbler-client restart
Voir quels sont les services démarrés :

service --status-all

Route IPV6 :


show ipv6 route

Test ping iPV6 :

ping6 www.google.com

Etat de la connectivité IPV6 :

http://ipv6-test.com/
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 21 mai 2018 à 06:29:49
NON RESOLU OU SOLUTIONNE :

1/ ICMP V6 passe pas entièrement au vert lors d'un test sur http://ipv6-test.com/ --> Filtered
   
    Solution : Windows filtre ICMP V6, il faut ajouter une règle dans le Firewal... solution ci-dessous :
                   https://docs.microsoft.com/en-us/windows/security/identity-protection/windows-firewall/create-an-inbound-icmp-rule
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 21 mai 2018 à 19:08:23
réservé message 4 - En cas de besoin
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 21 mai 2018 à 22:04:06
All good par contre je n'obtiens pas d'ip V6 sur mon WAN eth1 (ONT). Est-ce normal ?

En effet l'interface Ubiquiti je garde mon IP WAN IPV4, pas d'IPV6. J'ai seulement une IPv6 sur mon LAN ETH0 (qui est ton ETH7).

Voici ma conf:

firewall {
    all-ping enable
    broadcast-ping disable
    group {
        network-group BLACKLIST_DROP {
            description ""
        }
        network-group BLACKLIST_DROPv6 {
            description ""
        }
    }
    ipv6-name WANv6_IN {
        default-action drop
        description "WANv6 inbound traffic forwarded to LAN"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
        rule 30 {
            action accept
            description "Allow ICMPv6"
            log disable
            protocol icmpv6
        }
    }
    ipv6-name WANv6_LOCAL {
        default-action drop
        description "WANv6 inbound traffic to the router"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
        rule 30 {
            action accept
            description "Allow ICMPv6"
            log disable
            protocol icmpv6
        }
        rule 40 {
            action accept
            description "Allow DHCPv6"
            destination {
                port 546
            }
            protocol udp
            source {
                port 547
            }
        }
    }
    ipv6-name WANv6_OUT {
        default-action accept
        description "WANv6 outbound traffic"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action reject
            description "Reject invalid state"
            state {
                invalid enable
            }
        }
    }
    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 10 {
            action accept
            description "allow established sessions"
            log disable
            protocol all
            state {
                established enable
                invalid disable
                new disable
                related enable
            }
        }
        rule 100 {
            action drop
            description WANv6_IN
            log enable
            protocol all
            source {
                group {
                    network-group BLACKLIST_DROPv6
                }
            }
        }
        rule 110 {
            action drop
            description "drop invalid state"
            log disable
            protocol all
            state {
                established disable
                invalid enable
                new disable
                related disable
            }
        }
        rule 111 {
            action drop
            description WAN_IN
            log enable
            protocol all
            source {
                group {
                    network-group BLACKLIST_DROP
                }
            }
        }
    }
    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
            }
        }
    }
    name WAN_OUT {
        default-action accept
        description ""
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
}
interfaces {
    ethernet eth0 {
        address 192.168.0.1/24
        description LAN-ET-TV
        duplex auto
        ipv6 {
            dup-addr-detect-transmits 1
            router-advert {
                cur-hop-limit 64
                link-mtu 0
                managed-flag false
                max-interval 600
                other-config-flag false
                prefix ::/64 {
                    autonomous-flag true
                    on-link-flag true
                    preferred-lifetime 14400
                    valid-lifetime 18000
                }
                reachable-time 0
                retrans-timer 0
                send-advert true
            }
        }
        speed auto
    }
    ethernet eth1 {
        description Internet_ONT
        duplex auto
        speed auto
        vif 832 {
            address dhcp
            description "Internet Orange DHCP"
            dhcp-options {
                client-option "send vendor-class-identifier &quot;sagem&quot;;"
                client-option "send user-class &quot;+FSVDSL_livebox.Internet.softathome.Livebox3&quot;;"
                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 dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, domain-search, rfc3118-auth, SIP;"
                default-route update
                default-route-distance 210
                global-option "option rfc3118-auth code 90 = string ;"
                name-server update
            }
            egress-qos "0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7"
            firewall {
                in {
                    ipv6-name WANv6_IN
                    name WAN_IN
                }
                local {
                    ipv6-name WANv6_LOCAL
                    name WAN_LOCAL
                }
                out {
                    ipv6-name WANv6_OUT
                    name WAN_OUT
                }
            }
            ipv6 {
                address {
                    autoconf
                }
                dup-addr-detect-transmits 1
            }
        }
        vif 838 {
            address dhcp
            description "VLAN TV VOD"
            dhcp-options {
                client-option "send vendor-class-identifier &quot;sagem&quot;;"
                client-option "send dhcp-client-identifier 1:78:94:B4:E0:1E:D8;"
                client-option "send user-class &quot;\047FSVDSL_livebox.MLTV.softathome.Livebox3&quot;;"
                client-option "request subnet-mask, rfc3442-classless-static-routes;"
                default-route 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/24
            description "VLAN TV Canal 1 - Zap"
            egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
        }
    }
    ethernet eth2 {
        description LAN2-LiveBox
        duplex auto
        speed auto
        vif 832 {
            address 192.168.2.254/24
            description VoIp
        }
    }
    loopback lo {
        address 1.1.1.1/32
    }
}
port-forward {
    auto-firewall enable
    hairpin-nat enable
    lan-interface eth0
    wan-interface eth1.832
}
protocols {
    igmp-proxy {
        disable-quickleave
        interface eth0 {
            alt-subnet 0.0.0.0/0
            role downstream
            threshold 1
        }
        interface eth1.840 {
            alt-subnet 0.0.0.0/0
            role upstream
            threshold 1
        }
        interface eth2 {
            role disabled
            threshold 1
        }
    }
}
service {
    dhcp-server {
        disabled false
        global-parameters "option rfc3118-auth code 90 = string;"
        global-parameters "option SIP code 120 = string;"
        hostfile-update enable
        shared-network-name LOCAL_NETWORK {
            authoritative enable
            subnet 192.168.0.0/24 {
                default-router 192.168.0.1
                dns-server 192.168.0.1
                domain-name home.local
                lease 86400
                start 192.168.0.10 {
                    stop 192.168.0.99
                }
                static-mapping Mac-Akamai {
                    ip-address 192.168.0.19
                    mac-address a4:08:f5:29:9d:d1
                }
                static-mapping Mac-Maison {
                    ip-address 192.168.0.98
                    mac-address 6c:40:08:a2:1f:c4
                }
                static-mapping Rear-Left {
                    ip-address 192.168.0.34
                    mac-address b8:e9:37:ed:e1:e4
                }
                static-mapping Rear-Right {
                    ip-address 192.168.0.35
                    mac-address b8:e9:37:ed:e1:ca
                }
                static-mapping cisco {
                    ip-address 192.168.0.29
                    mac-address 50:87:89:a9:42:34
                }
                static-mapping galaxys7 {
                    ip-address 192.168.0.99
                    mac-address 8c:f5:a3:05:a3:e3
                }
                static-mapping gtx {
                    ip-address 192.168.0.97
                    mac-address 2c:56:dc:97:fd:7f
                }
                static-mapping gtx-wifi {
                    ip-address 192.168.0.31
                    mac-address 30:52:cb:53:61:61
                }
                static-mapping iPhone-boubou {
                    ip-address 192.168.0.20
                    mac-address c0:d9:62:46:cb:da
                }
                static-mapping linux {
                    ip-address 192.168.0.50
                    mac-address 02:00:00:8d:2e:c7
                }
                static-mapping playbar {
                    ip-address 192.168.0.21
                    mac-address 00:0e:58:b5:fd:9a
                }
                static-mapping qnap {
                    ip-address 192.168.0.92
                    mac-address 00:08:9b:f6:bd:e2
                }
                static-mapping ubnt {
                    ip-address 192.168.0.1
                    mac-address 80:2a:a8:f1:e4:69
                }
            }
        }
        shared-network-name Livebox {
            authoritative enable
            subnet 192.168.2.0/24 {
                default-router 192.168.2.254
                dns-server 80.10.246.136
                dns-server 81.253.149.6
                lease 86400
                start 192.168.2.21 {
                    stop 192.168.2.200
                }
                static-mapping Livebox {
                    ip-address 192.168.2.1
                    mac-address 78:94:B4:E0:1E:D8
                }
                subnet-parameters "option rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:66:74:69:2f:66:64:64:33:33:70:78;"
                subnet-parameters "option SIP 0:6:73:62:63:74:33:67:3:50:55:54:6:61:63:63:65:73:73:11:6f:72:61:6e:67:65:2d:6d:75:6c:74:69:6d:65:64:69:61:3:6e:65:74:0;"
            }
        }
        static-arp disable
        use-dnsmasq enable
    }
    dns {
        forwarding {
            cache-size 400
            listen-on eth0
            name-server 8.8.8.8
            name-server 8.8.4.4
        }
    }
    gui {
        http-port 80
        https-port 443
        listen-address 192.168.0.1
        listen-address 192.168.2.254
        older-ciphers disable
    }
    mdns {
        reflector
    }
    nat {
        rule 1 {
            description "FTP Control (QNAP)"
            destination {
                port 21021
            }
            inbound-interface eth+
            inside-address {
                address 192.168.0.92
                port 21
            }
            log disable
            protocol tcp
            type destination
        }
        rule 2 {
            description "FTP Data (QNAP)"
            destination {
                port 21004-21023
            }
            inbound-interface eth1.832
            inside-address {
                address 192.168.0.92
                port 21004-21023
            }
            log disable
            protocol tcp
            type destination
        }
        rule 3 {
            description "Peering Transmission"
            destination {
                port 51413
            }
            inbound-interface eth1.832
            inside-address {
                address 192.168.0.92
                port 51413
            }
            log disable
            protocol tcp_udp
            type destination
        }
        rule 4 {
            description "SSH Admin (QNAP)"
            destination {
                port 21001
            }
            inbound-interface eth+
            inside-address {
                address 192.168.0.92
                port 22
            }
            log disable
            protocol tcp
            type destination
        }
        rule 5 {
            description "SSL Admin (QNAP)"
            destination {
                port 21000
            }
            inbound-interface eth+
            inside-address {
                address 192.168.0.92
                port 443
            }
            log disable
            protocol tcp
            type destination
        }
        rule 6 {
            description "Transmission Admin (QNAP)"
            destination {
                port 49091
            }
            inbound-interface eth+
            inside-address {
                address 192.168.0.92
                port 49091
            }
            log disable
            protocol tcp_udp
            type destination
        }
        rule 7 {
            description "Plex Server"
            destination {
                port 32400
            }
            inbound-interface eth+
            inside-address {
                address 192.168.0.92
                port 32400
            }
            log disable
            protocol tcp_udp
            type destination
        }
        rule 5010 {
            description "Masquerading outgoing connections"
            log disable
            outbound-interface eth1.832
            protocol all
            type masquerade
        }
        rule 5011 {
            description "Masquerading TV"
            log disable
            outbound-interface eth1.838
            protocol all
            type masquerade
        }
        rule 5012 {
            description "Masquerading Local"
            log disable
            outbound-interface eth0
            protocol all
            type masquerade
        }
    }
    ssh {
        allow-root
        port 22
        protocol-version v2
    }
    ubnt-discover {
        disable
    }
    upnp2 {
        listen-on eth0
        nat-pmp enable
        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
        }
    }
    domain-name home.local
    host-name ubnt
    login {
        radius-server 192.168.0.92 {
            port 1812
            secret ********
            timeout 5
        }
        user root {
            authentication {
                encrypted-password $6$OslOaT3q$EZPDMi7a9IvC6Fm6M/RptEGvhs7tf1K.V27EFbDhuDhVtIOWahBzI3efeXGlk7rBFA.9hQjn2JVhi3VJRcqXi0
                plaintext-password ""
            }
            level admin
        }
        user ubnt {
            authentication {
                encrypted-password $6$LIbuW37uo2Xz3TWS$rcsvO44XlmRig.QiYdMpHbDuBqivcbFBYXuWVrFBuH//VP7lW8ZZEQpVjg7M//gC3GVV1pTGuYjbsNqn2QfdA.
                plaintext-password ""
            }
            full-name ""
            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
            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 "distribution wheezy/updates"
            password ""
            url http://security.debian.org
            username ""
        }
    }
    syslog {
        host 192.168.0.92 {
            facility all {
                level err
            }
        }
    }
    task-scheduler {
        task BLACKLIST {
            crontab-spec "0 1 * * *"
            executable {
                path /config/scripts/post-config.d/update-blacklist.sh
            }
        }
    }
    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-udapi-server@1:ubnt-unms@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v1.10.3.5082526.180426.1554 */


Par avance merci pour votre aide.

Super tuto !
Titre: client dibbler s'arrête...
Posté par: nanostra le 21 mai 2018 à 23:21:40
Hello,

J'ai ajouté un chapitre 8 avec quelques commandes utiles pour essayer de diagnostiquer... mais suis pas un pro, je compile juste les infos :-)

Je viens de constater que dibbler n'est pas démarré au boot par le script diblber-client.sh

Je relance à la main par :

service dibbler-client restart et tout est ok au niveau IPV6

J'ai modifié le script dibbler-client.sh comme suit :

#!/bin/bash

service dibbler-client restart > /tmp/dibbler_restartlog.log 2>&1

dans le log  /tmp/dibbler_restartlog.log j'ai

Restarting DHCPv6 client: dibbler-client.
donc à priori il se lance bien... et pourtant il n'est pas démarré !!!

Quelqu'un à une idée ?
Titre: client dibbler s'arrête...
Posté par: barichon le 21 mai 2018 à 23:27:51
Hello,

J'ai ajouté un chapitre 8 avec quelques commandes utiles pour essayer de diagnostiquer... mais suis pas un pro, je compile juste les infos :-)

1/ Je viens de constater que dibbler s'arrête... pourtant tout continue de fonctionner en IPV6 d'après http://ipv6-test.com/ ou encore ping6 google.com !!!

2/ Quelqu'un aurait les règles éventuelles à ajouter pour l'ICMP en IPV6 ?

Quelqu'un à une idée ?


Effectivement:

root@ubnt:/home/ubnt# dibbler-client status
| Dibbler - a portable DHCPv6, version 1.0.1 (CLIENT, Linux port)
| Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek Senderski<msend(at)o2.pl>
| Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
| Homepage: http://klub.com.pl/dhcpv6/
Dibbler server: NOT RUNNING.
Dibbler client: NOT RUNNING.
Dibbler relay : NOT RUNNING.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 21 mai 2018 à 23:39:34
Tout fonctionne a merveille, par contre effectivement le seul truc c'est quand dans l'interface graphique pas d'ipV6 sur le WAN (only sur le LAN).

root@ubnt:/home/ubnt# show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address                        S/L  Description                 
---------    ----------                        ---  -----------                 
eth0         192.168.0.1/24                    u/u  LAN-ET-TV                   
             2a01:cb00:59b:5301::1/64         
eth1         -                                 u/u  Internet_ONT               
eth1.832     90.79.222.190/22                  u/u  Internet Orange DHCP       
eth1.838     10.154.237.78/24                  u/u  VLAN TV VOD                 
eth1.840     192.168.255.254/24                u/u  VLAN TV Canal 1 - Zap       
eth2         -                                 u/D  LAN2-LiveBox               
eth2.832     192.168.2.254/24                  u/D  VoIp                       
lo           127.0.0.1/8                       u/u                             
             1.1.1.1/32                       
             ::1/128   

A suivre...

Merci pour ton taff !
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 22 mai 2018 à 08:16:50
Pas besoin de gaspiller un /64 pour attribuer une IPv6 au port WAN. Arrêtez de penser IPv4, il n'y a pas besoin d'adresse IPv6 de portée globale sur le WAN: Il a déjà une IPv6 de portée locale et ça suffit à joindre la route par défaut.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 22 mai 2018 à 08:29:44
7/ Eteindre l'ONT, LIVEBOX et les box TV + Switchs

--> Redémarrer dans l'ordre :
--> le routeur (bien attendre démarrage complet)
--> le switch (bien attendre démarrage complet)
--> l'ONT, attendre que tout passe au vert et que le routeur ait bien une IP externe sur l' ETH1.832
--> la LIVEBOX (attendre démarrage complet)
--> les BOX TV
Perso je commencerais par l'ONT pour éviter tout un tas de problèmes. Je met cette phrase au conditionnel, parce qu'en pratique je ne redémarre jamais l'ONT, même quand je change le routeur (J'ai un ER4 depuis quelques semaines ainsi que 2 ERL, un me servant de backup et le second que je dois réutiliser sur un autre site) ou que je rebranche temporairement la LB sur l'ONT.

En démarrant l'ONT presque à la fin:

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 22 mai 2018 à 10:36:00
Hello Zoc,

Comme d'habitude, merci de ton message et de ton intervention...

En fouilant nos échanges qui datent de plus d'un an et ton message de ce matin... je viens de tilter... en fait tout fonctionne... cette nuit après de nombreux reboot et le fait que je ne comprenais pas que parfois la connectivité IPV6 était OK et parfois KO après reboot routeur ou ONT... et que le client dibbler semblait arrêté, j'ai laissé tombé l'affaire... et ce matin l'IPV6 était OK...

J'ai cru un moment que le fait que le service dibbler-client soit arrêté était le problème et que faire "service dibbler-client restart" puis d'attendre quelques minutes résolvait le problème... mais il s'agissait juste d'une histoire de timing, de hasard... route annoncée par Orange ou pas... il faut attendre c'est tout...

Ce que je ne m'explique tout de même pas c'est que après un reboot, dibbler-client est arrêté, pourtant, si l'on patiente, la connectivité IPV6 finie par être opérationnelle... par exemple, cette nuit quand je me suis couché, pas d'IPV6, client-dibbler arrêté et ce matin, dibbler-client toujours arrêté mais IPV6 OK...


J'ai donc modifié le tuto comme suit :

Citer
--> Redémarrer dans l'ordre :
--> l'ONT, attendre que tout passe au vert et que le routeur ait bien une IP externe sur l' ETH1.832
--> le routeur (bien attendre démarrage complet)
--> le switch (bien attendre démarrage complet)
--> la LIVEBOX (attendre démarrage complet)
--> les BOX TV

ATTENTION IL FAUT PARFOIS ETRE PATIENT SI L'ON A REDEMARRE L'ONT, OU LE ROUTEUR JUSQU'A 20 MIN, ROUTE ANNONCEE TOUTES LES 20 MINUTES PAR ORANGE 'infos retrouvée dans messages de Zoc"

Je te cite, message de mai 2016 :

Citer
A propos de la route par défaut, elle est annoncée toutes les 20 minutes par le routeur d'Orange, donc chez moi quand j'ai mis l'IPv6 en place il a fallu environ 20 minutes après la mise en place de cette config. pour que ça commence à fonctionner. Je ne sais pas si ce délai est aussi nécessaire quand on reboote notre routeur, car je ne l'ai pas rebooté depuis qu'il est configuré  ;). Au pire la route par défaut est connue et fixe (fe80::ba0:bab) donc il est possible de la configurer en statique. Je ne l'ai pas fait pour l'instant chez moi, je verrai au prochain reboot (à priori quand la 1.8.5 du firmware sortira).


ICMP V6...


Il ne reste donc comme problème que l'ICMP V6 qui est en orange (filtered) lorsque l'on fait un test par http://ipv6-test.com/

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 22 mai 2018 à 10:46:28
Pour info, mon test IPv6 est good de mon coté:

(https://preview.ibb.co/gOtfVo/Capture_d_e_cran_2018_05_22_a_10_44_50.png) (https://ibb.co/ivTEqo)
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 22 mai 2018 à 11:02:06
Pour info, mon test IPv6 est good de mon coté:

(https://preview.ibb.co/gOtfVo/Capture_d_e_cran_2018_05_22_a_10_44_50.png) (https://ibb.co/ivTEqo)

Hello, tu pourrais me faire un copier/coller de ta partie Firewall ?
Ptet problème dans l'ordre de mon côté...
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 22 mai 2018 à 11:32:15
Tu l'as dans mon poste page 1  ;)
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 22 mai 2018 à 11:51:48
Je te cite, message de mai 2016 :
Problème réglé depuis avec l'ajout du paramètre d'autoconfiguration ipv6 dans le vif 832... Du moment que l'ONT est up au moment où le routeur démarre, avec cette option dans la config, un RD va être envoyé au moment où l'interface monte, et le routeur d'Orange répond par un RA contenant la route (en tout cas c'est le cas chez moi).

Après, l'autre solution comme je l'ai dit, c'est de mettre fe80::ba0:bab sur eth1.832 en route statique par défaut...
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 22 mai 2018 à 12:05:16
Problème réglé depuis avec l'ajout du paramètre d'autoconfiguration ipv6 dans le vif 832... Du moment que l'ONT est up au moment où le routeur démarre, avec cette option dans la config, un RD va être envoyé au moment où l'interface monte, et le routeur d'Orange répond par un RA contenant la route (en tout cas c'est le cas chez moi).

Après, l'autre solution comme je l'ai dit, c'est de mettre fe80::ba0:bab sur eth1.832 en route statique par défaut...

Je viens de refaire un test et effectivement, quand l'ONT est up lorsque le routeur démarre et bien tout est OK...
Et on fait comment pour passer en static route... désolé si la question semble bête :-)

Sinon, je t'ai envoyé tous mes fichiers de config (qui tournent su mon routeur) en mp, si tu as 5 min pour faire une petite revue... pour le moment j'ai encore l'ICMP V6 qui est filtered.. et je me posais aussi la question de l'IPV6 sur mon réseau guest qui est en eth7.10..

--> Je me réponds :
Pour l'ICMP sur mon iphone il est au vert, c'est donc Windows qui doit filtrer. l'IPV6 par contre ne fonctionne pas son mon réseau guest en 7.10.

Windows filtre ICMP V6, il faut ajouter une règle dans le Firewal... solution ci-dessous :
                   https://docs.microsoft.com/en-us/windows/security/identity-protection/windows-firewall/create-an-inbound-icmp-rule


Encore merci Zoc pour ton aide.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 22 mai 2018 à 13:31:55
Et on fait comment pour passer en static route... désolé si la question semble bête :-)

Je ne l'ai jamais fait mais ça devrait ressembler à ça:
set protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth1.832

Citer
l'IPV6 par contre ne fonctionne pas son mon réseau guest en 7.10.

ETH7_SUFFIX="01::1"
ETH7_10_SUFFIX="50::1"

STATUS_FILE=/run/dibbler.lease

if [ -f "$STATUS_FILE" ];
then
                source $STATUS_FILE
fi

TRIM_SIZE=17
FULLPREFIX=$( fullPrefix $PREFIX1 )
PREFIX1=${FULLPREFIX:0:TRIM_SIZE}

if [ "$PREFIX1" != "$CURRENT_PREFIX1" ]
then
                if [ "$CURRENT_PREFIX1" != "" ]
                then
                               ip addr delete "$CURRENT_PREFIX1$ETH7_SUFFIX/64" dev eth7
                               ip addr delete "$CURRENT_PREFIX1$ETH7_10_SUFFIX/64" dev eth7.10
                fi

                echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE

                ip addr add "$PREFIX1$ETH7_SUFFIX/64" dev eth7
                ip addr add "$PREFIX1$ETH7_10_SUFFIX/64" dev eth7.10
                service radvd restart >/dev/null 2>&1
fi

Ensuite, il va être temps d'essayer de comprendre ce que ces options de config et le script font afin d'être un peu plus autonome  ;D
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 22 mai 2018 à 16:15:33
Re,

T'es vraiment le meilleur... je vais tester ce soir.

Oui, j'aimerai bien être plus autonome, mais le sujet est extrêmement complexe et je suppose que tu le maîtrises depuis quelques années, voir décennies... et que c'est sans doute ton métier.
Les sujets sont très éparpillés et c'est plutôt 'Mission impossible" pour quelqu'un qui n'est pas ingénieur système/réseau... et IPV6 , j'ai pas encore tout capté, mais franchement pas...

Pour IPV4, je me débrouille mais il est clair que je n'en suis pas à sniffer des paquets pour analyser les trames...ou encore à recompiler des dibbler... je pense que les 10 mecs en france qui savent faire cela sont sur ce forum...

Alors me suis acheté les bibles de certification CISCO, j'ai essayé... mais j'avoue que les 2 bouquins gros comme en encyclopédie sont plutôt TRES hard à digérer...

Ce qui serait vraiment cool, ce serait justement un petit génie du réseau qui nous ferait un petit tuto d'abord de banalisation IPV4/IPV6 dans le cadre du fonctionnement avec Livebox et Routeur tiers, puis descendre dans le détail... ou alors parfois quelques commentaires dans les scripts pour expliquer le fonctionnement.

Si quelqu'un à une bonne réfrence pour un bouquin sur le réseau, je suis preneur.

Encore merci, je vais tester ce soir.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 22 mai 2018 à 17:29:50
Une petite question,

Est-ce normal que je ne vois pas les politique firewall de l'ipv6 dans l'interface ?

(https://preview.ibb.co/eyfyko/Capture_d_e_cran_2018_05_22_a_17_26_59.png) (https://ibb.co/bOMhBT)
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 22 mai 2018 à 17:35:54
Au niveau IPV6 rien n'est visible au niveau interface graphique... tu peux avoir des infos avec le config tree.

Même la nouvelle solution de UNMS d'ubiquiti que j'ai installé sur un NAS synology n'apporte aucune info sur l'IPV6... dommage
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 22 mai 2018 à 17:42:36
et que c'est sans doute ton métier.
En fait j'ai une formation d'ingénieur système & réseaux (obtenue en 1996  :o ), mais je n'ai jamais travaillé en tant qu'ingénieur système & réseaux de ma vie  :P, donc ce n'est pas en exerçant mon métier que j'ai appris IPv6 (On va dire que j'ai une prédisposition due à ma formation, mais ça s'arrête là). J'ai toujours été plus ou moins autodidacte de toute façon...
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 22 mai 2018 à 17:44:24
Quelle est le server DHCP responsable d'attribuer des IPV6 sur le reseaux local ?

Désormais mes PC sont en IPV6 mais je n'ai pas configurer de server DHCP lors de la manip pour passer en IPV6 (enfin je crois pas...).
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 22 mai 2018 à 17:53:47
En fait j'ai une formation d'ingénieur système & réseaux (obtenue en 1996  :o ), mais je n'ai jamais travaillé en tant qu'ingénieur système & réseaux de ma vie  :P, donc ce n'est pas en exerçant mon métier que j'ai appris IPv6 (On va dire que j'ai une prédisposition due à ma formation, mais ça s'arrête là). J'ai toujours été plus ou moins autodidacte de toute façon...

Ah ben belle prédisposition...
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: dmfr le 22 mai 2018 à 18:14:01
Quelle est le server DHCP responsable d'attribuer des IPV6 sur le reseaux local ?

Il n'y en a pas.
https://en.wikipedia.org/wiki/IPv6#Stateless_address_autoconfiguration_(SLAAC)

Le fait d'avoir :
    ethernet eth0 {
        ..
        ipv6 {
            ..
            router-advert {
                ...
                managed-flag false
indique aux appareils du LAN d'auto-configurer par SLAAC leur adresse v6 dès qu'ils ont reçu le Router Advertisement de la part de l'ERL.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kgersen le 22 mai 2018 à 18:21:49
Pour détailler un peu SLAAC:

IPv6 peut se configurer par ce qu'on appele SLAAC (Stateless Address Auto-configuration): le routeur va èmettre des messages d'annonce (appele Router Advertisement - RA) sur le réseau local de maniere réguliere et en reponse a des messages de solicition des postes (Router Solicitations - RS). Ces messages sont dans des paquets ICMPv6 qui utilisent les adresses IPv6 'link-local' que toute machine compatible IPv6 a par défaut (adresses commencant par fe80).

Le message RA indique aux postes quel est le prefix IPv6 du réseau local. Les postes s'auto-configurent d'eux-meme alors une IPv6 public dans ce préfix en utilisant un algorithme de détection de doublons (a noter: certains OS comme Windows se configurent 2 adresses IPv6 public, une permanente et une temporaire qui change régulièrement (10 minutes). L'adresse temporaire sert a accéder a Internet).

Le message RA peut également indiquer en option la configuration DNS à mettre dans les postes (on appele ca RDNSS)

La plupart des OS supportent ce système mais Windows ne supporte pas RDNSS sauf récemment Windows 10 seulement.

Par conséquent si on veut une configuration IPv6 qui ne dépende pas d'IPv4 pour obtenir la configuration DNS , il faut ajouter au SLAAC un DHCPv6 uniquement pour transmettre la configuration DNS. On appelle cela du "stateless DHCPv6", c'est ce que Orange fait dans la Livebox par exemple. Cela permet de couvrir tout les OS y compris les anciennes versions de Windows.

Dans le routeur, ce service d'annonce RA est assuré par le service radvd (Router Advertisement Daemon).

Dans la config présentée ici, il n'y a pas de serveur DHCPv6 c'est du SLAAC uniquement. Mais on pourrait en ajouter un.

Une autre facon de faire est du "statefull DHCPv6" qui est proche de la facon de faire en IPv4. Dans ce cas le message RA indique aucun préfix juste la présence d'un serveur DHCPv6. Dans ce cas les postes clients doivent faire des requetes DHCPv6 pour obtenir leur IP public.
Ce système n'est toutefois pas accepté par Android pour le moment et n'est donc pas recommandé en usage grand public. Il limite aussi le nombre d'IPv6 par poste a une seule.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 22 mai 2018 à 18:22:55
En fait, en plus de SLAAC seul, on peut également faire du DHCP6 stateless (les machines continuent de déterminer leur adresses toutes seules à partir du préfixe diffusé par radvd, et utilisent DHCP pour le reste, genre l'adresse des serveurs DNS) ou du DHCP6 statefull où l'adresse est alors attribuée par le serveur DHCP6 (fonctionnement similaire au DHCP IPv4).

EdgeOS supporte DHCP6 stateless et statefull, mais le fait de ne pas pouvoir utiliser le client DHCP6-PD du routeur, et de devoir utiliser dibbler, rend les choses bien compliquées, surtout parce que le préfixe peut changer et que donc il faudrait modifier la configuration du routeur à chaque changement de préfixe si on veut faire du statefull...

Après, perso je fais du DHCP6 stateless (pour annoncer mes serveurs DNS locaux), même si en pratique je n'en n'ai pas besoin (les adresses de ces mêmes DNS sont aussi dans les RA). Juste pour le fun.

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 22 mai 2018 à 21:45:02
@Kgersen et @Zoc, merci pour les explications, c'est ce qu'il faut, de la banalisation pour ensuite pouvoir entrer dans le détail, j'aime :-)

Aucun de vous n'a une bible de référence pour le réseau, format pdf ou livre ?

Sinon Zoc, l'IPV6 fonctionne également sur mon réseau Guest maintenant, grâce à la modif que tu m'as proposé, je n'aurai pas fait mieux :-)

L'ajout de la static route IPV6 sur eth1.832 résoud également le problème d'attente lors d'un reboot... testé sur plusieurs reboot et la connectivité IPV6 est immédiatement disponible, je vais l'ajouter au tuto.


protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth1.832
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: konki le 23 mai 2018 à 18:25:58
@nanostra, merci pour le complèment IPV6. Ne faudrait-il pas autoriser les communications DHCP dans le firewall?


konki
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 23 mai 2018 à 18:35:39
C’est déjà fait dans son fichier de config: rule 40 de la chaîne WANv6_LOCAL.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: konki le 23 mai 2018 à 23:23:47
j'ai regardé un peu trop vite la config et j'avais seulement remarqué l'absence de la règle pour IPV4. D'où ma réponse hâtive...
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 24 mai 2018 à 15:19:07
@Kgersen et @Zoc, merci pour les explications, c'est ce qu'il faut, de la banalisation pour ensuite pouvoir entrer dans le détail, j'aime :-)

Aucun de vous n'a une bible de référence pour le réseau, format pdf ou livre ?

Sinon Zoc, l'IPV6 fonctionne également sur mon réseau Guest maintenant, grâce à la modif que tu m'as proposé, je n'aurai pas fait mieux :-)

L'ajout de la static route IPV6 sur eth1.832 résoud également le problème d'attente lors d'un reboot... testé sur plusieurs reboot et la connectivité IPV6 est immédiatement disponible, je vais l'ajouter au tuto.


protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth1.832


Question rapide, je vois dans mon syslog l'erreur suivante:

KERNEL: ICMPv6:RA: ndisc_router_delivery_discovery failed to add default route
Clairement, ça vient du fait que je suis passé en Route static.

Comment puis-je stopper ces erreurs ?
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 24 mai 2018 à 16:48:14
Probablement en supprimant "ipv6 autoconf" dans la config du vif 832 (ce qui a pour effet d'ignorer les RA).

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kgersen le 24 mai 2018 à 16:58:51
c'étais pas réglé cette histoire de délai de 20 minutes ? je pensais qu'il suffisait que le routeur èmette des RS pour recevoir un RA de suite plutôt que d'attendre la diffusion tout les 20 minutes ? la livebox y arrive bien y'a pas de raison que l'ERL n'y  arrive pas.

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 24 mai 2018 à 17:29:22
Personnellement je n’ai pas la route statique, ni non plus de délai avant que la route par défaut soit configurée (j’en déduis donc que baobab répond aux RS envoyés par le routeur...

Évidemment cela suppose que l’ont soit up et que la négociation GPON soit terminée ( LED optical vert fixe ).
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kgersen le 24 mai 2018 à 17:53:48
t'as le accept_ra a 2 donc ?

https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt :

Citer
accept_ra - INTEGER
   Accept Router Advertisements; autoconfigure using them.

   It also determines whether or not to transmit Router
   Solicitations. If and only if the functional setting is to
   accept Router Advertisements, Router Solicitations will be
   transmitted.

   Possible values are:
      0 Do not accept Router Advertisements.
      1 Accept Router Advertisements if forwarding is disabled.
      2 Overrule forwarding behaviour. Accept Router Advertisements
        even if forwarding is enabled.

   Functional default: enabled if local forwarding is disabled.
             disabled if local forwarding is enabled.

vu qu'un routeur a local forwarding enabled il faut accept_ra a 2.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 24 mai 2018 à 18:13:37
Dans quel fichier vérifier cette valeur ?

Une idée pour effacer ma route par défaut ?
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kgersen le 24 mai 2018 à 18:53:56
Dans quel fichier vérifier cette valeur ?

Une idée pour effacer ma route par défaut ?

dans /etc/sysctl.conf (ou /etc/sysctl.d/40-ipv6.conf avec systemd) il faut ajouter/changer les lignes :

net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.default.accept_ra=2

mais avant verif la config actuelle ces 2 commandes:

sysctl net.ipv6.conf.all.accept_ra
sysctl net.ipv6.conf.default.accept_ra


apres dans le cas présent, ca ne concerne que l'interface wan donc tu peux limité ce reglage a cette interface au lieu de all & default (le point étant réservé, il faut utiliser / pour les vlan: net.ipv6.conf.eth1/832.accept_ra par exemple).

profite en pour check la config entiere d'une interface:
sysctl net.ipv6.conf.eth1/832
Pour ta route si elle en dur dans ta config suffit d'enlever la ligne.

sinon

configure
delete protocols static route6 ::/0 next-hop fe80::ba0:bab interface xxxx
commit
save
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 24 mai 2018 à 19:16:42
Merci pour ta réponse,

sysctl net.ipv6.conf.all.accept_ra
sysctl net.ipv6.conf.default.accept_ra

1 et 1

sysctl net.ipv6.conf.eth1/832
2 pour le WAN

Quand je veux effacer ma route avec cette ligne, ça me dit: 

[ protocols static route6 ::/0 next-hop fe80::ba0:bab ]
Interface has to be specified for a link-local nexthop
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 24 mai 2018 à 19:18:28
t'as le accept_ra a 2 donc ?

root@gateway:~# cat /proc/sys/net/ipv6/conf/eth1.832/accept_ra
2
root@gateway:~#
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kgersen le 24 mai 2018 à 19:23:31
Quand je veux effacer ma route avec cette ligne, ça me dit: 

[ protocols static route6 ::/0 next-hop fe80::ba0:bab ]
Interface has to be specified for a link-local nexthop

oui faut remplacer xxxx par ton interface (eth1.832 dans ton cas).
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 24 mai 2018 à 22:06:40
oui faut remplacer xxxx par ton interface (eth1.832 dans ton cas).

 :o mais c'est ce que j'ai fait !  :o

Bon j'ai effacé direct dans le fichier de conf, ça fonctionne !

Dernière chose j'ai du mal à comprendre le role de dibbler dans ce tuto.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kgersen le 24 mai 2018 à 23:22:03
Dernière chose j'ai du mal à comprendre le role de dibbler dans ce tuto.

dibbler est en charge de récuperer le prefix IPv6 public attribué par Orange a ton réseau (un /56). Ceci se fait par une requete DHCPv6-PD.
Cette requete n'a pas pour but de configurer l'interface WAN, juste de récupérer le préfix /56.

l'interface WAN ne se configure pas , elle a juste une IPv6 link-local comme tout interface et obtient l'IP link-local du routeur en face chez Orange (la gateway) via le systeme d'annonce de voisinage IPv6 (RS/RA via des icmpv6).

ce lien local entre l'interface wan et la geteway chez Orange permet au trafic de sortir/entrer notamment la requête de dibbler.

Une fois le préfixe obtenu, dibbler lance le script qui configure radvd le service en charge de configurer un /64 sur le LAN.

Internet (ipv6 public) -- .... - gateway Orange -- ipv6 link-local --(wan)- ERL -(lan) --ipv6 public

il n'y a donc pas d'adresses IPv6 public entre ton routeur et le routeur de chez Orange ce qui simplifie les choses et renforce la sécurité (impossible d'attaquer ton routeur sur son interface wan).
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: ilco le 17 juin 2018 à 16:58:17
salut

j'ai une question con :

j'ai suivi la premier partie du tutoriel, qui marche bien. Je regarde cette partie, et je me dis, pourquoi configurer IPV6. Mais concrètement ca vous sert a quoi l'IPV6 ?
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: Nh3xus le 17 juin 2018 à 18:23:07
Ne plus se faire chier avec le NAT.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: ilco le 17 juin 2018 à 19:51:11
ok parce que vous hébergez plusieurs services chez vous directement a la maison?
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: Mark5 le 17 juin 2018 à 21:17:19
Je crois que depuis que j'ai accès au net h24 (donc ADSL à 512), j'ai toujours eu au moins un service hébergé en local.
Aujourd'hui, ça doit être 1/2 douzaine...
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: ilco le 17 juin 2018 à 21:20:19
Ok, mais du coup il faut que de l'autre côté de la liaison, l'ipv6 marche aussi non? Par exemple moi avec sosh sur mon téléphone j'ai que l'ipv4.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: Mark5 le 17 juin 2018 à 21:25:12
Ah nan mais moi je cause que d'IPv4.
Pis les régles de NAT, moi, ça m'amuse (je suis pas difficile).
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kaktuss77 le 17 juillet 2018 à 16:32:12
Bonjour,

Merci pour ce tuto très complet, je l'ai appliquer sur mon ERL 3 avec quelque modification,

ONT --> eth0
Box --> eth1
Lan --> eth2

Aucun soucis avec IPv4, mais impossible d'avoir une IPv6. j'ai reboot plusieurs fois, revu la conf en long en large et en travers.... je m'arrache les cheveux lol.

un petit coups de main est le bienvenue :)


La config adaptée à ma topologie

firewall {
    all-ping enable
    broadcast-ping disable
    ipv6-name WANv6_IN {
        default-action drop
        description "WANv6 inbound traffic forwarded to LAN"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
        rule 30 {
            action accept
            description "Allow ICMPv6"
            log disable
            protocol icmpv6
        }
    }
    ipv6-name WANv6_LOCAL {
        default-action drop
        description "WANv6 inbound traffic to the router"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
        rule 30 {
            action accept
            description "Allow ICMPv6"
            log disable
            protocol icmpv6
        }
        rule 40 {
            action accept
            description "Allow DHCPv6"
            destination {
                port 546
            }
            protocol udp
            source {
                port 547
            }
        }
    }
    ipv6-name WANv6_OUT {
        default-action accept
        description "WANv6 outbound traffic"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action reject
            description "Reject invalid state"
            state {
                invalid enable
            }
        }
    }
    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 20 {
            action accept
            description "Allow established/related"
            log disable
            protocol all
            state {
                established enable
                invalid disable
                new disable
                related enable
            }
        }
        rule 30 {
            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"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action accept
            description "Allow Ping From WAN"
            destination {
                group {
                    address-group ADDRv4_eth0.832
                }
            }
            log enable
            protocol icmp
        }
        rule 30 {
            action drop
            description "Drop invalid state"
            log disable
            state {
                invalid enable
            }
        }
        rule 40 {
            action accept
            description "Allow Ping"
            destination {
                group {
                    address-group ADDRv4_eth2
                }
            }
            log enable
            protocol icmp
        }
        rule 50 {
            action accept
            description "Remote access"
            destination {
                group {
                    address-group ADDRv4_eth0.832
                }
                port 10022,10443
            }
            log disable
            protocol tcp
            state {
                established enable
                invalid disable
                new enable
                related disable
            }
        }
    }
    options {
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
}
interfaces {
    bridge br0 {
        aging 300
        bridged-conntrack disable
        description "bro -> eth0.838 LIVEBOX (VoD)"
        hello-time 2
        max-age 20
        priority 0
        promiscuous disable
        stp false
    }
    bridge br1 {
        aging 300
        bridged-conntrack disable
        description "br1 -> eth0.840 LIVEBOX (ZAPPING + CANAL 1)"
        hello-time 2
        max-age 20
        priority 0
        promiscuous disable
        stp false
    }
    ethernet eth0 {
        description "eth0 ONT (FIBRE RJ45)"
        duplex auto
        speed auto
        vif 832 {
            address dhcp
            description "eth0.832 (INTERNET + VOIP + CANAL 2)"
            dhcp-options {
                client-option "send vendor-class-identifier &quot;sagem&quot;;"
                client-option "send user-class &quot;\053FSVDSL_livebox.Internet.softathome.Livebox4&quot;;"
                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 dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, domain-search, rfc3118-auth;"
                default-route update
                default-route-distance 210
                global-option "option rfc3118-auth code 90 = string;"
                name-server update
            }
            egress-qos "0:0 1:0 2:0 3:0 4:0 5:0 6:6 7:0"
            firewall {
                in {
                    ipv6-name WANv6_IN
                    name WAN_IN
                }
                local {
                    ipv6-name WANv6_LOCAL
                    name WAN_LOCAL
                }
            }
            ipv6 {
                address {
                    autoconf
                }
                dup-addr-detect-transmits 1
            }
        }
        vif 838 {
            bridge-group {
                bridge br0
            }
            description "eth0.838 (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 "eth0.840 (ZAPPING + CANAL 1)"
            egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
        }
    }
    ethernet eth1 {
        description "eth1 VERS LIVEBOX"
        duplex auto
        speed auto
        vif 832 {
            address 192.168.2.1/24
            description "eth0.832 LIVEBOX (INTERNET + VOIP + CANAL 2)"
        }
        vif 838 {
            bridge-group {
                bridge br0
            }
            description "eth1.838 LIVEBOX (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 "eth1.840 LIVEBOX (ZAPPING + CANAL 1)"
            egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
        }
    }
    ethernet eth2 {
        address 192.168.10.1/24
        description "eth2 LOCAL LAN SWITCH"
        duplex auto
        ipv6 {
            dup-addr-detect-transmits 1
            router-advert {
                cur-hop-limit 64
                link-mtu 0
                managed-flag false
                max-interval 600
                other-config-flag false
                prefix ::/64 {
                    autonomous-flag true
                    on-link-flag true
                    preferred-lifetime 14400
                    valid-lifetime 18000
                }
                reachable-time 0
                retrans-timer 0
                send-advert true
            }
        }
        speed auto
    }
    loopback lo {
    }
}
port-forward {
    auto-firewall enable
    hairpin-nat enable
    lan-interface eth2
    lan-interface eth1.832

[ .......]

}
protocols {
    static {
    }
}
service {
    dhcp-server {
        disabled false
        global-parameters "option rfc3118-auth code 90 = string;"
        global-parameters "option SIP code 120 = string;"
        global-parameters "option Vendor-specific code 125 = string;"
        hostfile-update disable
        shared-network-name LAN {
            authoritative disable
            disable
            subnet 192.168.10.0/24 {
                default-router 192.168.10.1
                dns-server 8.8.8.8
                dns-server 8.8.4.4
                domain-name KMS-HOME
                lease 86400
                start 192.168.10.3 {
                    stop 192.168.10.254
                }
            }
        }
        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.30 {
                    stop 192.168.2.50
                }
                static-mapping LiveBox {
                    ip-address 192.168.2.30
                    mac-address 78:81:02:2e:dd:9e
                }
                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;"
                subnet-parameters "option Vendor-specific 00:00:05:58:0c:01:0a:00:00:00:00:00:ff:ff:ff:ff:ff;"
            }
        }
        static-arp disable
        use-dnsmasq disable
    }
    dns {
    }
    gui {
        http-port 80
        https-port 443
        older-ciphers enable
    }
    nat {
        rule 5010 {
            log disable
            outbound-interface eth0.832
            protocol all
            type masquerade
        }
    }
    ssh {
        allow-root
        port 22
        protocol-version v2
    }
    upnp2 {
        listen-on eth1.832
        listen-on eth2
        nat-pmp enable
        secure-mode disable
        wan eth0.832
    }
}
system {
    config-management {
        commit-revisions 50
    }
    domain-name KMS-HOME
    host-name erl-3
    login {
        user kaktuss {
            authentication {
                encrypted-password xxxxxxxxxxxxxxxxxxxxxxxxxxx
                plaintext-password ""
            }
            level admin
        }
        user root {
            authentication {
                encrypted-password xxxxxxxxxxxxxxxxxxxxxxxxxxx/
                plaintext-password ""
            }
            level admin
        }

    }
    name-server 8.8.8.8
    name-server 8.8.4.4
    name-server 208.67.222.222
    name-server 208.67.220.220
    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
            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
            }
        }
    }
    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-udapi-server@1:ubnt-unms@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v1.10.5.5098915.180622.1355 */


le fichier client.conf (chmod 755)

root@erl-3:/etc/dibbler# cat client.conf
# Defaults for dibbler-client
# installed at /etc/dibbler/client.conf by the maintainer script

# 8 (Debug) is most verbose. 7 (Info) is usually the best option
log-level 7

duid-type duid-ll
# To perform stateless (i.e. options only) configuration, uncomment
# this line below and remove any "ia" keywords from interface definitions
# stateless


downlink-prefix-ifaces "none"
script "/etc/dibbler/radvd.sh"

iface eth0.832 {
    pd
    option 16 hex 00:00:04:0e:00:05:73:61:67:65:6d
    option 15 hex 00:2b:46:53:56:44:53:4c:5f:6c:69:76:65:62:6f:78:2e:49:6e:74:65:72:6e:65:74:2e:73:6f:66:74:61:74:68:6f:6d:65:2e:6c:69:76:65:62:6f:78:34
    option 11 hex 00:00:00:00:00:00:00:00:00:00:00:66:labonnevaleurici
    option 11 hex 00:00:00:00:00:00:00:00:00:00:00:66:labonnevaleurici
    option dns-server


Le fichier radvd.sh (chmod 755)

root@erl-3:/etc/dibbler# cat radvd.sh
#!/bin/bash

if [ "$SRV_MESSAGE" != "REPLY" ]
then
                exit 1
fi

function fullPrefix () {
  local input=$1
  local o=""
  local z=""

  input=$(tr 'A-F' 'a-f' <<< $input )

  while [ "$o" != "$input" ]; do
    o="$input"

    input="$( sed  's|:\([0-9a-f]\{3\}\):|:0\1:|g'  <<< "$input" )"
    input="$( sed  's|:\([0-9a-f]\{3\}\)$|:0\1|g'   <<< "$input" )"
    input="$( sed  's|^\([0-9a-f]\{3\}\):|0\1:|g'   <<< "$input" )"

    input="$( sed  's|:\([0-9a-f]\{2\}\):|:00\1:|g' <<< "$input" )"
    input="$( sed  's|:\([0-9a-f]\{2\}\)$|:00\1|g'  <<< "$input" )"
    input="$( sed  's|^\([0-9a-f]\{2\}\):|00\1:|g'  <<< "$input" )"

    input="$( sed  's|:\([0-9a-f]\):|:000\1:|g'     <<< "$input" )"
    input="$( sed  's|:\([0-9a-f]\)$|:000\1|g'      <<< "$input" )"
    input="$( sed  's|^\([0-9a-f]\):|000\1:|g'      <<< "$input" )"
  done

  grep -qs "::" <<< "$input"
  if [ "$?" -eq 0 ]; then
    GRPS="$( sed  's|[0-9a-f]||g' <<< "$input" | wc -m )"
    ((GRPS--)) # carriage return
    ((MISSING=8-GRPS))
    for ((i=0;i<$MISSING;i++)); do
      z="$z:0000"
    done

    input="$( sed  's|\(.\)::\(.\)|\1'$z':\2|g'          <<< "$input" )"
    input="$( sed  's|\(.\)::$|\1'$z':0000|g'            <<< "$input" )"
    input="$( sed  's|^::\(.\)|'$z':0000:\1|g;s|^:||g'   <<< "$input" )"
  fi
  echo "$input"
}

ETH2_SUFFIX="01::1"

STATUS_FILE=/run/dibbler.lease

if [ -f "$STATUS_FILE" ];
then
                source $STATUS_FILE
fi

TRIM_SIZE=17
FULLPREFIX=$( fullPrefix $PREFIX1 )
PREFIX1=${FULLPREFIX:0:TRIM_SIZE}

if [ "$PREFIX1" != "$CURRENT_PREFIX1" ]
then
                if [ "$CURRENT_PREFIX1" != "" ]
                then
                               ip addr delete "$CURRENT_PREFIX1$ETH7_SUFFIX/64" dev eth2
                fi

                echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE

                ip addr add "$PREFIX1$ETH7_SUFFIX/64" dev eth2
                service radvd restart >/dev/null 2>&1


Je pense pas mettre trompé dans le changement de topologie, tout fonctionne en IPv4

quasi sur que c'est une petite merdouille qui est grosse comme un camion mais que je vois pas.

Merci de votre aide :)
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 17 juillet 2018 à 16:42:09
ETH2_SUFFIX="01::1"
Puis dans le reste du script, c'est $ETH7_SUFFIX qui est utilisé...
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kaktuss77 le 17 juillet 2018 à 16:45:46
Rahhh phoque lol, gros comme une maison... je reconnais que sur ce coups je suis un boulet  ::) ::) ;D ;D

Merciiii , je corrige ca tout de suite

Edit : J'avais signalé que ça devait être gros comme un camion lol

Encore Merci, j'ai vérifier je n'ai plus d'occurence en rapport avec ETH7,
Tjrs pas d'IPv6, mais il me semble avoir retiré la route statique, je vais la remettre.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 17 juillet 2018 à 16:58:45
Pas d'IP attribuée à eth2 ?

Qu'il y ait la route ou pas ne devrait pas influer sur l'attribution du préfixe. Je vois aussi que ton fichier client.conf n'a pas d'accolade fermante, mais j'ai considéré qu'elle avait sauté lors du copier/coller sur le forum.

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kaktuss77 le 17 juillet 2018 à 17:00:10
En effet uniquement la lien-local, pas de publique :(

edit : je vais vérifier pour le client.conf

edit 2 : en effet sauté lors du copier/coller
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 17 juillet 2018 à 17:03:56
Il est sans doute possible d'avoir plus d'infos en lançant dibbler-client en mode console au lieu du service: "dibbler-client run" en étant root (après avoir arrêté correctement le service si nécessaire).

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kaktuss77 le 17 juillet 2018 à 17:08:56
alors j'ai donc un show interfaces comme ceci

kaktuss@erl-3:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address                        S/L  Description
---------    ----------                        ---  -----------
br0          -                                 u/u  bro -> eth0.838 LIVEBOX
                                                    (VoD)
br1          -                                 u/u  br1 -> eth0.840 LIVEBOX
                                                    (ZAPPING + CANAL 1)
eth0         -                                 u/u  eth0 ONT (FIBRE RJ45)
eth0.832     90.46.67.239/21                   u/u  eth0.832 (INTERNET + VOIP +
                                                    CANAL 2)
eth0.838     -                                 u/u  eth0.838 (VoD)
eth0.840     -                                 u/u  eth0.840 (ZAPPING + CANAL 1)
eth1         -                                 u/u  eth1 VERS LIVEBOX
eth1.832     192.168.2.1/24                    u/u  eth0.832 LIVEBOX (INTERNET +
                                                    VOIP + CANAL 2)
eth1.838     -                                 u/u  eth1.838 LIVEBOX (VoD)
eth1.840     -                                 u/u  eth1.840 LIVEBOX (ZAPPING +
                                                    CANAL 1)
eth2         192.168.10.1/24                   u/u  eth2 LOCAL LAN SWITCH
lo           127.0.0.1/8                       u/u
             ::1/128
kaktuss@erl-3:~$


et le verbose de dibbler-client semble pourtant indiqué qu'il à bien reçu mon prefixe mais il n'est pas attribué??

root@erl-3:/etc/dibbler# service dibbler-client
force-reload  reload        restart       start         stop
root@erl-3:/etc/dibbler# service dibbler-client stop
Stopping DHCPv6 client: dibbler-client.
root@erl-3:/etc/dibbler# dibbler-client run
| Dibbler - a portable DHCPv6, version 1.0.1 (CLIENT, Linux port)
| Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek Senderski<msend(at)o2.pl>
| Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
| Homepage: http://klub.com.pl/dhcpv6/
2018.07.17 17:04:38 Client Notice    My pid (19190) is stored in /var/lib/dibbler/client.pid
2018.07.17 17:04:38 Client Notice    Detected iface eth0.840/13, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice    Detected iface eth1.832/12, MAC=dc:9f:db:80:04:8d.
2018.07.17 17:04:38 Client Notice    Detected iface eth1.838/11, MAC=dc:9f:db:80:04:8d.
2018.07.17 17:04:38 Client Notice    Detected iface eth0.832/10, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice    Detected iface eth1.840/9, MAC=dc:9f:db:80:04:8d.
2018.07.17 17:04:38 Client Notice    Detected iface eth0.838/8, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice    Detected iface br0/7, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice    Detected iface br1/6, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice    Detected iface imq0/5, MAC=.
2018.07.17 17:04:38 Client Notice    Detected iface eth2/4, MAC=dc:9f:db:80:04:8e.
2018.07.17 17:04:38 Client Notice    Detected iface eth1/3, MAC=dc:9f:db:80:04:8d.
2018.07.17 17:04:38 Client Notice    Detected iface eth0/2, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice    Detected iface lo/1, MAC=00:00:00:00:00:00.
2018.07.17 17:04:38 Client Notice    Parsing /etc/dibbler/client.conf config file...
2018.07.17 17:04:38 Client Info      Interface eth0.832/10 configuration has been loaded.
2018.07.17 17:04:38 Client Info      My DUID is 00:01:00:01:1c:37:4e:44:dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Info      Loading old address database (client-AddrMgr.xml), using built-in routines.
2018.07.17 17:04:38 Client Info      DB timestamp:1531839870, now()=1531839878, db is 8 second(s) old.
2018.07.17 17:04:38 Client Notice    Creating control (::) socket on the lo/1 interface.
2018.07.17 17:04:38 Client Notice    Creating socket (addr=fe80::de9f:dbff:fe80:48c) on eth0.832/10 interface.
2018.07.17 17:04:38 Client Notice    CONFIRM support compiled in.
2018.07.17 17:04:38 Client Info      Creating SOLICIT message with 0 IA(s), no TA and 1 PD(s) on eth0.832/10 interface.
2018.07.17 17:04:38 Client Error     AUTH: protocol 10417976 not supported yet.
2018.07.17 17:04:38 Client Info      Received ADVERTISE on eth0.832/10,trans-id=0xf74880, 5 opts: 25 2 1 11 7
2018.07.17 17:04:38 Client Info      ADVERTISE message with preference set to 255 received, so wait time for other possible ADVERTISE messages is skipped.
2018.07.17 17:04:38 Client Info      Creating REQUEST. Backup server list contains 1 server(s).
2018.07.17 17:04:38 Client Error     AUTH: protocol 10418152 not supported yet.
2018.07.17 17:04:38 Client Info      Received REPLY on eth0.832/10,trans-id=0xadcbb3, 4 opts: 25 2 1 11
2018.07.17 17:04:38 Client Warning   PD: Prefix 2a01:cb08:652:ac00::/56 is already assigned to this PD.
2018.07.17 17:04:38 Client Notice    PD: Adding prefix 2a01:cb08:652:ac00::/56 to all interfaces (prefix will be split to /64 prefixes if necessary).
2018.07.17 17:04:38 Client Info      PD: Using 0 suitable interface(s):[none]
2018.07.17 17:04:38 Client Warning   All IA(s), TA and PD(s) has been configured, but some options (23 16 15 ) were not assigned.
2018.07.17 17:04:38 Client Notice    Insist-mode disabled, giving up (not sending INF-REQUEST).



Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 17 juillet 2018 à 17:40:48
Effectivement il y a bien un préfixe. Le problème c’est donc le script.

Et là du coup je ne vois pas pourquoi.

Édit: Même question que tout à l’heure: le « fi » qui manque à la fin du script, c’est encore le copier/coller ? :)

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kaktuss77 le 17 juillet 2018 à 17:51:10
En effet. Sacré filou ce copier/coller  ;D ;)
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 17 juillet 2018 à 17:55:56
Je pense que j’ai compris: Le fichier status (/run/dibbler.lease) contient déjà le bon préfixe (à cause des exécutions précédentes du script qui utilisait la mauvaise variable), du coup l’interface n’est pas modifiée...

Supprime /run/dibbler.lease et relance le service, ça devrait marcher ;)
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kaktuss77 le 17 juillet 2018 à 20:52:07
Ok je vais tenter cela.

Depuis un tel dans le rer B :p

Edit : ca fonctionne ;)

Merci beaucoup

Maintenant reste à faire un seveur dhcpv6 afin de pouvoir pousser mes serveurs dns ipv6 locaux


Edit 2 :

Par contre j'ai "que" 200Mbps en IPv6... (testdebit.info sur boutgues IPv6)

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 17 juillet 2018 à 20:53:38
L’offload IPv6 est activé ?
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: kaktuss77 le 17 juillet 2018 à 21:00:37
Bien vu !!  :-[ :-[ je me sens gêné


Au top, en tout cas je note dans ma petite test ^^

edit : il faudrait noté dans le tuto le fait d'activé l'offload ipv6 foward et vlan :D
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nicox11 le 27 août 2018 à 16:43:09
Mon message est peut-être limite hors sujet, mais orange donne bien un bloc ipv6 fixe ? Ou "semi-fixe" ?
J'ai pas réussi à trouver la réponse, sur internet les infos remontent à 2016.
Merci
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 27 août 2018 à 16:45:38
"semi" (le mien n'a changé qu'une fois depuis qu'IPv6 est déployé chez Orange).

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nicox11 le 27 août 2018 à 16:51:44
Et on gère comment ce changement, il faut se retapper tous les paramétrages ip fixe pour les machines du LAN (pour les serveurs par exemple)?
Ou il y a possibilité d'utiliser des astuces? Je connais pas trop ipv6, mais avec dhcp via addresse mac et delegation de préfixe, il y a possibilité de faire quelque chose d'automatisé ?
Avec IPV4, j'utilise des addresses privées, mais comment ça marche avec IPV6 ?
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 27 août 2018 à 17:04:34
Alors perso, ce que je fais:

Dans l'idéal, il faudrait pouvoir faire du NPTv6 et n'avoir qu'un adressage ULA sur le LAN, le routeur se chargeant de faire la traduction d'un préfixe à l'autre. Mais point de NPTv6 sur EdgeOS.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: Zelda2000 le 27 août 2018 à 17:14:16
Merci pour ce tuto il m'a bien aidé pour me débarasser de la livebox3 et de ses déco intempestives. Je la garde juste pour le téléphone et pour la TV.

Je viens de faire l'acquisition d'un ERLite-3 et j'ai pu parfaitement le configurer grâce à vous tous.

J'ai juste un dernier problème, et souhaiterai votre aide: lorsque je fais un test ipv6 j'ai systématiquement la note de 19/20 (sur Ipad) avec un problème sur Hostname None dans IPV6 connectivity.

(https://nsa39.casimages.com/img/2018/08/27/18082705231474083.png) (https://www.casimages.com/i/18082705231474083.png.html)

J'ai vu que certains n'avait pas ce problème. Une idée à me soumettre pour avoir un joli 20/20 ?

Au passage il faut corriger l'offload ipv6 dans le tuto en prenant en compte la config suivante:

    offload {
        hwnat disable
        ipsec enable
        ipv4 {
            forwarding enable
            vlan enable
        }
        ipv6 {
            forwarding enable
            vlan enable
        }
    }

Voici le code complet pour un ERLite-3, j'ai gardé l'adresse 192.168.1.254 de ma livebox, du coup si mon ERLite merdoit un jour j'ai juste à débrancher le câble réseau ETH2 et le rebrancher sur la Livebox.

firewall {
    all-ping enable
    broadcast-ping disable
    ipv6-name WANv6_IN {
        default-action drop
        description "WANv6 inbound traffic forwarded to LAN"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
        rule 30 {
            action accept
            description "Allow ICMPv6"
            log disable
            protocol icmpv6
        }
    }
    ipv6-name WANv6_LOCAL {
        default-action drop
        description "WANv6 inbound traffic to the router"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
        rule 30 {
            action accept
            description "Allow ICMPv6"
            log disable
            protocol icmpv6
        }
        rule 40 {
            action accept
            description "Allow DHCPv6"
            destination {
                port 546
            }
            protocol udp
            source {
                port 547
            }
        }
    }
    ipv6-name WANv6_OUT {
        default-action accept
        description "WANv6 outbound traffic"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action reject
            description "Reject invalid state"
            state {
                invalid enable
            }
        }
    }
    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 1 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 2 {
            action accept
            description "Allow Ping"
            destination {
                group {
                    address-group ADDRv4_eth2
                }
            }
            log enable
            protocol icmp
        }
        rule 3 {
            action drop
            description "Drop invalid state"
            log disable
            state {
                invalid enable
            }
        }
    }
    options {
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
}
interfaces {
    bridge br0 {
        aging 300
        bridged-conntrack disable
        description "bro -> eth0.838 LIVEBOX (VoD)"
        hello-time 2
        max-age 20
        priority 0
        promiscuous disable
        stp false
    }
    bridge br1 {
        aging 300
        bridged-conntrack disable
        description "br1 -> eth0.840 LIVEBOX (ZAPPING + CANAL 1)"
        hello-time 2
        max-age 20
        priority 0
        promiscuous disable
        stp false
    }
    ethernet eth0 {
        description "eth0 VERS LIVEBOX"
        duplex auto
        speed auto
        vif 832 {
            address 192.168.2.1/24
            description "eth0.832 LIVEBOX (INTERNET + VOIP + CANAL 2)"
        }
        vif 838 {
            bridge-group {
                bridge br0
            }
            description "eth0.838 LIVEBOX (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 "eth0.840 LIVEBOX (ZAPPING + CANAL 1)"
            egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
        }
    }
    ethernet eth1 {
        description "eth1 ONT (FIBRE RJ45)"
        duplex auto
        speed auto
        vif 832 {
            address dhcp
            description "eth1.832 (INTERNET + VOIP + CANAL 2)"
            dhcp-options {
                client-option "send vendor-class-identifier &quot;sagem&quot;;"
                client-option "send user-class &quot;\053FSVDSL_livebox.Internet.softathome.Livebox4&quot;;"
                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 dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, domain-search, rfc3118-auth;"
                default-route update
                default-route-distance 210
                global-option "option rfc3118-auth code 90 = string;"
                name-server update
            }
            egress-qos "0:0 1:0 2:0 3:0 4:0 5:0 6:6 7:0"
            firewall {
                in {
                    ipv6-name WANv6_IN
                    name WAN_IN
                }
                local {
                    ipv6-name WANv6_LOCAL
                    name WAN_LOCAL
                }
            }
            ipv6 {
                address {
                    autoconf
                }
                dup-addr-detect-transmits 1
            }
        }
        vif 838 {
            bridge-group {
                bridge br0
            }
            description "eth1.838 (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 "eth1.840 (ZAPPING + CANAL 1)"
            egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
        }
    }
    ethernet eth2 {
        address 192.168.1.254/24
        description "eth2 LOCAL LAN SWITCH"
        duplex auto
        speed auto
        ipv6 {
            dup-addr-detect-transmits 1
            router-advert {
                cur-hop-limit 64
                link-mtu 0
                managed-flag false
                max-interval 600
                other-config-flag false
                prefix ::/64 {
                    autonomous-flag true
                    on-link-flag true
                    preferred-lifetime 14400
                    valid-lifetime 18000
                }
                reachable-time 0
                retrans-timer 0
                send-advert true
            }
        }
    }
    loopback lo {
    }
}
protocols {
    static {
        route6 ::/0 {
            next-hop fe80::ba0:bab {
                interface eth1.832
            }
        }
    }
}
service {
    dhcp-server {
        disabled false
        global-parameters "option rfc3118-auth code 90 = string;"
        global-parameters "option SIP code 120 = string;"
        global-parameters "option Vendor-specific code 125 = string;"
        hostfile-update disable
        shared-network-name LAN {
            authoritative disable
            subnet 192.168.1.0/24 {
                default-router 192.168.1.254
                dns-server 8.8.8.8
                dns-server 8.8.4.4
                domain-name FD-HOME
                lease 86400
                start 192.168.1.3 {
                    stop 192.168.1.253
                }
            }
        }
        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.30 {
                    stop 192.168.2.50
                }
                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;"
                subnet-parameters "option Vendor-specific 00:00:05:58:0c:01:0a:00:00:00:00:00:ff:ff:ff:ff:ff;"
            }
        }
        static-arp disable
        use-dnsmasq disable
    }
    dns {
    }
    gui {
        http-port 80
        https-port 443
        older-ciphers enable
    }
    nat {
        rule 5010 {
            log disable
            outbound-interface eth1.832
            protocol all
            type masquerade
        }
    }
    ssh {
        allow-root
        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
    }
    domain-name FD-HOME
    host-name ubnt
    login {
        user root {
            authentication {
                encrypted-password XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                plaintext-password ""
            }
            full-name ""
            level admin
        }
        user ubnt {
            authentication {
                encrypted-password XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                plaintext-password ""
            }
            full-name ""
            level admin
        }
    }
    name-server 8.8.8.8
    name-server 8.8.4.4
    name-server 208.67.222.222
    name-server 208.67.220.220
    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
            vlan enable
        }
        ipv6 {
            forwarding 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 debug
            }
        }
    }
    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-udapi-server@1:ubnt-unms@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v1.10.5.5098915.180622.1355 */
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nicox11 le 27 août 2018 à 17:18:25
Alors perso, ce que je fais:
  • J'utilise SLAAC pour attribuer mes (voir plus bas) préfixes à toutes mes machines, y compris mes serveurs. Pour les serveurs sous linux, j'utilise "ip token set" pour configurer les 64 bits de poids faible de l'adresse à autre chose que l'adresse mac...
  • En plus du préfixe attribué par Orange, j'utilise en plus un second préfixe ULA (équivalent des adresses privées IPv4), qui, lui, ne change jamais
  • Sur mon DNS interne, je ne publie que les adresses utilisant le préfixe ULA (comme ça si le préfixe Orange change, pas de modifs à faire dans mon DNS)
  • Pour les quelques serveurs accessibles depuis le net (3 ou 4, une petite partie de tous les containers que j'ai en fait), à chaque changement de préfixe j'ai un script sur le routeur qui va modifier mes zones sur leurs DNS autoritaires (elles sont chez cloudflare, il est assez facile de faire des modifs avec leur API REST)

Dans l'idéal, il faudrait pouvoir faire du NPTv6 et n'avoir qu'un adressage ULA sur le LAN, le routeur se chargeant de faire la traduction d'un préfixe à l'autre. Mais point de NPTv6 sur EdgeOS.


Merci pour les infos !

Avec le SLAAC + "ip token set", les serveur apprennent automatiquement la nouvelle adresse tout en gardant les 64 bits de poids faibles predefinis ?
Du coup pour tes machines "privées", ells ont deux addresses ipv6 ? Une ULA et une avec le prefixe d'orange ?
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 27 août 2018 à 17:44:59
Oui et oui.

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: sebhug le 02 septembre 2018 à 11:38:40
Bonjour a tous,

Tout a très bien fonctionné pour l'ipv4, merci à l'auteur et aux différents contributeurs.

J'essaye actuellement de configurer l'ipv6 un EdgeRouter X et je rencontre un problème avec dibbler.
Le package fourni étant pour une architecture mips, le edgerouter X a une architecture mipsel ce qui empêche dpkg de fonctionner.
J'ai donc installé dibbler-client via apt-get.

La version est installée est la 0.8.2 mais lorsque j'essaye de démarrer dibbler-client je me retrouve avec une syntax error :

Config parse error: line 19, unexpected [00:00:04:0e:00:05:73:61:67:65:6d] token.
Voici la ligne concernée :

option 16 hex 00:00:04:0e:00:05:73:61:67:65:6d
Et voici les différentes modifications que j'ai déjà tenté :

option 16 duid 00:00:04:0e:00:05:73:61:67:65:6doption 16 duid 0x0000040e0005736167656doption 16 hex 0x0000040e0005736167656d
J'ai également vérifié plusieurs fois que le fichier avait bien le bon encodage / fin de ligne.

Voici le fichier client.conf complet avec la ligne option 11 modifiée pour masquer l'identifiant.

root@ubnt:/etc/dibbler# cat client.conf
# Defaults for dibbler-client
# installed at /etc/dibbler/client.conf by the maintainer script

# 8 (Debug) is most verbose. 7 (Info) is usually the best option
log-level 7

# To perform stateless (i.e. options only) configuration, uncomment
# this line below and remove any "ia" keywords from interface definitions
# stateless


downlink-prefix-ifaces "none"
script "/etc/dibbler/radvd.sh"


iface eth4.832 {
    pd
    option 16 hex 00:00:04:0e:00:05:73:61:67:65:6d
    option 15 hex 00:2b:46:53:56:44:53:4c:5f:6c:69:76:65:62:6f:78:2e:49:6e:74:65:72:6e:65:74:2e:73:6f:66:74:61:74:68:6f:6d:65:2e:6c:69:76:65:62:6f:78:34
    option 11 hex 00:00:00:00:00:00:00:00:00:00:00:XX
    option 11 hex 00:00:00:00:00:00:00:00:00:00:00:XX
    option dns-server
}

J'ai essayé une grande quantité de choses en regardant plusieurs forums mais je n'arrive vraiment pas à résoudre cela. Si quelqu'un aurait une solution ça serait vraiment super !

Merci d'avance
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 02 septembre 2018 à 15:11:17
La version est installée est la 0.8.2
1.0.1 mini obligatoire (les précédentes ne supportent pas les options nécessaires).
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: sebhug le 02 septembre 2018 à 17:17:23
1.0.1 mini obligatoire (les précédentes ne supportent pas les options nécessaires).

Effectivement ça fonctionne meme si ça demande quelques modifications pour que dibbler-client ait bien toutes les dépendances nécessaires.

Merci !
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: mirtouf le 08 septembre 2018 à 09:42:53
Le paquet dibbler fourni correspond à une architecture mips (soc cavium) avec un boutisme différent de l'architecture mipsel (soc MediaTeK), voic donc les paquets compilés par mes soins pour Wheezy avec le patch de zoc pour la cos6.
Le paquet "dbg" est uniquement utilisé à des fins de déboguage, le paquet doc contient la documentation.
J'ai les autres paquets si vous le souhaitez.

EDIT: le patch n'est pas passé, je remets des fichiers avec le patch appliqué.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: hj67 le 09 septembre 2018 à 10:03:07
Le "patch de zoc pour la cos6" est disponible quelque part ? (pour pouvoir l'appliquer sur les sources de Dibbler et le compiler pour autre architecture)
Merci d'avance
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: mirtouf le 09 septembre 2018 à 10:06:54
C'est celui-ci:
--- a/Port-linux/lowlevel-linux.c
+++ b/Port-linux/lowlevel-linux.c
@@ -492,6 +492,9 @@ int sock_add(char * ifacename,int ifacei
  sprintf(Message, "socket creation failed. Is IPv6 protocol supported by kernel?");
  return LOWLEVEL_ERROR_UNSPEC;
     }
+
+        int val=6;
+        setsockopt(Insock, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
 
     /* Set the options  to receivce ipv6 traffic */
     if (setsockopt(Insock, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on)) < 0) {
--- a/Port-linux/libnetlink.c
+++ b/Port-linux/libnetlink.c
@@ -45,6 +45,9 @@ int rtnl_open_byproto(struct rtnl_handle
  return -1;
  }
 
+ int val=6;
+ setsockopt(rth->fd, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
+
  if (setsockopt(rth->fd,SOL_SOCKET,SO_SNDBUF,&sndbuf,sizeof(sndbuf)) < 0) {
  perror("SO_SNDBUF");
  return -1;
--- a/Port-linux/lowlevel-linux-link-state.c
+++ b/Port-linux/lowlevel-linux-link-state.c
@@ -218,6 +218,9 @@ int report_link_state(const char* iface)
  return -1;
     }
 
+        int val=6;
+        setsockopt(fd, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
+
     /* here just to make it more convenient for testing:if we define DEBUG,so a plugin-out and plugin-in event
      * will be detected if we do "ifconfig interface-name down" and ifconfig interface-name up".Otherwise,
      * if we do not define DEBUG, a plugin-in and plugin-out event can only be detected when the local link
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: mirtouf le 09 septembre 2018 à 18:52:33
Mon ER-X est connecté soit au MC220L soit au switch GS108Tv2
Bon ben je galère à déterminer l'erreur (j'ai censuré):
sudo dibbler-client run
| Dibbler - a portable DHCPv6, version 1.0.1 (CLIENT, Linux port)
| Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek Senderski<msend(at)o2.pl>
| Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
| Homepage: http://klub.com.pl/dhcpv6/
2018.09.09 18:40:45 Client Notice    My pid (2876) is stored in /var/lib/dibbler/client.pid
2018.09.09 18:40:45 Client Notice    Detected iface eth0.832/10, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice    Detected iface eth0.840/9, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice    Detected iface eth4/8, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice    Detected iface eth3/7, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice    Detected iface eth2/6, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice    Detected iface eth1/5, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice    Detected iface eth0/4, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice    Detected iface imq0/3, MAC=.
2018.09.09 18:40:45 Client Notice    Detected iface switch0/2, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice    Detected iface lo/1, MAC=00:00:00:00:00:00.
2018.09.09 18:40:45 Client Notice    Parsing /etc/dibbler/client.conf config file...
2018.09.09 18:40:45 Client Debug     PD: Following interfaces marked as downlink: none
2018.09.09 18:40:45 Client Debug     Prefix delegation option (no parameters) found.
2018.09.09 18:40:45 Client Debug     Will send option 16 (hex data, len11)
2018.09.09 18:40:45 Client Debug     Will send option 15 (hex data, len45)
2018.09.09 18:40:45 Client Debug     Will send option 11 (hex data, len22)
2018.09.09 18:40:45 Client Debug     Will send option 11 (hex data, len22)
2018.09.09 18:40:45 Client Debug     Parsing /etc/dibbler/client.conf done, result=0(success)
2018.09.09 18:40:45 Client Debug     1 interface(s) specified in /etc/dibbler/client.conf
2018.09.09 18:40:45 Client Info      Interface eth0.832/10 configuration has been loaded.
2018.09.09 18:40:45 Client Debug     DUID's value = 00:01:00:01:23:27:fe:e7:78: was loaded from client-duid file.
2018.09.09 18:40:45 Client Info      My DUID is 00:01:00:01:23:27:fe:e7:78:8a:.
2018.09.09 18:40:45 Client Info      Loading old address database (client-AddrMgr.xml), using built-in routines.
2018.09.09 18:40:45 Client Info      DB timestamp:1536511241, now()=1536511245, db is 4 second(s) old.
2018.09.09 18:40:45 Client Debug     Auth: Replay detection value loaded 0
2018.09.09 18:40:45 Client Info      All client's 00:01:00:01:23:27:fe:e7:78:8a: leases are not valid.
2018.09.09 18:40:45 Client Debug     Bind reuse enabled (multiple instances allowed).
2018.09.09 18:40:45 Client Notice    Creating control (::) socket on the lo/1 interface.
2018.09.09 18:40:45 Client Notice    Creating socket (addr=fe80::7a8a:20ff:) on eth0.832/10 interface.
2018.09.09 18:40:45 Client Debug     Initialising link-state detection for interfaces: eth0.832/10
2018.09.09 18:40:45 Client Notice    CONFIRM support compiled in.
2018.09.09 18:40:45 Client Info      Creating SOLICIT message with 0 IA(s), no TA and 1 PD(s) on eth0.832/10 interface.
2018.09.09 18:40:45 Client Error     AUTH: protocol 6529048 not supported yet.
2018.09.09 18:40:45 Client Debug     Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:40:45 Client Debug     Sleeping for 1 second(s).
2018.09.09 18:40:46 Client Info      Processing msg (SOLICIT,transID=0x6359e9,opts: 1 25 8 16 15 11 11 6)
2018.09.09 18:40:46 Client Error     AUTH: protocol 6529048 not supported yet.
2018.09.09 18:40:46 Client Debug     Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:40:46 Client Debug     Sleeping for 2 second(s).
2018.09.09 18:40:48 Client Info      Processing msg (SOLICIT,transID=0x6359e9,opts: 1 25 8 16 15 11 11 6)
2018.09.09 18:40:48 Client Error     AUTH: protocol 6529048 not supported yet.
2018.09.09 18:40:48 Client Debug     Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:40:48 Client Debug     Sleeping for 4 second(s).
2018.09.09 18:40:52 Client Info      Processing msg (SOLICIT,transID=0x6359e9,opts: 1 25 8 16 15 11 11 6)
2018.09.09 18:40:52 Client Error     AUTH: protocol 6529048 not supported yet.
2018.09.09 18:40:52 Client Debug     Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:40:52 Client Debug     Sleeping for 8 second(s).
2018.09.09 18:41:00 Client Info      Processing msg (SOLICIT,transID=0x6359e9,opts: 1 25 8 16 15 11 11 6)
2018.09.09 18:41:00 Client Error     AUTH: protocol 6529048 not supported yet.
2018.09.09 18:41:00 Client Debug     Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:41:00 Client Debug     Sleeping for 16 second(s).
2018.09.09 18:41:16 Client Info      Processing msg (SOLICIT,transID=0x6359e9,opts: 1 25 8 16 15 11 11 6)
2018.09.09 18:41:16 Client Error     AUTH: protocol 6529048 not supported yet.
2018.09.09 18:41:16 Client Debug     Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:41:16 Client Debug     Sleeping for 32 second(s).

cat /etc/dibbler/radvd.sh
#!/bin/bash

if [ "$SRV_MESSAGE" != "REPLY" ]
then
                exit 1
fi

function fullPrefix () {
  local input=$1
  local o=""
  local z=""
                                   
  input=$(tr 'A-F' 'a-f' <<< $input )
                               
  while [ "$o" != "$input" ]; do
    o="$input"
                                                                 
    input="$( sed  's|:\([0-9a-f]\{3\}\):|:0\1:|g'  <<< "$input" )"
    input="$( sed  's|:\([0-9a-f]\{3\}\)$|:0\1|g'   <<< "$input" )"
    input="$( sed  's|^\([0-9a-f]\{3\}\):|0\1:|g'   <<< "$input" )"
                                                                 
    input="$( sed  's|:\([0-9a-f]\{2\}\):|:00\1:|g' <<< "$input" )"
    input="$( sed  's|:\([0-9a-f]\{2\}\)$|:00\1|g'  <<< "$input" )"
    input="$( sed  's|^\([0-9a-f]\{2\}\):|00\1:|g'  <<< "$input" )"
                                                               
    input="$( sed  's|:\([0-9a-f]\):|:000\1:|g'     <<< "$input" )"
    input="$( sed  's|:\([0-9a-f]\)$|:000\1|g'      <<< "$input" )"
    input="$( sed  's|^\([0-9a-f]\):|000\1:|g'      <<< "$input" )"
  done
                           
  grep -qs "::" <<< "$input"
  if [ "$?" -eq 0 ]; then                             
    GRPS="$( sed  's|[0-9a-f]||g' <<< "$input" | wc -m )"
    ((GRPS--)) # carriage return
    ((MISSING=8-GRPS))           
    for ((i=0;i<$MISSING;i++)); do
      z="$z:0000"
    done
                                                               
    input="$( sed  's|\(.\)::\(.\)|\1'$z':\2|g'          <<< "$input" )"
    input="$( sed  's|\(.\)::$|\1'$z':0000|g'            <<< "$input" )"         
    input="$( sed  's|^::\(.\)|'$z':0000:\1|g;s|^:||g'   <<< "$input" )"
  fi           
  echo "$input"
}

SWITCH0_SUFFIX="01::1"

STATUS_FILE=/run/dibbler.lease

if [ -f "$STATUS_FILE" ];
then
                source $STATUS_FILE
fi

TRIM_SIZE=17
FULLPREFIX=$( fullPrefix $PREFIX1 )
PREFIX1=${FULLPREFIX:0:TRIM_SIZE}

if [ "$PREFIX1" != "$CURRENT_PREFIX1" ]
then
                if [ "$CURRENT_PREFIX1" != "" ]
                then
                               ip addr delete "$CURRENT_PREFIX1$SWITCH0_SUFFIX/64" dev switch0
                fi

                echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE

                ip addr add "$PREFIX1$SWITCH0_SUFFIX/64" dev switch0
                service radvd restart >/dev/null 2>&1
fi

cat /etc/dibbler/client.conf
# Defaults for dibbler-client.
# installed at /etc/dibbler/client.conf by the maintainer scripts

# 8 (Debug) is most verbose. 7 (Info) is usually the best option
log-level 8

duid-type duid-ll
# To perform stateless (i.e. options only) configuration, uncomment
# this line below and remove any "ia" keywords from interface definitions
# stateless


downlink-prefix-ifaces "none"
script "/etc/dibbler/radvd.sh"

iface eth0.832 {
    pd
    option 16 hex 00:00:04:0e:00:05:73:61:67:65:6d
    option 15 hex 00:2b:46:53:56:44:53:4c:5f:6c:69:76:65:62:6f:78:2e:49:6e:74:65:72:6e:65:74:2e:73:6f:66:74:61:74:68:6f:6d:65:2e:6c:69:76:65:62:6f:78:34
    option 11 hex 00:00:00:00:00:00:00:00:00:00:00:66:74:69:2f:74:63:32:66:67:65:32
    option 11 hex 00:00:00:00:00:00:00:00:00:00:00:66:74:69:2f:74:63:32:66:67:65:32
    option dns-server
}

../..
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: mirtouf le 09 septembre 2018 à 18:53:01
Le routeur est configuré de cette façon:
set firewall all-ping enable
set firewall broadcast-ping disable
set firewall ipv6-name WANv6_IN default-action drop
set firewall ipv6-name WANv6_IN description 'WANv6 inbound traffic forwarded to LAN'
set firewall ipv6-name WANv6_IN rule 10 action accept
set firewall ipv6-name WANv6_IN rule 10 description 'Allow established/related'
set firewall ipv6-name WANv6_IN rule 10 state established enable
set firewall ipv6-name WANv6_IN rule 10 state related enable
set firewall ipv6-name WANv6_IN rule 20 action drop
set firewall ipv6-name WANv6_IN rule 20 description 'Drop invalid state'
set firewall ipv6-name WANv6_IN rule 20 state invalid enable
set firewall ipv6-name WANv6_IN rule 30 action accept
set firewall ipv6-name WANv6_IN rule 30 description 'Allow ICMPv6'
set firewall ipv6-name WANv6_IN rule 30 log disable
set firewall ipv6-name WANv6_IN rule 30 protocol icmpv6
set firewall ipv6-name WANv6_LOCAL default-action drop
set firewall ipv6-name WANv6_LOCAL description 'WANv6 inbound traffic to the router'
set firewall ipv6-name WANv6_LOCAL rule 10 action accept
set firewall ipv6-name WANv6_LOCAL rule 10 description 'Allow established/related'
set firewall ipv6-name WANv6_LOCAL rule 10 state established enable
set firewall ipv6-name WANv6_LOCAL rule 10 state related enable
set firewall ipv6-name WANv6_LOCAL rule 20 action drop
set firewall ipv6-name WANv6_LOCAL rule 20 description 'Drop invalid state'
set firewall ipv6-name WANv6_LOCAL rule 20 state invalid enable
set firewall ipv6-name WANv6_LOCAL rule 30 action accept
set firewall ipv6-name WANv6_LOCAL rule 30 description 'Allow ICMPv6'
set firewall ipv6-name WANv6_LOCAL rule 30 log disable
set firewall ipv6-name WANv6_LOCAL rule 30 protocol icmpv6
set firewall ipv6-name WANv6_LOCAL rule 40 action accept
set firewall ipv6-name WANv6_LOCAL rule 40 description 'Allow DHCPv6'
set firewall ipv6-name WANv6_LOCAL rule 40 destination port 546
set firewall ipv6-name WANv6_LOCAL rule 40 protocol udp
set firewall ipv6-name WANv6_LOCAL rule 40 source port 547
set firewall ipv6-name WANv6_OUT default-action accept
set firewall ipv6-name WANv6_OUT description 'WANv6 outbound traffic'
set firewall ipv6-name WANv6_OUT rule 10 action accept
set firewall ipv6-name WANv6_OUT rule 10 description 'Allow established/related'
set firewall ipv6-name WANv6_OUT rule 10 state established enable
set firewall ipv6-name WANv6_OUT rule 10 state related enable
set firewall ipv6-name WANv6_OUT rule 20 action reject
set firewall ipv6-name WANv6_OUT rule 20 description 'Reject invalid state'
set firewall ipv6-name WANv6_OUT rule 20 state invalid enable
set firewall ipv6-receive-redirects disable
set firewall ipv6-src-route disable
set firewall ip-src-route disable
set firewall log-martians enable
set firewall name WAN_IN default-action drop
set firewall name WAN_IN description 'WAN to internal'
set firewall name WAN_IN rule 10 action accept
set firewall name WAN_IN rule 10 description 'Allow established/related'
set firewall name WAN_IN rule 10 log disable
set firewall name WAN_IN rule 10 protocol all
set firewall name WAN_IN rule 10 state established enable
set firewall name WAN_IN rule 10 state invalid disable
set firewall name WAN_IN rule 10 state new disable
set firewall name WAN_IN rule 10 state related enable
set firewall name WAN_IN rule 20 action drop
set firewall name WAN_IN rule 20 description 'Drop invalid state'
set firewall name WAN_IN rule 20 log disable
set firewall name WAN_IN rule 20 protocol all
set firewall name WAN_IN rule 20 state established disable
set firewall name WAN_IN rule 20 state invalid enable
set firewall name WAN_IN rule 20 state new disable
set firewall name WAN_IN rule 20 state related disable
set firewall name WAN_LOCAL default-action drop
set firewall name WAN_LOCAL description 'WAN to router'
set firewall name WAN_LOCAL rule 100 action accept
set firewall name WAN_LOCAL rule 100 description 'Allow established/related'
set firewall name WAN_LOCAL rule 100 state established enable
set firewall name WAN_LOCAL rule 100 state related enable
set firewall name WAN_LOCAL rule 200 action drop
set firewall name WAN_LOCAL rule 200 description 'Drop invalid state'
set firewall name WAN_LOCAL rule 200 log disable
set firewall name WAN_LOCAL rule 200 state invalid enable
set firewall options
set firewall receive-redirects disable
set firewall send-redirects enable
set firewall source-validation disable
set firewall syn-cookies enable
set interfaces ethernet eth0 address dhcp
set interfaces ethernet eth0 description ISP
set interfaces ethernet eth0 duplex auto
set interfaces ethernet eth0 speed auto
set interfaces ethernet eth0 vif 832 address dhcp
set interfaces ethernet eth0 vif 832 description ISP_DATA_TV
set interfaces ethernet eth0 vif 832 dhcp-options client-option 'send vendor-class-identifier &quot;sagem&quot;;'
set interfaces ethernet eth0 vif 832 dhcp-options client-option 'send user-class &quot;\053FSVDSL_livebox.Internet.softathome.Livebox4&quot;;'
set interfaces ethernet eth0 vif 832 dhcp-options 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;'
set interfaces ethernet eth0 vif 832 dhcp-options client-option 'request subnet-mask, routers, domain-name-servers, domain-name, broadcast-address, dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, rfc3118-auth;'
set interfaces ethernet eth0 vif 832 dhcp-options default-route update
set interfaces ethernet eth0 vif 832 dhcp-options default-route-distance 210
set interfaces ethernet eth0 vif 832 dhcp-options global-option 'option rfc3118-auth code 90 = string;'
set interfaces ethernet eth0 vif 832 dhcp-options name-server update
set interfaces ethernet eth0 vif 832 firewall in ipv6-name WANv6_IN
set interfaces ethernet eth0 vif 832 firewall in name WAN_IN
set interfaces ethernet eth0 vif 832 firewall local ipv6-name WANv6_LOCAL
set interfaces ethernet eth0 vif 832 firewall local name WAN_LOCAL
set interfaces ethernet eth0 vif 832 ipv6 address autoconf
set interfaces ethernet eth0 vif 832 ipv6 dup-addr-detect-transmits 1
set interfaces ethernet eth0 vif 840 address 192.168.255.254/32
set interfaces ethernet eth0 vif 840 description ISP_TV_VOD
set interfaces ethernet eth1 duplex auto
set interfaces ethernet eth1 speed auto
set interfaces ethernet eth2 duplex auto
set interfaces ethernet eth2 speed auto
set interfaces ethernet eth3 duplex auto
set interfaces ethernet eth3 speed auto
set interfaces ethernet eth4 duplex auto
set interfaces ethernet eth4 speed auto
set interfaces loopback lo
set interfaces switch switch0 address 192.168.2.1/24
set interfaces switch switch0 ipv6 dup-addr-detect-transmits 1
set interfaces switch switch0 ipv6 router-advert cur-hop-limit 64
set interfaces switch switch0 ipv6 router-advert link-mtu 0
set interfaces switch switch0 ipv6 router-advert managed-flag false
set interfaces switch switch0 ipv6 router-advert max-interval 600
set interfaces switch switch0 ipv6 router-advert other-config-flag false
set interfaces switch switch0 ipv6 router-advert prefix '::/64' autonomous-flag true
set interfaces switch switch0 ipv6 router-advert prefix '::/64' on-link-flag true
set interfaces switch switch0 ipv6 router-advert prefix '::/64' preferred-lifetime 14400
set interfaces switch switch0 ipv6 router-advert prefix '::/64' valid-lifetime 18000
set interfaces switch switch0 ipv6 router-advert reachable-time 0
set interfaces switch switch0 ipv6 router-advert retrans-timer 0
set interfaces switch switch0 ipv6 router-advert send-advert true
set interfaces switch switch0 mtu 1500
set interfaces switch switch0 switch-port interface eth1
set interfaces switch switch0 switch-port interface eth2
set interfaces switch switch0 switch-port interface eth3
set interfaces switch switch0 switch-port interface eth4
set interfaces switch switch0 switch-port vlan-aware disable
set protocols igmp-proxy disable-quickleave
set protocols igmp-proxy interface eth0 role disabled
set protocols igmp-proxy interface eth0 threshold 1
set protocols igmp-proxy interface eth0.832 role disabled
set protocols igmp-proxy interface eth0.832 threshold 1
set protocols igmp-proxy interface eth0.840 alt-subnet 0.0.0.0/0
set protocols igmp-proxy interface eth0.840 role upstream
set protocols igmp-proxy interface eth0.840 threshold 1
set protocols igmp-proxy interface switch0 alt-subnet 0.0.0.0/0
set protocols igmp-proxy interface switch0 role downstream
set protocols igmp-proxy interface switch0 threshold 1
set service dhcp-server disabled false
set service dhcp-server hostfile-update disable
set service dhcp-server shared-network-name LAN_SW0_DHCP authoritative enable
set service dhcp-server shared-network-name LAN_SW0_DHCP subnet 192.168.2.0/24 default-router 192.168.2.1
set service dhcp-server shared-network-name LAN_SW0_DHCP subnet 192.168.2.0/24 dns-server 192.168.2.1
set service dhcp-server shared-network-name LAN_SW0_DHCP subnet 192.168.2.0/24 lease 86400
set service dhcp-server shared-network-name LAN_SW0_DHCP subnet 192.168.2.0/24 ntp-server 192.168.2.1
set service dhcp-server shared-network-name LAN_SW0_DHCP subnet 192.168.2.0/24 start 192.168.2.100 stop 192.168.2.200
set service dhcp-server static-arp disable
set service dhcp-server use-dnsmasq disable
set service dns forwarding cache-size 1024
set service dns forwarding listen-on lo
set service dns forwarding listen-on eth0
set service dns forwarding listen-on switch0
set service dns forwarding name-server 80.67.169.12
set service dns forwarding name-server 80.67.169.40
set service gui http-port 80
set service gui https-port 443
set service gui listen-address 192.168.2.1
set service gui older-ciphers disable
set service nat rule 5001 description MASQ_WAN
set service nat rule 5001 log disable
set service nat rule 5001 outbound-interface eth0.832
set service nat rule 5001 protocol all
set service nat rule 5001 type masquerade
set service nat rule 5002 description MASQ_ORANGE
set service nat rule 5002 log disable
set service nat rule 5002 outbound-interface eth0.840
set service nat rule 5002 protocol all
set service nat rule 5002 type masquerade
set service ssh listen-address 192.168.2.1
set service ssh port 22
set service ssh protocol-version v2
set service upnp2 listen-on switch0
set service upnp2 nat-pmp enable
set service upnp2 port 34651
set service upnp2 secure-mode enable
set service upnp2 wan eth0.832
set system config-management commit-revisions 5
set system conntrack expect-table-size 4096
set system conntrack hash-size 4096
set system conntrack table-size 32768
set system conntrack tcp half-open-connections 512
set system conntrack tcp loose disable
set system conntrack tcp max-retrans 3
set system host-name ubnt
set system login user ubnt authentication encrypted-password '$burp.'
set system login user ubnt level admin
set system name-server 127.0.0.1
set system ntp server 0.ubnt.pool.ntp.org
set system ntp server 1.ubnt.pool.ntp.org
set system ntp server 2.ubnt.pool.ntp.org
set system ntp server 3.ubnt.pool.ntp.org
set system offload hwnat enable
set system offload ipsec enable
set system package repository wheezy components 'main contrib non-free'
set system package repository wheezy distribution wheezy
set system package repository wheezy password ''
set system package repository wheezy url 'http://ftp.fr.debian.org/debian'
set system package repository wheezy username ''
set system syslog global facility all level notice
set system syslog global facility protocols level warning
set system time-zone Europe/Paris
set system traffic-analysis dpi disable
set system traffic-analysis export disable
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: hj67 le 10 septembre 2018 à 08:41:40
C'est celui-ci:
--- a/Port-linux/lowlevel-linux.c
+++ b/Port-linux/lowlevel-linux.c
@@ -492,6 +492,9 @@ int sock_add(char * ifacename,int ifacei
  sprintf(Message, "socket creation failed. Is IPv6 protocol supported by kernel?");
  return LOWLEVEL_ERROR_UNSPEC;
     }
+
+        int val=6;
+        setsockopt(Insock, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
 
     /* Set the options  to receivce ipv6 traffic */
     if (setsockopt(Insock, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on)) < 0) {
--- a/Port-linux/libnetlink.c
+++ b/Port-linux/libnetlink.c
@@ -45,6 +45,9 @@ int rtnl_open_byproto(struct rtnl_handle
  return -1;
  }
 
+ int val=6;
+ setsockopt(rth->fd, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
+
  if (setsockopt(rth->fd,SOL_SOCKET,SO_SNDBUF,&sndbuf,sizeof(sndbuf)) < 0) {
  perror("SO_SNDBUF");
  return -1;
--- a/Port-linux/lowlevel-linux-link-state.c
+++ b/Port-linux/lowlevel-linux-link-state.c
@@ -218,6 +218,9 @@ int report_link_state(const char* iface)
  return -1;
     }
 
+        int val=6;
+        setsockopt(fd, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
+
     /* here just to make it more convenient for testing:if we define DEBUG,so a plugin-out and plugin-in event
      * will be detected if we do "ifconfig interface-name down" and ifconfig interface-name up".Otherwise,
      * if we do not define DEBUG, a plugin-in and plugin-out event can only be detected when the local link
Merci.
Mais, c'est bien censé envoyer les requêtes dhcp6 avec une COS de 6 sans autre modif sur le système ?
Car sans modifier la priorité avant (avec vconfig set_egress_map), ça ne fonctionne pas (pas de réponse).
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 10 septembre 2018 à 09:28:22
Non, ce n'est pas sensé faire de la CoS sans changer la configuration egress du VLAN. Le patch prépare le terrain pour que le kernel puisse appliquer la CoS, c'est tout.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nanostra le 27 septembre 2018 à 12:59:01
Bonjour à tous,

N'ayant pas plus de temps à consacrer aux changements et évolutions Orange pour faire fonctionner tout cela sous ubiquiti, j'ai rebranché ma Livebox V4 en direct suite à la perte d'IP Externe constatée hier suite à Reboot (solution message Zoc ci-dessus). Ma ligne étant également à usage professionnel, je n'ai malheureusement pas la possibilité de passer des heures à chercher des solutions et il est donc plus sage pour moi de rester avec une Livebox V4 en direct qui ne limite plus à ce jour l'usage que j'en fait.

En conséquence, si vous souhaitez que ce TUTO reste à jour, je vous invite à me communqiuer les modifications précisent à effectuer, remplacer la ligne xxxx par yyy  (pas des pistes de solutions, mais bien la solution...).

Je pense que ce Tuto a rendu service à pas mal de gens étant donné le nombre de lectures mais le réseau n'est pas ma spécialité (loin de là) et je n'ai ni l'envie, ni le temps d'y consacrer plus de temps... je pense avoir passé plus d'une centaine d'heure à compiler toutes les infos, et soyons honnête, l'investissement est trop lourd pour arriver au niveau de gens comme Zoc ou KGersen et j'en passe. Encore merci à eux.

Merci à tous et n'hésitez pas à me communiquer les modifications à apporter afin que ce tuto survive.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: mirtouf le 27 septembre 2018 à 13:27:52
L'option 11 doit être modifiée (tout comme l'option 90 en IPv4) pour obtenir ceci:
00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:05:58:01:03:41:01:0d:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
Rien ne garantit la pérennité de cette solution.

Topics qui en parlent:
https://lafibre.info/remplacer-livebox/cacking-nouveau-systeme-de-generation-de-loption-90-dhcp/
https://lafibre.info/remplacer-livebox/renew-dhcp-daujourdhui-gt-plus-dip/
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nicox11 le 24 octobre 2018 à 11:55:48
Question sûrement bête, est obligatoire dibbler pour l'ipv6 ? Les dernières versions de edgerouter ne permettent pas de s'en passer ?
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: zoc le 24 octobre 2018 à 12:24:25
Rien n'a changé  concernant IPv6 et il n'est pas prévu que ça change pour la version 2.0.0.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nicox11 le 24 octobre 2018 à 20:23:15
Je pense avoir à peu près compris que dibbler servait en tant que client DHCP. Par contre, à quoi sert le script "radvd.sh", j'essaye de déchiffrer mais je comprends pas vraiment ce qu'il fait  ;D
Ensuite, supposons que j'ai plusieurs vlan pour mon "LAN", comment je transmet le prefixe sur ces vlans ?

Dans le script on a :
ETH7_SUFFIX="01::1"

Cela veut dire quoi ? 1 pour le premier réseau ? Si j'en veut un deuxième je peux créer un 02::1 ?

Dans le client.conf, il y a deux fois l'option 11, faut-il mettre deux fois la même chose ?

Le tuto est plutôt sympa pour une mise en place rapide mais il manque d'explication.

Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: nicox11 le 27 octobre 2018 à 14:02:03
J'ai essayé d'adapter la configuration pour mon réseau. Mais j'ai des problèmes, ça ne fonctionne pas :

- Le service dibbler-client tourne bien
- L'interface WAN du routeur a bien une ipv6 en link local
- Je ping bien la passerelle WAN en link local
- Mon interface LAN n'a pas d'IPv6 global unicast
- Le fichier /run/dibbler.lease contient bien le prefixe global unicast (17 premiers caractères).

Du coup, je sais pas trop où ça coince, dans le sens où je récupère bien le préfixe mais il ne s'assigne pas à l'interface LAN. Du plus comment ça se passe pour la route par defaut ? Est-elle ajoutée automatiquement ? Faut-il la définir manuellement ?

Merci
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: Zeda le 18 décembre 2018 à 18:56:07
Dans le client.conf, il y a deux fois l'option 11, faut-il mettre deux fois la même chose ?

Je confirme qu'il faut bien l'option en double.

Je viens de faire le nécessaire pour l'IPv6 et avait pris la liberté de supprimer le doublon... Et bien ça marche pas sans ça !
D'après ma capture, l'option 11 n'est pas envoyée dans la requête DHCPv6 (REQUEST) mais uniquement lors du SOLICIT.
En rajoutant la seconde ligne, ça a fonctionné de suite...  ::)

Par contre, lors de mon reboot, il semblerait que dibbler ne démarre pas (ou s'arrête directement). Faudrait que je reteste (quand je serai seul), mais pourtant j'ai bien suivi le point 4 du tuto.
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: Zeda le 19 décembre 2018 à 10:45:24
Je confirme qu'après un reboot, dibbler-client n'est pas démarré.

radvd.sh fais bien son office puisque je récupère des IPv6 (du préfixe récupéré avant le reboot) dans mes différents VLANs.

Par contre, malgré un redémarrage de dibbler, cela ne s'est pas remis à fonctionner de suite.
Dibbler semblait indiquer qu'il récupérait le préfixe (donc, configuration OK en ce qui concerne les options DHCPv6), mais côté client ça ne fonctionnait pas. C'est "tombé en marche" dans la nuit. Peut-être suis-je trop impatient... Quel est le délai chez vous entre le reboot et l'établissement de la connectivité IPv6 ?
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 22 août 2019 à 09:44:40
Hello les gars,

Je viens de mettre à jour le firmware en 2.0.6 et j'ai plus d'ipV6:

root@ubnt:/home/ubnt# service dibbler-client status
* dibbler-client.service - Dibbler
   Loaded: loaded (/etc/systemd/system/dibbler-client.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2019-08-22 09:40:34 CEST; 2min 45s ago
  Process: 4382 ExecStop=/root.dev/w.o/usr/sbin/dibbler-client stop [b](code=exited, status=1/FAILURE)[/b]
  Process: 4379 ExecStart=/root.dev/w.o/usr/sbin/dibbler-client start [b](code=exited, status=1/FAILURE)[/b]
 Main PID: 4379 (code=exited, status=1/FAILURE)

Aug 22 09:40:34 ubnt dibbler-client[4379]: Starting daemon...
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Main process exited, code=exited, status=1/FAILURE[/b]
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Dibbler - a portable DHCPv6, version 1.0.1 (CLIENT, Linux port)
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek Senderski<msend(at)o2.pl>
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Homepage: http://klub.com.pl/dhcpv6/
Aug 22 09:40:34 ubnt dibbler-client[4382]: Process is not running.
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Control process exited, code=exited status=1[/b]
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Unit entered failed state.[/b]
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Failed with result 'exit-code'.[/b]
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: pinomat le 22 août 2019 à 10:27:30
Bonjour Barichon,

Pour le firmware 2.0.6 des EdgeRouter, il y a la solution de KalNightmare : https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/ (https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/).

Je l'ai reprise dans un TUTO : https://lafibre.info/remplacer-livebox/tuto-er-6p-v2-0-6-cisco-sg350-28p-nettv-sans-livebox/ (https://lafibre.info/remplacer-livebox/tuto-er-6p-v2-0-6-cisco-sg350-28p-nettv-sans-livebox/)

Il n'y a plus dibbler dans cette configuration.

Hello les gars,

Je viens de mettre à jour le firmware en 2.0.6 et j'ai plus d'ipV6:

root@ubnt:/home/ubnt# service dibbler-client status
* dibbler-client.service - Dibbler
   Loaded: loaded (/etc/systemd/system/dibbler-client.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2019-08-22 09:40:34 CEST; 2min 45s ago
  Process: 4382 ExecStop=/root.dev/w.o/usr/sbin/dibbler-client stop [b](code=exited, status=1/FAILURE)[/b]
  Process: 4379 ExecStart=/root.dev/w.o/usr/sbin/dibbler-client start [b](code=exited, status=1/FAILURE)[/b]
 Main PID: 4379 (code=exited, status=1/FAILURE)

Aug 22 09:40:34 ubnt dibbler-client[4379]: Starting daemon...
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Main process exited, code=exited, status=1/FAILURE[/b]
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Dibbler - a portable DHCPv6, version 1.0.1 (CLIENT, Linux port)
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek Senderski<msend(at)o2.pl>
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Homepage: http://klub.com.pl/dhcpv6/
Aug 22 09:40:34 ubnt dibbler-client[4382]: Process is not running.
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Control process exited, code=exited status=1[/b]
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Unit entered failed state.[/b]
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Failed with result 'exit-code'.[/b]
Titre: TUTO - Remplacer sa Livebox par routeur Ubiquiti + LIVEBOX (PARTIE 2 IPV6)
Posté par: barichon le 22 août 2019 à 21:04:57
Très bien pour l'info.