La Fibre

Datacenter et équipements réseaux => Routeurs => Orange fibre Remplacer la LiveBox par un routeur => Discussion démarrée par: geoffreyc le 02 août 2017 à 16:03:52

Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: geoffreyc le 02 août 2017 à 16:03:52
Le sujet épinglé manquant de structure et cohésion, je vous propose ce guide simple et rapide pour activer l'IPv6 sur votre ERLite-3 (ou autre routeur edgeMax). Ce guide part du principe que vous avez déjà un routeur ubiquiti en état de fonctionnement et correctement paramétré pour se connecter au DHCP Orange.

Ce guide part aussi du principe que vos interfaces sont paramétrées de la sorte:

eth0 -> LAN
eth1 -> WAN

Il vous tiendra de changer ces références dans les configurations qui vont suivre.

1) Mis en place du dibbler-client

Connectez vous a votre routeur, puis passez en mode root:
sudo -iPuis telecharger dibbler-client (Merci zoc)
curl -L -k "https://lafibre.info/remplacer-livebox/en-cours-remplacer-sa-livebox-par-un-routeur-ubiquiti-edgemax/?action=dlattach;attach=24461" > dibbler.deb
dpkg -i dibbler.deb
Completer l'installation de dibbler (vos reponses pendant l'installation n'ont que tres peux d'importance, nous allons manuellement changer la config).

2)Paramétrer dibbler

ouvrez /etc/dibbler/client.conf et remplacez la configuration par celle-ci:

(N'oubliez pas de remplacer les "XX" par la valeur retourné par se script: https://jsfiddle.net/kgersen/45zudr15/embedded/result/ )

# 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
}


Une fois sauvegardé, créez puis ouvrez le fichier /etc/dibbler/radvd.sh en y ajoutant la configuration suivante:

#!/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"
}

ETH0_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$ETH0_SUFFIX/64" dev eth0
                fi

                echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE

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

Changez les permissions du fichier pour le rendre exécutable: chmod 755 /etc/dibbler/radvd.sh

Enfin, créez puis ouvrez le fichier /config/scripts/post-config.d/dibbler-client.sh puis y ajouter:

#!/bin/bash

service dibbler-client restart

Changez les permissions du fichier pour le rendre exécutable: chmod 755 /config/scripts/post-config.d/dibbler-client.sh

Vous voila fini avec la partie dibbler.

3) Paramétrer le routeur

C'est la partie la plus délicate, car chacun ici aura un fichier de configuration unique a lui même, il m'est donc impossible de vous donnez un fichier config.boot déjà tout prêt. Je vais en revanche vous indiquer les parties de configurations a rajouter, en essayant d’être le plus clair possible.
Je vous conseille je faire une copie de votre configuration existante (cp /config/config.boot /config/configipv6.boot) et de faire vos modifications sur ce fichier la.

3 - 1) Les regles firewall

Ces lignes sont a rajouter a la section "firewall" de votre configuration:

    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
            }
        }
    }

3 - 2) Configution de l'interface LAN eth0

Ces lignes sont a rajouter a la section "interfaces > ethernet eth0" de votre configuration:

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
            }
        }

3 - 3) Configution de l'interface WAN eth1.832

Ces lignes sont a rajouter a la section "interfaces > ethernet eth1 > vif 832" de votre configuration:

  ipv6 {
                address {
                    autoconf
                }
                dup-addr-detect-transmits 1
           }

Ces lignes sont a rajouter a la section "interfaces > ethernet eth1 > vif 832 > firewall > in" de votre configuration:
                    ipv6-name WANv6_IN

Ces lignes sont a rajouter a la section "interfaces > ethernet eth1 > vif 832 > firewall > local" de votre configuration:
    ipv6-name WANv6_LOCAL

Il ne vous reste maintenant plus qu'a appliquer votre configuration et a rebooter votre routeur. Vous devriez a present avoir de l'IPv6! :)

configure
load configipv6.boot
commit
save
exit
reboot
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: mike78530 le 03 août 2017 à 10:16:16
beau tuto bravo!

pour ma part j'utilise le script de zoc pour radvd.sh dont voici le contenu :

#!/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"
}

ETH0_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$ETH0_SUFFIX/64" dev eth0
                fi

                echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE

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

A voir s'il y a qqch de plus récent
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: zoc le 03 août 2017 à 11:30:07
C'est bien le script que je recommande d'utiliser, le précédent fonctionnant mal avec certains préfixes. Il aurait pu être beaucoup plus simple si la commande bc était disponible nativement sur l'ERL, ce qui n'est pas le cas.
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: geoffreyc le 03 août 2017 à 11:44:20
C'est bien le script que je recommande d'utiliser, le précédent fonctionnant mal avec certains préfixes. Il aurait pu être beaucoup plus simple si la commande bc était disponible nativement sur l'ERL, ce qui n'est pas le cas.

Super merci, je vais donc changé ca dessuite (aussi bien dans le guide que chez moi :D).

D'ailleurs Zoc, as tu déjà eu des soucis avec le script dans "scripts/post-config.d" ? Il se trouve que chez moi, le script ne se lance jamais une fois l'ERL booté, je dois le lancer manuellement. Des idées?
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: hoyohoyo le 07 août 2017 à 16:51:56
Super merci, je vais donc changé ca dessuite (aussi bien dans le guide que chez moi :D).

D'ailleurs Zoc, as tu déjà eu des soucis avec le script dans "scripts/post-config.d" ? Il se trouve que chez moi, le script ne se lance jamais une fois l'ERL booté, je dois le lancer manuellement. Des idées?

Bonjour, j'ai exactement le même problème
si je mets le fichier /config/scripts/post-config.d/dibbler-client.sh    Ben là pas de boot, je peux pas aller sur l'interface (EdgeOS Retry later (system is still booting)
au bout de 30 min toujours rien pas d'internet

Heureusement sur ssh fonctionne, je supprime le fichier, je reboot,

L'ipv4 nikel , pas de v6

je fais : service dibbler-client restart   et tout fonctionne, mais impossible de mettre ce fichier sinon plus rien ne fonctionne


edit: ce qui est bizzare après le restart dibbler, l'ip v6 fonctionne 20 min après avoir restart dibbler

en attendant les 20 min :
ping6 google.com
PING google.com(par21s05-in-x0e.1e100.net) 56 data bytes
From par21s05-in-x0e.1e100.net icmp_seq=1 Destination unreachable: No route
From par21s05-in-x0e.1e100.net icmp_seq=2 Destination unreachable: No route
From par21s05-in-x0e.1e100.net icmp_seq=3 Destination unreachable: No route
From par21s05-in-x0e.1e100.net icmp_seq=4 Destination unreachable: No route
From par21s05-in-x0e.1e100.net icmp_seq=5 Destination unreachable: No route
From par21s05-in-x0e.1e100.net icmp_seq=6 Destination unreachable: No route
From par21s05-in-x0e.1e100.net icmp_seq=7 Destination unreachable: No route
^C
--- google.com ping statistics ---
7 packets transmitted, 0 received, +7 errors, 100% packet loss, time 6040ms

Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: zoc le 07 août 2017 à 20:43:48
D'ailleurs Zoc, as tu déjà eu des soucis avec le script dans "scripts/post-config.d" ?
Je ne me souviens pas très bien (mon ERL n'a pas été rebooté depuis 150 jours, et à ce moment là il avait plus de 300 jours d'uptime), mais il me semble que chez moi ça marche. Le script n'est pas lancé du tout ou il ne démarre pas dibbler correctement ? Pour debugger il faudrait rajouter une commande genre "touch /tmp/dibbler" à la fin du script et voir si le fichier /tmp/dibbler est bien créé...

Je me souviens par contre avoir eu des problèmes lors de mes tests sans ONT branché: Dans ce cas l'interface eth1 est vue comme down par le système, ce qui a pour conséquence que dibbler-client s'arrête immédiatement...
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: kgersen le 07 août 2017 à 22:21:17
épinglé!  ;D
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: mike78530 le 07 août 2017 à 22:27:47
Enfin, créez puis ouvrez le fichier /config/scripts/post-config.d/dibbler-client.sh puis y ajouter:

#!/bin/bash

service dibbler-client restart

c'est obligatoire d'avoir ça ?
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: dmfr le 08 août 2017 à 17:56:02
c'est obligatoire d'avoir ça ?

Il est possible également de lancer dibbler-client en tant que service.

Commandes à exécuter après un SU (switch root).

Pour créer les fichier rcX.d
update-rc.d dibbler-client defaults
Pour activer le service
update-rc.d dibbler-client enable

Pour désactiver totalement le service
update-rc.d dibbler-client disable
update-rc.d -f dibbler-client remove

Pour contrôler les services en cours
service --status-all
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: Nh3xus le 08 août 2017 à 18:13:08
Lorsque EdgeOS va migrer vers Debian 9 + systemd ça va être cool...
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: zoc le 08 août 2017 à 18:15:32
Je pense que ça n'arrivera pas.
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: mike78530 le 08 août 2017 à 19:04:49
Il est possible également de lancer dibbler-client en tant que service.

Commandes à exécuter après un SU (switch root).

Pour créer les fichier rcX.d
update-rc.d dibbler-client defaults
Pour activer le service
update-rc.d dibbler-client enable

Pour désactiver totalement le service
update-rc.d dibbler-client disable
update-rc.d -f dibbler-client remove

Pour contrôler les services en cours
service --status-all

merci pour ces infos

pour ma part j'ai dit que je voulais de que dibbler se lance en service quand il me l'a demandé durant l'installation, donc c'est bon pour moi :)
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: computman le 03 mars 2018 à 02:55:25
Firmware 1.10 ça fonctionne :)

Merci
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: galerien le 10 mai 2018 à 14:41:00
bonjour,

J'ai appliqué la config comme indiqué mais impossible de la faire fonctionner sur un ERL-4.

Lorsque j'essaye de tester IPV6 en SSH sur l'ERL-4:
#ping6 www.google.com
PING www.google.com(par21s03-in-x04.1e100.net) 56 data bytes
^C
--- www.google.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2007ms

IPV6 est en partie monter, car impossible d'avoir autre chose que des adresses locales
#show ipv6 neighbors
fe80::ba0:bab dev eth1.832 lladdr a0:f3:e4:94:4b:9b router REACHABLE  => Je m'attendais à un adresse autre qu'un lien local ????
fe80::feec:daff:fe43:39a dev eth0 lladdr fc:ec:da:43:03:9a router STALE  => ERL-4
fe80::110e:5131:4a99:32c3 dev eth0 lladdr ac:22:0b:15:5f:d7 STALE => PC

# show ipv6 route
IPv6 Routing Table
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       IA - OSPF inter area, E1 - OSPF external type 1,
       E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
       N2 - OSPF NSSA external type 2, B - BGP
Timers: Uptime

IP Route Table for VRF "default"
K      ::/0 [0/1024] via fe80::ba0:bab, eth1.832, 00:40:44
C      ::1/128 via ::, lo, 00:46:08
C      fe80::/64 via ::, eth1.838, 00:45:38

# show interfaces ethernet eth1 vif 832
eth1.832@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether fc:ec:da:43:03:9b brd ff:ff:ff:ff:ff:ff
    inet XX.XX.XX.XX/21 brd XX.XX.XX.255 scope global eth1.832
       valid_lft forever preferred_lft forever
    inet6 fe80::feec:daff:fe43:39b/64 scope link
       valid_lft forever preferred_lft forever
    Description: Internet Orange DHCP

    RX:  bytes    packets     errors    dropped    overrun      mcast
        450008       3022          0          0          0          0
    TX:  bytes    packets     errors    dropped    carrier collisions
        283018       3154          0          0          0          0

ma config si vous avez une idée ou est l'erreur (je suis sur ERL-4 firmware 1.10.1)

firewall {
    all-ping enable
    broadcast-ping disable
    group {
        port-group Blizzard_Battle.net {
            description "Blizzard Battle.net"
            port 80
            port 443
            port 1119
        }
        port-group Blizzard_Voice_TCP {
            description "Blizzard Voice TCP"
            port 3478-3479
            port 5060
            port 5062
            port 6250
            port 12000-64000
        }
        port-group Blizzard_Voice_UDP {
            description "Blizzard Voice UDP"
            port 80
            port 443
            port 1119
        }
        port-group Blizzard_downloader {
            description "Blizzard Downloader"
            port 1119-1120
            port 3724
            port 4000
            port 6112-6114
        }
        port-group DiabloIII {
            description DiabloIII
            port 1119
            port 3724
        }
    }
    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 disable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            log disable
            protocol all
            state {
                established disable
                invalid enable
                new disable
                related disable
            }
        }
        rule 30 {
            action accept
            description "Torrent TCP"
            destination {
                address 192.168.1.253
                port 16881
            }
            log disable
            protocol tcp
            source {
                port 16881
            }
        }
        rule 40 {
            action accept
            description "Torrent UDP"
            destination {
                address 192.168.1.253
                port 6881
            }
            log disable
            protocol udp
            source {
                port 6881
            }
        }
        rule 50 {
            action accept
            description Emule
            destination {
                address 192.168.1.253
                port 4662
            }
            log disable
            protocol tcp
            source {
                port 4662
            }
        }
        rule 60 {
            action accept
            description "Emule UDP"
            destination {
                address 192.168.1.253
                port 4672
            }
            log disable
            protocol udp
            source {
                port 4672
            }
        }
        rule 70 {
            action accept
            description "Blizzard Battle.net"
            destination {
                address 192.168.1.10
                group {
                    port-group Blizzard_Battle.net
                }
            }
            log disable
            protocol tcp_udp
            source {
                group {
                    port-group Blizzard_Battle.net
                }
            }
        }
        rule 80 {
            action accept
            description "Blizzard Downloader"
            destination {
                address 192.168.1.10
                group {
                    port-group Blizzard_downloader
                }
            }
            log disable
            protocol tcp_udp
            source {
                group {
                    port-group Blizzard_downloader
                }
            }
        }
        rule 90 {
            action accept
            description "Blizzard Voice TCP"
            destination {
                address 192.168.1.10
                group {
                    port-group Blizzard_Voice_TCP
                }
            }
            log disable
            protocol tcp
            source {
                group {
                    port-group Blizzard_Voice_TCP
                }
            }
        }
        rule 100 {
            action accept
            description "Blizzard Voice UDP"
            destination {
                address 192.168.1.10
                group {
                    port-group Blizzard_Voice_UDP
                }
            }
            log disable
            protocol udp
            source {
                group {
                    port-group Blizzard_Voice_UDP
                }
            }
        }
    }
    name WAN_LOCAL {
        default-action drop
        description "packets from Internet to the router"
        rule 1 {
            action accept
            description "Allow established/related"
            log disable
            protocol all
            state {
                established enable
                invalid enable
                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 "Internal to WAN"
        rule 10 {
            action accept
            description "Allow established/related"
            log disable
            state {
                established enable
                related enable
            }
        }
        rule 30 {
            action reject
            description "Reject invalid state"
            state {
                invalid enable
            }
        }
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
}
interfaces {
    ethernet eth0 {
        address 192.168.1.1/24
        description LAN0_Internal_Network
        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 LAN1_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;\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 subnet-mask, routers, domain-name-servers, domain-name, broadcast-address, 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
                }
                out {
                    ipv6-name WANv6_OUT
                    name WAN_OUT
                }
            }
            ipv6 {
                address {
                    autoconf
                }
                dup-addr-detect-transmits 1
            }
        }
        vif 838 {
            address dhcp
            description "TV - VOD"
            dhcp-options {
                client-option "send vendor-class-identifier &quot;sagem&quot;;"
                client-option "send user-class &quot;\047FSVDSL_livebox.MLTV.softathome.Livebox4&quot;;"
                client-option "send dhcp-client-identifier 1:XX:XX:XX:XX:XX:XX;"
                client-option "request subnet-mask, routers, rfc3442-classless-static-routes;"
                default-route no-update
                default-route-distance 210
                name-server update
            }
            egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
        }
        vif 840 {
            address 192.168.255.254/32
            description "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 {
        address 192.168.2.1/24
        description LAN2_Livebox
        duplex auto
        speed auto
        vif 832 {
            address 192.168.2.254/24
            description Voip
        }
    }
    ethernet eth3 {
        address 192.168.3.1/24
        description LAN_ETH3
        disable
        duplex auto
        speed auto
    }
    loopback lo {
    }
}
protocols {
    igmp-proxy {
        disable-quickleave
        interface eth0 {
            alt-subnet 0.0.0.0/0
            role downstream
            threshold 1
        }
        interface eth1 {
            role disabled
            threshold 1
        }
        interface eth1.832 {
            role disabled
            threshold 1
        }
        interface eth1.838 {
            role disabled
            threshold 1
        }
        interface eth1.840 {
            alt-subnet 0.0.0.0/0
            role upstream
            threshold 1
        }
        interface eth2 {
            role disabled
            threshold 1
        }
    }
}
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_ETH0_DHCP {
            authoritative enable
            subnet 192.168.1.0/24 {
                default-router 192.168.1.1
                dns-server 192.168.1.1
                lease 86400
                ntp-server 192.168.1.1
                start 192.168.1.100 {
                    stop 192.168.1.200
                }
            }
        }
        shared-network-name LAN_ETH2_DHCP {
            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
                domain-name orange.fr
                lease 86400
                start 192.168.2.20 {
                    stop 192.168.2.50
                }
                static-mapping Livebox {
                    ip-address 192.168.2.10
                    mac-address XX:XX:XX:XX:XX:XX
                }
                subnet-parameters "option rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX;"
                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;"
                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 {
        forwarding {
            cache-size 1024
            listen-on lo
            listen-on eth0
            listen-on eth2
            name-server 80.10.246.136
            name-server 81.253.149.6
        }
    }
    gui {
        http-port 80
        https-port 443
        listen-address 192.168.1.1
        older-ciphers disable
    }
    nat {
        rule 5001 {
            description "Masquerading outgoing connections"
            log disable
            outbound-interface eth1.832
            protocol all
            type masquerade
        }
        rule 5002 {
            description "Masquerading TV"
            log disable
            outbound-interface eth1.838
            protocol all
            type masquerade
        }
    }
    ssh {
        listen-address 192.168.1.1
        port 22
        protocol-version v2
    }
    unms {
        disable
    }
    upnp2 {
        listen-on eth0
        nat-pmp enable
        port 34651
        secure-mode enable
        wan eth1.832
    }
}
system {
    config-management {
        commit-revisions 1
    }
    conntrack {
        expect-table-size 4096
        hash-size 4096
        table-size 32768
        tcp {
            half-open-connections 512
            loose disable
            max-retrans 3
        }
    }
    host-name ubnt
    login {
        user ubnt {
            authentication {
                encrypted-password XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
            }
            level admin
        }
    }
    name-server 1.1.1.1
    name-server 8.8.8.8
    ntp {
        server 0.ubnt.pool.ntp.org {
        }
        server 1.ubnt.pool.ntp.org {
        }
        server 2.ubnt.pool.ntp.org {
        }
        server 3.ubnt.pool.ntp.org {
        }
    }
    offload {
        hwnat disable
        ipsec enable
        ipv4 {
            forwarding enable
            gre enable
            vlan enable
        }
        ipv6 {
            forwarding enable
            vlan enable
        }
    }
    syslog {
        global {
            facility all {
                level notice
            }
            facility protocols {
                level warning
            }
        }
    }
    task-scheduler {
        task Watchdog {
            executable {
                path /config/scripts/orange_watchdog.sh
            }
            interval 5m
        }
    }
    time-zone Europe/Paris
    traffic-analysis {
        dpi enable
        export enable
    }
}


/* 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.1.5067768.180306.1010 */

Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: dmfr le 10 mai 2018 à 17:12:47
@galerien:
Quelque chose dans ta config dibbler n'a pas fonctionné. Sinon tu aurais quelque chose de similaire :
# show ipv6 route
IPv6 Routing Table
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       IA - OSPF inter area, E1 - OSPF external type 1,
       E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
       N2 - OSPF NSSA external type 2, B - BGP
Timers: Uptime

IP Route Table for VRF "default"
K      ::/0 [0/1024] via fe80::ba0:bab, eth1.832, 1d21h34m
C      ::1/128 via ::, lo, 1d21h51m
C      2a01:cb08:2c1:d099::/64 via ::, eth0, 00:24:35
C      fe80::/64 via ::, eth0, 00:24:35

- Les fichiers dibbler.conf, radvd.sh sont bien renseignés ? Les permissions correctes ?
- Dibbler est-il lancé ?
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: galerien le 10 mai 2018 à 18:02:12
Concernant les permissions :
# ls -al
total 20
drwxr-xr-x    2 root     root          4096 Apr 13 14:23 .
drwxrwxr-x  103 root     vyattacf      4096 May 10 17:51 ..
-rw-r--r--    1 root     root           832 Apr 13 14:18 client.conf
-rw-r--r--    1 root     root           575 Apr 13 14:14 client.conf-dpkg-new
-rwxr-xr-x    1 root     root          2254 May 10 13:54 raddvd.sh

En ce qui concerne le fichier client.conf, pour moi, j'ai suivi les instructions
r# cat 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 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:66:XX:69:XX:78:XX:6B:XX:78:XX:64
    option 11 hex 00:00:00:00:00:00:00:00:00:00:00:66:XX:69:XX:78:XX:6B:XX:78:XX:64
    option dns-server
}

en ce qui concerne le fichier raddvd.sh, simple copier/coller avec notepad++ et vérification que c'est bien de retour à la ligne unix
#!/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"
}

ETH0_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$ETH0_SUFFIX/64" dev eth0
   fi

   echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE

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


Oui, dibbler est bien lancé
# 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: RUNNING, pid=5315
Dibbler relay : NOT RUNNING.

# service --status-all
 [ ? ]  bootmisc.sh
 [ ? ]  checkfs.sh
 [ + ]  atd
 [ + ]  avahi-daemon
 [ - ]  bootlogs
 [ - ]  checkroot.sh
 [ + ]  cron
 [ - ]  dbus
 [ - ]  ddclient
 [ + ]  dibbler-client
 [ + ]  dnsmasq
 [ + ]  ebtables
 [ - ]  hostname.sh
 [ - ]  mactelnet-server
 [ + ]  miniupnpd
 [ + ]  monit
 [ - ]  motd
 [ + ]  ntp
 [ - ]  openvpn
 [ - ]  pptpd
 [ - ]  procps
 [ + ]  radvd
 [ - ]  rmnologin
 [ + ]  rsyslog
 [ - ]  snmpd
 [ - ]  squid3
 [ + ]  ssh
 [ - ]  sudo
 [ + ]  ubnt-protocols
 [ + ]  ubnt-protocols-nomonit
 [ - ]  urandom
 [ - ]  vyatta-config-reboot-params
 [ + ]  vyatta-dhcp3-server
 [ + ]  vyatta-quagga
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: galerien le 10 mai 2018 à 18:04:58
Quel C......  >:(

Je viens de me rendre compte que dans client.conf, j'ai radvd.sh en lieu et place de raddvd.sh.

Comme par hasard, cela se met à marcher direct.... ;D

# show ipv6 route
IPv6 Routing Table
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       IA - OSPF inter area, E1 - OSPF external type 1,
       E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
       N2 - OSPF NSSA external type 2, B - BGP
Timers: Uptime

IP Route Table for VRF "default"
K      ::/0 [0/1024] via fe80::ba0:bab, eth1.832, 04:28:50
C      ::1/128 via ::, lo, 04:34:14
C      2a01:cb00:1ea:3d01::/64 via ::, eth0, 00:00:07
C      fe80::/64 via ::, eth1.838, 04:33:44
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: ochbob le 04 juillet 2018 à 13:53:19
Question un peu naïve:

    ipv6-name WANv6_OUT {
        default-action accept
        description "WANv6 outbound traffic"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }

Je me suis basé sur la configuration de Zoc pour l'IPV4, mais je ne retrouve pas l’équivalent de cette règle dans sa conf.
Je comprends ce qu'elle fait a priori, mais du coup pourquoi ne pas avoir la même dans une conf sans IPV6 ?

Merci  :)
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: zoc le 04 juillet 2018 à 14:10:26
Je ne filtre pas le traffic sortant sur le WAN dans mon exemple (et d'ailleurs la chaine de règles complète dont tu cites une partie laisse tout sortir sauf le traffic qui pourrait être considéré comme invalide. Je doute de son utilité).


D'ailleurs j'ai aussi abandonné les règles firewall liées aux interfaces pour passer à un firewall par zone (parce qu'en pratique chez moi j'ai plein (5) de VLAN différents et que ça devenait ingérable).
https://help.ubnt.com/hc/en-us/articles/204952154-EdgeRouter-Zone-Based-Firewall
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: ochbob le 04 juillet 2018 à 14:33:22
Merci pour ton retour, donc oui les deux règles dans "ipv6-name WANv6_OUT" ne sont pas vraiment pertinente finalement.

Merci pour ton lien, c'est très intéressant.
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: zfil le 29 septembre 2018 à 23:27:01
J'ai vu dans un autre sujet que dhcpcd dans les versions > 7.0.4 fonctionnait maintenant avec orange.

Du coup je l'ai recompilé pour l'erl mais visiblement il ne trouve pas les interfaces (par contre il marche bien dans mon qemu):
Sep 29 22:17:11 erlite dhcpcd[2970]: no valid interfaces found           
Sep 29 22:17:11 erlite dhcpcd[2970]: no interfaces have a carrier

Est-ce que quelqu'un ici a déjà essayé de le faire fonctionner pour remplacer dibbler ?

Merci
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: barichon le 10 mai 2019 à 15:47:05
Hello All,

Petite question, depuis que je suis passé en firmware 2.0.x (enfin j'imagine que c'est la cause...), impossible de démrarrer dibblier-client:

root@ubnt:/etc# service dibbler-client restart
Failed to restart dibbler-client.service: Unit dibbler-client.service not found.

Une idée ?
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: zoc le 10 mai 2019 à 15:50:52
C'est parce que le firmware 2.0.1 est basé sur debian stretch (au lieu de wheezy) et que debian stretch utilise systemd à la place des bons vieux scripts Sys-V.

Il faut donc revoir entièrement le script de démarrage. Et de toute façon, un dibbler compilé pour wheezy ne fonctionnera pas sous stretch, même si le script de démarrage est adapté. Il faut donc aussi recompiler le paquet.

Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: barichon le 10 mai 2019 à 15:59:42
Exellente mauvaise nouvelle :) Merci @Zoc

Meme en prenant le dibbler-client du stretch, erreur:

Do you want to continue? [Y/n] Y
Get:1 http://ftp.fr.debian.org/debian stretch/main mips dibbler-client mips 1.0.1-1+b1 [399 kB]
Get:2 http://ftp.fr.debian.org/debian stretch/main mips dibbler-doc all 1.0.1-1 [1200 kB]
Get:3 http://ftp.fr.debian.org/debian stretch/main mips resolvconf all 1.79 [74.2 kB]

Generating /etc/dibbler/client.conf-dpkg-new...
Failed to start dibbler-client.service: Unit dibbler-client.service not found.
invoke-rc.d: initscript dibbler-client, action "start" failed.
Unit dibbler-client.service could not be found.

dpkg: error processing package dibbler-client (--configure):
 subprocess installed post-installation script returned error exit status 5

c'est normal docteur ?
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: zoc le 10 mai 2019 à 16:59:02
systemctl start dibbler-client
Mais vu l'erreur, je pense que ça ne va pas marcher. Conclusion, le paquet dibbler-client de stretch est cassé (Il manque un fichier dibbler-client.service pour systemd, sans doute pas très difficile à écrire ceci-dit).

Accessoirement, ça ne n'étonne pas trop, dibbler n'est plus maintenu... C'est d'ailleurs la raison pour laquelle je m'en passerai lorsque je passerai au firmware 2.0.X (dans quelques mois au mieux), je vais essayer d'utiliser dhclient pour IPv6 aussi.

Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: barichon le 10 mai 2019 à 20:42:41
Merci @zoc, par hazard ça te dirait pas que l'on travaille ça ensemble ?


J'ai l'impression que j'y suis presque:

root@ubnt:/home/ubnt/dibbler-1.0.1# sudo apt-get source --compile dibbler-client
Reading package lists... Done
Picking 'dibbler' as source package instead of 'dibbler-client'
Need to get 4397 kB of source archives.
Get:1 http://ftp.fr.debian.org/debian stretch/main dibbler 1.0.1-1 (dsc) [2103 B]
Get:2 http://ftp.fr.debian.org/debian stretch/main dibbler 1.0.1-1 (tar) [4375 kB]
Get:3 http://ftp.fr.debian.org/debian stretch/main dibbler 1.0.1-1 (diff) [19.8 kB]
Fetched 4397 kB in 0s (5084 kB/s)   
dpkg-source: info: extracting dibbler in dibbler-1.0.1
dpkg-source: info: unpacking dibbler_1.0.1.orig.tar.gz
dpkg-source: info: unpacking dibbler_1.0.1-1.debian.tar.xz
dpkg-buildpackage: info: source package dibbler
dpkg-buildpackage: info: source version 1.0.1-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Bartosz Fenski <fenio@debian.org>
dpkg-buildpackage: info: host architecture mips
 dpkg-source --before-build dibbler-1.0.1
 debian/rules clean
dh clean --with autotools_dev
   dh_testdir
   dh_auto_clean
   dh_autotools-dev_restoreconfig
   dh_clean
 debian/rules build
dh build --with autotools_dev
   dh_testdir
   dh_update_autotools_config
cp: invalid option -- 'n'
BusyBox v1.27.2 (2019-03-12 15:49:37 UTC) multi-call binary.

Usage: cp [OPTIONS] SOURCE... DEST

Copy SOURCE(s) to DEST

-a Same as -dpR
-R,-r Recurse
-d,-P Preserve symlinks (default if -R)
-L Follow all symlinks
-H Follow symlinks on command line
-p Preserve file attributes if possible
-f Overwrite
-i Prompt before overwrite
-l,-s Create (sym)links
-u Copy only newer files
dh_update_autotools_config: cp -an --reflink=auto config.guess debian/.debhelper/bucket/files/1d9048b0ac9d4d1dfce7aa4e3a0b59ccfd32db2f7693814aa6f4c778560f5669.tmp returned exit code 1
debian/rules:16: recipe for target 'build' failed
make: *** [build] Error 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2
W: Download is performed unsandboxed as root as file 'dibbler_1.0.1-1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
E: Build command 'cd dibbler-1.0.1 && dpkg-buildpackage -b -uc' failed.

une idée ?
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: zoc le 10 mai 2019 à 21:10:21
Merci @zoc, par hazard ça te dirait pas que l'on travaille ça ensemble ?
Sérieusement, pas le temps (pas envie de divorcer...  ;) ).
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: fttmeh le 11 mai 2019 à 00:15:04
Exellente mauvaise nouvelle :) Merci @Zoc

Meme en prenant le dibbler-client du stretch, erreur:

Do you want to continue? [Y/n] Y
Get:1 http://ftp.fr.debian.org/debian stretch/main mips dibbler-client mips 1.0.1-1+b1 [399 kB]
Get:2 http://ftp.fr.debian.org/debian stretch/main mips dibbler-doc all 1.0.1-1 [1200 kB]
Get:3 http://ftp.fr.debian.org/debian stretch/main mips resolvconf all 1.79 [74.2 kB]

Generating /etc/dibbler/client.conf-dpkg-new...
Failed to start dibbler-client.service: Unit dibbler-client.service not found.
invoke-rc.d: initscript dibbler-client, action "start" failed.
Unit dibbler-client.service could not be found.

dpkg: error processing package dibbler-client (--configure):
 subprocess installed post-installation script returned error exit status 5

c'est normal docteur ?

Hello,

Le package ci-joint a été compilé pour EOS-2.0.1. Il fonctionne très bien chez moi.

Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: barichon le 11 mai 2019 à 12:24:49
Excellent, merci beaucoup le binaire fonctionne :) mais pas d'ipv6  ::)

root@ubnt:/home/ubnt# ping6 www.google.com
connect: Network is unreachable

Hello,

Le package ci-joint a été compilé pour EOS-2.0.1. Il fonctionne très bien chez moi.
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: fttmeh le 11 mai 2019 à 12:55:19
Excellent, merci beaucoup le binaire fonctionne :) mais pas d'ipv6  ::)


Parfois dibbler-client ne demarre pas automatiquement. Il faut donc :
sudo systemctl enable dibbler-client
sudo systemctl restart dibbler-client

Il est important aussi de configurer dibbler-client :
1. Utiliser le fichier radvd.sh fourni par @zoc par ailleurs.
2. Configurer /etc/dibbler/client.conf (comme proposé par @zoc)

Par exemple, mon 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 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:1a:09:00:00:05:58:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX: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:1a:09:00:00:05:58:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
option dns-server
}

Il est nécessaire de remplacer les XX:XX par les valeurs qui vont bien pour toi. C'est la chaine d'authentification à envoyer à Orange (qui d'ailleurs doit être dans ton fichier /config/config.boot).
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: barichon le 11 mai 2019 à 13:09:17
Merci mec, problème résolu grâce à toi ! J'avais utilisé le script générateur (DHCP option 90) mais sans rajouter la valeur de verification mise en place par Orange et donc je n'obtenais pas d'IP  ;)

Excellente journée (pluvieuse !)  :o
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: fttmeh le 11 mai 2019 à 13:11:57
Pour information pour ceux qui vont utiliser le dibbler-client que j'ai posté:


Parfois dibbler-client ne demarre pas automatiquement. Il faut donc :


Dans ER-v2.X, le service dibbler-client est démarré trop tôt et n'arrive pas à obtenir une prefix IPv6. Il suffit de redemarrer dibbler-client.

Pour le redemarrer automatiquement, j'ai mis en place le suivant:

Dans /config/config.boot :
set system task-scheduler task CheckInternetConnection executable path /config/scripts/test-connectivity.sh
set system task-scheduler task CheckInternetConnection interval 10m

Et le fichier /config/scripts/test-connectivity.sh (fichier fourni par @zoc et lègerement modifié pour mon cas d'usage)  :
#!/bin/bash
function OK_ipv6 {
        true
        #logger "ConnectivityTest: IPv6 OK"
}

function NOK_ipv6 {
        logger "ConnectivityTest: IPv6 NOK - restarting dibbler-client"
        /bin/systemctl stop dibbler-client
        sleep 60
        /bin/systemctl start dibbler-client
        sleep 90
        /config/scripts/notification_net_restart.sh IPv6
}
/bin/ping6 -q -w 1 -c 1 $(ip -f inet6 r | grep default | cut -d ' ' -f 3,5 | sed 's/\ /%/' ) > /dev/null && OK_ipv6 || NOK_ipv6

Ensuite, une autre source de problèmes est le manque de la route par défaut (configuré via un paquet Router Advertisement). Ça m'arrive de devoir tout éteindre (SFP + router) pendant 10 seconds puis rebrancher pour que tout fonctionne. Sinon, tu peux mettre en dur la route par défaut et le sujet est réglé.

Pour configurer la route par défaut Orange à la main :

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


Voici le fichier de configuration systemd pour dibbler-client (/lib/systemd/system/dibbler-client.service) :
[Unit]
Description=Dibbler
After=network.target

[Service]
Type=simple
ExecStart=/usr/sbin/dibbler-client start
ExecStop=/usr/sbin/dibbler-client stop
PrivateTmp=true
NonBlocking=yes
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: barichon le 11 mai 2019 à 14:17:26
J'avais déja mis la route par défaut, par contre top ce petit script bravo, je vais le mettre en place.

J'avoue ne pas être excellent dans les systèmes de daemon: rc.d, init.d, du coup pas impossible que ce soit le foutoir dans mon ubiquity.
Ca serait bien que je fasse du nettoyage mais quand on connait pas bien....

Petite question qui me taraude, comment forcer le script vyatta à mettre nameserver 9.9.9.9 (dans le resolv.conf) lors de son execution.
Même question comment changer le name serveur annoncé quand on est en ipv6 ?
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: fttmeh le 11 mai 2019 à 21:30:52
En IPv6, il faut publier le servuer DNS IPv6 via radvd:

set interfaces ethernet eth0 vif <<ton VLAN>> ipv6 router-advert radvd-options 'RDNSS <<IPv6 du DNS ici>> {};'

Pour le serveur DNS IPv4, tu le configures aussi dans /config/config.boot :

set system name-server 9.9.9.9

Et pour les clients, tu le fais dans la configuration DHCP (après avoir activé dnsmasq comme serveur DNS forwarder) :
set service dhcp-server shared-network-name <<ton Reseau>> authoritative enable
set service dhcp-server shared-network-name <<ton Reseau>> subnet 192.168.1.0/24 default-router 192.168.1.1
set service dhcp-server shared-network-name <<ton Reseau>> subnet 192.168.1.0/24 dns-server 192.168.1.1
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: barichon le 12 mai 2019 à 12:56:14
Un grand Merci à toi !  8) You rock !
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: bdherouville le 21 mai 2019 à 17:03:25
Bonjour,

pouvez-vous me partager votre config et la liste des paquets externes à installer (dibbler, dhcpclient3...) ?
J'ai un edgerouter lite 3 et une connexion sosh.

Cordialement,
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: fttmeh le 21 mai 2019 à 22:14:11
Bonjour,

pouvez-vous me partager votre config et la liste des paquets externes à installer (dibbler, dhcpclient3...) ?
J'ai un edgerouter lite 3 et une connexion sosh.

Cordialement,

Tu trouveras les guides ici : https://lafibre.info/remplacer-livebox/index-des-solutions-de-remplacement-de-la-livebox/msg564380/#msg564380 (https://lafibre.info/remplacer-livebox/index-des-solutions-de-remplacement-de-la-livebox/msg564380/#msg564380)

Tu peux utiliser le package dibbler pour EOS v2.X dans mon message précedent dans ce thread.
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: bdherouville le 21 mai 2019 à 22:45:06
Merci je viens de reussir. J'ai un peu galéré à recoller les morceaux de threads entre eux !!!!

Encore merci !
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: JanoLapin le 22 mai 2019 à 11:20:25
Est-ce qu'il y a un guide avec les outils présents par défaut sur le routeur (dhclient? peut être en v2 seulement?) ?
Ici il n'y a pas besoin de CoS.
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: fttmeh le 22 mai 2019 à 14:27:28
La guide ici a toutes les informations nécessaies: https://lafibre.info/remplacer-livebox/index-des-solutions-de-remplacement-de-la-livebox/msg564380/#msg564380 (https://lafibre.info/remplacer-livebox/index-des-solutions-de-remplacement-de-la-livebox/msg564380/#msg564380)

Si pas besoin de CoS = 6, tu peux faire avec les outils par défaut installés dans l'EdgeRouter (dhclient) pour avoir une adresse IPv4.

Pour IPv6, il est nécessaire de soit installer dibbler, soit configurer dhclient toi même (pas encore de guide publiée). J'ai essayé chez moi d'utiliser le dhclient embarqué par défaut, mais dans ma zone il semble nécessaire d'avoir la CoS = 6, et donc de toute façon j'ai besoin de patcher mon binaire.
Titre: [Guide] ERLite-3 - IPv6 sans livebox (DHCP)
Posté par: JanoLapin le 22 mai 2019 à 14:35:45
La guide ici a toutes les informations nécessaies: https://lafibre.info/remplacer-livebox/index-des-solutions-de-remplacement-de-la-livebox/msg564380/#msg564380 (https://lafibre.info/remplacer-livebox/index-des-solutions-de-remplacement-de-la-livebox/msg564380/#msg564380)

Si pas besoin de CoS = 6, tu peux faire avec les outils par défaut installés dans l'EdgeRouter (dhclient) pour avoir une adresse IPv4.

Pour IPv6, il est nécessaire de soit installer dibbler, soit configurer dhclient toi même (pas encore de guide publiée). J'ai essayé chez moi d'utiliser le dhclient embarqué par défaut, mais dans ma zone il semble nécessaire d'avoir la CoS = 6, et donc de toute façon j'ai besoin de patcher mon binaire.

Merci, j'avais vu le lien mais il me semblait n'avoir que des instructions pour Dibbler (mais il y a tous les concepts).
Pour dhclient je vais voir si j'arrive à faire qqc avant qu'un guide soit publié alors :)