La Fibre

Datacenter et équipements réseaux => Routeurs => Orange fibre Remplacer la LiveBox par un routeur => Discussion démarrée par: KalNightmare le 24 juillet 2019 à 14:10:50

Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: KalNightmare le 24 juillet 2019 à 14:10:50
Bonjour,

Pour ceux que ça intéresse, j'ai commencé le travail pour utiliser le client dhcp fourni dans les version 2.X pour avoir l'ipv6.
Bien sur, il faut un switch qui applique la COS.

Je suis partie de ça https://github.com/dario-spagnolo/ipv6-scripts et du script radvd fait par zoc pour dibbler.


Le fichier /etc/dhcp3/dhclient6_eth0_832.conf qui reproduit le fonctionnement de la livebox
option dhcp6.auth code 11 = string;
option dhcp6.vendorclass code 16 = string;
option dhcp6.userclass code 15 = string;

#Replace eth0 with your external interface (VLAN must be 832 for Orange)
interface "eth0.832" {
#Orange France specific options
        send dhcp6.vendorclass  00:00:04:0e:00:05:73:61:67:65:6d;
        send dhcp6.userclass 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;
send dhcp6.vendor-opts 00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;       

        #Authentication to Orange France DHCP server (meme valeur pour ipv4)
send dhcp6.auth 00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:xx:xx....;
       
        #Replace xx:xx:xx:xx:xx:xx with the MAC address of your external interface
send dhcp6.client-id 00:03:00:01:xx:xx:xx:xx:xx:xx;

request dhcp6.auth, dhcp6.vendor-opts, dhcp6.name-servers, dhcp6.domain-search;
}

Le fichier  /etc/dhcp3/dhclient-exit-hooks.d/dhclient-ipv6
#!/bin/bash

# vim:tw=80:tabstop=2:shiftwidth=2

# Copyright (c) 2012-present, Phil Dibowitz <phil@ipom.com>
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
#  * Redistributions of source code must retain the above copyright notice,
#    this list of conditions and the following disclaimer.
#  * Redistributions in
#    binary form must reproduce the above copyright notice, this list of
#    conditions and the following disclaimer in the documentation and/or other
#    materials provided with the distribution.
#  * Neither the name of the author nor the names of its contributors may be
#    used to endorse or promote products derived from this software without
#    specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.

#
# You can find the latest version of this at:
#   https://github.com/jaymzh/v6-gw-scripts
#
# Will, given a 'dhclient -6 -P ...' on $EXT_IFACE and assign the prefix
# given to the $INT_IFACE, and twiddle radvd.
#
# For radvd, it takes /etc/radvd.conf.tmpl, replaces "__PREFIX__" with your
# prefix, and - if it's different from /etc/radvd.conf - replaces the config
# file and restarts the daemon.
#

ipv6_prefix_setup() {
  current_ip=$(ip -6 addr show dev eth1 scope global |\
               awk '/inet6/ {print $2}')
  current_prefix=$(echo $current_ip | sed -e 's@::1/64@::/64@')

  new_ip=$(echo $new_ip6_prefix | sed -e 's@::/56@::1/64@g')

  echo "Current IP :" $current_ip >> /tmp/dhclient6.log
  echo "New IP :" $new_ip >> /tmp/dhclient6.log

  if [ "$new_ip" != "$current_ip" ]
  then
     if [ "$current_ip" != "" ]
     then
       ip addr delete "$current_ip" dev eth1
     fi

  ip addr add "$new_ip" dev eth1
  service radvd restart >/dev/null 2>&1
  fi
}

#if [ "$interface" != "$EXT_IFACE" ] ; then
#  return
#fi

case "$reason" in
  BOUND6|REBIND6)
    # We will get called twice here - once for the temp address
    # and once for the prefix. We only care about the prefix.
    if [ ! -z "$new_ip6_prefix" ] ; then
  echo -e "\n\n\nEntering ipv6-setup" >> /tmp/dhclient6.log
  echo "Received prefix : " $new_ip6_prefix  >> /tmp/dhclient6.log
      ipv6_prefix_setup
    fi
    ;;
esac

Et le dernier fichier /etc/systemd/system/dhclient6.service (penser a changer si le wan n'est pas eth0)
[Unit]
Description=dhclient for sending DUID IPv6
Wants=network.target
Before=network.target

[Service]
Type=forking
ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth0_832.conf -pf /var/run/dhclient6_eth0_832.pid -lf /var/run/dhclient6_eth0_832.leases eth0.832

[Install]
WantedBy=multi-user.target

une fois les fichiers créer :
systemctl daemon-reload
systemctl start dhclient6
systemctl enable dhclient6
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 24 juillet 2019 à 14:27:33
Très beau travail.

Du coup, pour être en mesure d'utiliser un firmware sans aucune modification, et sans un switch pour la CoS, il ne manque plus que l'inclusion dans le noyau des "Network Priority cgroup" ( https://www.kernel.org/doc/Documentation/cgroup-v1/net_prio.txt )
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 09 août 2019 à 12:11:35
Bonjour,

Un grand merci pour ce tuto IPv6 que je valide à 100%. Cela fonctionne parfaitement, même si le service dhclient6 ne démarre pas correctement après un redémarrage du router (le service démarre après dhcpd3 dans ma config), faudrait creuser quand les VLAN sont correctement montés.
Les seules manipulations que j'ai effectué après ma configuration de base pour Internet et la TV sont : création des fichiers sur base de la configuration KalNightmare, le marquage CoS, l'ajout des lignes se trouvant dans le fichier config.txt (à modifier selon  et un reboot de l'ER-6P.

ERRATUM 27/08/2019 : La configuration ci-dessous n'est pas stable en cas de changement de configuration. J'ai apporté une correction ici : https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg678674/#msg678674 (https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg678674/#msg678674)

Pour mes tests, j'ai utilisé parfois ces quelques fonctions dhcpdv6 :
release dhcpv6-pd interface eth4.832
delete dhcpv6-pd duid
renew dhcpv6-pd interface eth4.832

Erreur dhclient6 (dhclient6.png) :
ubnt@ubnt:~$ sudo -i systemctl status dhclient6
* dhclient6.service - dhclient for sending DUID IPv6
   Loaded: loaded (/etc/systemd/system/dhclient6.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2016-11-03 18:16:46 CET; 2 years 9 months ago
  Process: 278 ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth4_832.conf -pf /var/run/

Nov 03 18:16:46 ubnt systemd[1]: Starting dhclient for sending DUID IPv6...
Nov 03 18:16:46 ubnt dhclient[278]: Cannot find device "eth4.832"
Nov 03 18:16:46 ubnt systemd[1]: dhclient6.service: Control process exited, code=exited status=1
Nov 03 18:16:46 ubnt systemd[1]: Failed to start dhclient for sending DUID IPv6.
Nov 03 18:16:46 ubnt systemd[1]: dhclient6.service: Unit entered failed state.
Nov 03 18:16:46 ubnt systemd[1]: dhclient6.service: Failed with result 'exit-code'.
ubnt@ubnt:~$

Configuration des interfaces du routeur (à corriger si configuration différente) :
ETH0 (LAN)
ETH4 (WAN) / ETH4.832 (VLAN Internet) / ETH4.840 (VLAN IPTV)

Configuration à ajouter au router ER6-P (config.txt) :
#### Rechercher ####!!!! pour les informations dépendant de la configuration/fournisseur #

###########################################################
### Configuration IPv6                                  ###
### RQ : Nécessite de forcer le marquage CoS 6          ###
### pour les flux DHCPv6 en sortie sur le switch/router ###
###########################################################

edit firewall ipv6-name WAN6_IN
set default-action drop
set rule 10 action accept
set rule 10 description "allow established"
set rule 10 protocol all
set rule 10 state established enable
set rule 10 state related enable

set rule 20 action accept
set rule 20 description "allow ICMPv6"
set rule 20 protocol icmpv6

set rule 30 action drop
set rule 30 description "drop invalid packets"
set rule 30 protocol all
set rule 30 state invalid enable
top

edit firewall ipv6-name WAN6_LOCAL
set default-action drop
set rule 10 action accept
set rule 10 description "allow established"
set rule 10 protocol all
set rule 10 state established enable
set rule 10 state related enable

set rule 20 action accept
set rule 20 description "allow ICMPv6"
set rule 20 protocol icmpv6

set rule 30 action accept
set rule 30 description "allow DHCPv6 client/server"
set rule 30 destination port 547
set rule 30 source port 546
set rule 30 protocol udp

set rule 40 action drop
set rule 40 description "drop invalid packets"
set rule 40 protocol all
set rule 40 state invalid enable
top

####!!!! Remplacer l'interface eth4 (WAN) si nécesssaire ####
set interfaces ethernet eth4 vif 832 firewall in ipv6-name WAN6_IN
set interfaces ethernet eth4 vif 832 firewall local ipv6-name WAN6_LOCAL

####!!!! Remplacer l'interface eth0 (LAN) si nécesssaire ####
set interfaces ethernet eth0 ipv6 address autoconf

###########################################
# active le client ipv6 sur eth4.832      #
# configure dhcpv6-pd sur eth4.832        #
###########################################
####!!!! Remplacer par le préfixe /56 délégué d'orange ####
####!!!! Remplacer l'interface eth4 (WAN) si nécesssaire ####
set interfaces ethernet eth4 vif 832 ipv6 router-advert prefix xxxx:xxxx:xxxx::/56
set interfaces ethernet eth4 vif 832 dhcpv6-pd pd 0 prefix-length 56
set interfaces ethernet eth4 vif 832 dhcpv6-pd pd 0 interface eth0 host-address ::1
set interfaces ethernet eth4 vif 832 dhcpv6-pd pd 0 interface eth0 prefix-id ::1
set interfaces ethernet eth4 vif 832 dhcpv6-pd pd 0 interface eth0 service slaac

###########################################
# paramétrage de la route par défaut      #
###########################################
####!!!! Remplacer l'interface eth4 (LAN) si nécesssaire ####
set protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth4.832

##########################################
# paramétrage d'un réseau ipv6 pour eth0 #
##########################################
####!!!! Remplacer par le préfixe /56 délégué d'Orange xxxx:xxxx:xxxx + ajouté 8 bits (yyyy) au choix ####
####!!!! Remplacer l'interface eth0 (LAN) si nécesssaire ####
set interfaces ethernet eth0 ipv6 router-advert prefix xxxx:xxxx:xxxx:yyyy:1::/64
commit;save;exit

#############################################
# Reboot obligatoire après config dhclient6 #
#############################################

Je ferai un post avec un Tuto complet Fibre Orange Internet + TV + IPv6 SANS LIVEBOX. Sachant que, quand je parle télé, j'ai testé le IPTV+replay+Netflix+VoD.

Ma config :
Router : EdgeMax Ubiquiti ER-6P v2.0.6
Switch : Cisco SG350-28P
Module SFP Fibre Orange
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: nicox11 le 11 août 2019 à 14:43:35
Très intéressant. Plus qu'à attendre que la branche 2.X soit plus stable.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 18 août 2019 à 15:00:58
Bonjour,

Pour ceux que ça intéresse, j'ai commencé le travail pour utiliser le client dhcp fourni dans les version 2.X pour avoir l'ipv6.
Bien sur, il faut un switch qui applique la COS.


Merci !

Avec cela je n'ai plus besoin d'installer dibbler.

Comme en IPv6 on peut utiliser ip6tables pour forcer la COS à 6, j'ai modifié le fichier de configuration de démarrage de dhclient pour ne plus avoir besoin d'un switch:

(L'ONT est branché sur eth1)

#/etc/systemd/system/dhclient6.service
[Unit]
Description=dhclient for sending DUID IPv6
After=network.target

[Service]
Type=forking
ExecStartPre=/sbin/ip6tables -t mangle -F
ExecStartPre=/sbin/ip6tables -t mangle -I POSTROUTING -p udp --dport dhcpv6-server -j CLASSIFY --set-class 0:6
ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832
NonBlocking=yes                               
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target

En partant de ton script, je l'ai modifié pour prendre en compte plusieurs VLANs internes. L'objectif est de donner un prefix /64 à chacune.

/etc/dhcp3/dhclient-exit-hooks.d/dhclient-ipv6
#  /etc/dhcp3/dhclient-exit-hooks.d/dhclient-ipv6

# Interfaces that should obtain a /64 prefix
ipv6_interfaces=(eth0.100 eth0.200 eth0.300)
int_addr="::1"

###

ipv6_prefix_setup() {
# $1 is the ethernet interface
# $2 is the suffix to use
ethiface=$1
suffix=$2

current_ip=$(ip -6 addr show dev $ethiface scope global | awk '/inet6/ {print $2}' | grep -v '^fd' )
current_prefix=$(echo $current_ip | sed -e 's@::.*/64@::/64@')
 
new_ip=$( echo $new_ip6_prefix | sed -e 's/00::\/.*//g' )
new_ip="$new_ip$suffix"

if [ "$new_ip" != "$current_ip" ]
then
if [ "$current_ip" != "" ]
then
/sbin/ip -6 addr delete "$current_ip" dev $ethiface
fi
/sbin/ip -6 addr add "$new_ip" dev $ethiface
 
fi
}

case "$reason" in
  BOUND6|REBIND6)
    # We will get called twice here - once for the temp address
    # and once for the prefix. We only care about the prefix.
    if [ ! -z "$new_ip6_prefix" ] ; then
for interface in "${ipv6_interfaces[@]}"
do
suffix=$( echo ${interface} | /usr/bin/md5sum | awk '{ print substr($1,3,2) }' )
suffix="$suffix$int_addr/64"
ipv6_prefix_setup ${interface} $suffix
done
/bin/systemctl restart radvd.service >/dev/null 2>&1
    fi
    ;;
esac
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 22 août 2019 à 20:35:15
Hello,

Question rapide, ou trouver le /56 délégué d'Orange autre que dans la livebox qui est dans ma cave depuis 3 ans ?

Par avance merci pour votre aide.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: Catalyst le 22 août 2019 à 21:45:05
Hello,

Question rapide, ou trouver le /56 délégué d'Orange autre que dans la livebox qui est dans ma cave depuis 3 ans ?

Par avance merci pour votre aide.

De mémoire, le préfixe délégué à la LBox est le 1er des 256 subnets /64  du /56. Par exemple, si tu connais le /64 de la LBox :

2A01:CB1D:1A1:9600::/64 - préfixe délégué à la LBox
2A01:CB1D:1A1:96::/56 - préfixe alloué à la ligne
2A01:CB1D:1A1:96FF::/64 - 256° et dernier préfixe alloué à la ligne


En pingant 2A01:CB1D:1A1:96FF::1 depuis l'extérieur, si ça arrive sur le routeur c'est confirmé.

Edit : prefixes corrigés ...
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 22 août 2019 à 22:09:49
aie pas certain de comprendre l'ipv6 de livebox est: 2a01:cb00:f01:bd00::1/64
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 22 août 2019 à 22:31:26
aie pas certain de comprendre l'ipv6 de livebox est: 2a01:cb00:f01:bd00::1/64

Ton prefix doit être 2a01:cb00:f01:bd::/56, tu peux utiliser de 2a01:cb00:f01:bd00::/64 jusqu'à 2a01:cb00:f01:bdff::/64
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 22 août 2019 à 23:21:01
Merci, ipv6-test ne me valide toujours pas la connectivité IPv6  :-\

Ci-joint mes config, vous pouvez me filer un coup de main svp ::)?

ETH0 LAN
ETH1: WAN

J'ai un switch qui est bracnhé sur ETH0 (sans cos6), j'ai installé les ligne iptable comme indiqué ci-dessus pour faire la cos6 au niveau de mon ubiquity.

Ici la sortie du status dhclient6:

root@ubnt:/home/ubnt# systemctl status dhclient6
* dhclient6.service - dhclient for sending DUID IPv6
   Loaded: loaded (/etc/systemd/system/dhclient6.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-08-24 08:41:45 CEST; 20min ago
 Main PID: 31298 (dhclient)
   CGroup: /system.slice/dhclient6.service
           `-31298 /sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832

Aug 24 08:43:58 ubnt dhclient[31298]: XMT: Solicit on eth1.832, interval 116580ms.
Aug 24 08:45:54 ubnt dhclient[31298]: XMT: Solicit on eth1.832, interval 120200ms.
Aug 24 08:47:55 ubnt dhclient[31298]: XMT: Solicit on eth1.832, interval 109860ms.
Aug 24 08:49:45 ubnt dhclient[31298]: XMT: Solicit on eth1.832, interval 113160ms.
Aug 24 08:51:38 ubnt dhclient[31298]: XMT: Solicit on eth1.832, interval 113690ms.
Aug 24 08:53:32 ubnt dhclient[31298]: XMT: Solicit on eth1.832, interval 124200ms.
Aug 24 08:55:36 ubnt dhclient[31298]: XMT: Solicit on eth1.832, interval 122350ms.
Aug 24 08:57:39 ubnt dhclient[31298]: XMT: Solicit on eth1.832, interval 119860ms.
Aug 24 08:59:38 ubnt dhclient[31298]: XMT: Solicit on eth1.832, interval 129350ms.
Aug 24 09:01:48 ubnt dhclient[31298]: XMT: Solicit on eth1.832, interval 127250ms.

P.S: J'ai une IPV6 sur eth0

Plz help :(
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 25 août 2019 à 22:46:39
Bon... j'abandonne, j'ai passé mon week-end dessus... rien à faire ça ne fonctionne pas.

 >:(
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 26 août 2019 à 08:53:20
Bon... j'abandonne, j'ai passé mon week-end dessus... rien à faire ça ne fonctionne pas.

 >:(

Bonjour,

J'ai effectivement le même problème. J'ai changé d'interface WAN, refait uniquement la configuration IPv6 et le routage a, semble-t-il sauté, impossible à remettre en route.
Pour ton info, j'étais partie sur une configuration vierge (hard reset) pour que cela fonctionne. Je regarderai ça dans les prochaines semaines. Je soupçonne un problème de routage, mais il faut trouver qui fait quoi exactement...  Les interfaces du routeur et mon PC récupère bien des adresses IPv6, le ping résoud bien les DNS de google, mais le retour ne se fait pas... Dans show ipv6 neighbors, on a surtout ça : fe80::ba0:bab dev eth5.832  FAILED ce qui explique pourquoi on a plus d'IPv6.

Bon courage.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: KalNightmare le 26 août 2019 à 09:49:45
Attention si vous migrer de dibbler, ce n est plus le même duid et du coup il faut attendre le reset par orange côté serveur dhcp, cela peu prendre quelque jour,

Édit: il faut laisser le dhclient tourner, cela remarchera automatiquement au reset chez orange. Après il ne devrait plus y avoir de souci vu que le duid est enregistré dans la config.

Edit2: cela est valable dans le cas où le log du service ne montre que des « solicit »
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 26 août 2019 à 10:36:45
Je ne migre pas de dibbler. J'ai simplement déplacer mon wan de eth4 à eth5 et refait ma config... tu pourrais poster un show ipv6 neighbours / ip -6 route / sudo route -6 stp ?  Dernière question, est-ce que tu paramètres les interfaces du router (configure, set interfaces...commit, save) ou seulement les fichiers de config dhclient suffisent ?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 26 août 2019 à 11:06:07
La route par défaut n'est pas obtenue par DHCP, donc je ne vois pas le rapport avec le problème que tu as avec la route.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: KalNightmare le 26 août 2019 à 11:44:16
Tu as le log du service dhclient ? Après tu as changé d interface, tu as changé le duid dans la config de dhclient ou pas ?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 26 août 2019 à 12:50:35
La route par défaut n'est pas obtenue par DHCP, donc je ne vois pas le rapport avec le problème que tu as avec la route.

Merci zoc. C'était au cas où l'ER-6P fasse sa propre "popote".

Tu as le log du service dhclient ? Après tu as changé d interface, tu as changé le duid dans la config de dhclient ou pas ?

J'ai ajouté le verbose au service (-v), mais c'est pas très verbeux :
Aug 26 12:26:12 ubnt systemd[1]: Starting dhclient for sending DUID IPv6...
Aug 26 12:26:12 ubnt dhclient[1827]: Internet Systems Consortium DHCP Client 4.1-ESV-R15-P1
Aug 26 12:26:12 ubnt dhclient[1827]: Copyright 2004-2018 Internet Systems Consortium.
Aug 26 12:26:12 ubnt dhclient[1827]: Internet Systems Consortium DHCP Client 4.1-ESV-R15-P1
Aug 26 12:26:12 ubnt dhclient[1827]: Copyright 2004-2018 Internet Systems Consortium.
Aug 26 12:26:12 ubnt dhclient[1827]: All rights reserved.
Aug 26 12:26:12 ubnt dhclient[1827]: For info, please visit https://www.isc.org/software/dhcp/
Aug 26 12:26:12 ubnt dhclient[1827]: All rights reserved.
Aug 26 12:26:12 ubnt dhclient[1827]: For info, please visit https://www.isc.org/software/dhcp/
Aug 26 12:26:12 ubnt dhclient[1827]:
Aug 26 12:26:12 ubnt dhclient[1827]: Listening on Socket/eth5.832
Aug 26 12:26:12 ubnt dhclient[1827]: Sending on   Socket/eth5.832
Aug 26 12:26:12 ubnt dhclient[1827]: PRC: Soliciting for leases (INIT).
Aug 26 12:26:12 ubnt systemd[1]: Started dhclient for sending DUID IPv6.
Aug 26 12:26:12 ubnt dhclient[1834]: XMT: Solicit on eth5.832, interval 1010ms.
Aug 26 12:26:13 ubnt dhclient[1834]: XMT: Solicit on eth5.832, interval 1970ms.
Aug 26 12:26:15 ubnt dhclient[1834]: XMT: Solicit on eth5.832, interval 4090ms.
Aug 26 12:26:19 ubnt dhclient[1834]: XMT: Solicit on eth5.832, interval 7860ms.
Aug 26 12:26:27 ubnt dhclient[1834]: XMT: Solicit on eth5.832, interval 15250ms.
Aug 26 12:26:42 ubnt dhclient[1834]: XMT: Solicit on eth5.832, interval 30110ms.
Aug 26 12:27:12 ubnt dhclient[1834]: XMT: Solicit on eth5.832, interval 60480ms.
Aug 26 12:28:13 ubnt dhclient[1834]: XMT: Solicit on eth5.832, interval 114270ms.

J'ai vérifié ma configuration, notamment l'adresse MAC, j'ai fait un release du DUID et vider le fichier  /var/run/dhclient6_eth5_832.leases. --> Même résultat. Voici le détail des routes et autres informations diverses. J'ai bricolé un peu quelques interfaces, mais grosso modo c'est presque la même chose sans bricolage.

J'ai remarqué que lorsqu'IPv6 fonctionne correctement, le "neighbours" vers fe80::ba0:bab mentionne une adresse MAC contrairement à ce que vous pourrez voir plus loin.
ubnt@ubnt:~$ show ipv6 neighbors
fe80::feec:daff:fe47:bf49 dev eth0 lladdr fc:ec:da:47:bf:49 router STALE
2a01:xxxx:xxxx:xxxx:a4df:c8cb:4896:5e75 dev eth0 lladdr f8:84:f2:11:ea:3c STALE
fe80::ba0:bab dev eth4.832 lladdr [color=red][b]20:e0:9c:27:41:66[/b][/color] router REACHABLE

Le symptôme pour info est :
ubnt@ubnt:~$ ping6 www.google.com
PING www.google.com(par21s11-in-x04.1e100.net (2a00:1450:4007:80c::2004)) 56 data bytes
From 2a01:cb11:802:e400:feec:daff:fe47:bf49 (2a01:cb11:802:e400:feec:daff:fe47:bf49) icmp_seq=1 Destination unreachable: Address unreachable
From 2a01:cb11:802:e400:feec:daff:fe47:bf49 (2a01:cb11:802:e400:feec:daff:fe47:bf49) icmp_seq=2 Destination unreachable: Address unreachable
From 2a01:cb11:802:e400:feec:daff:fe47:bf49 (2a01:cb11:802:e400:feec:daff:fe47:bf49) icmp_seq=3 Destination unreachable: Address unreachable
--- www.google.com ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3144ms

#show ipv6 neighbors
2a01:xxxx:xxxx:xxxx:68e5:a41e:722c:2f7b dev eth0 lladdr 6c:40:08:4f:35:bc STALE
fe80::7e91:22ff:fe87:d336 dev eth0 lladdr 7c:91:22:87:d3:36 STALE
fe80::4d6:a5d1:81db:156e dev eth0 lladdr 6c:40:08:4f:35:bc STALE
2a01:xxxx:xxxx:xxxx:8cd7:8e2e:38bb:e72d dev eth0 lladdr 6c:40:08:4f:35:bc STALE
2a01:xxxx:xxxx:xxxx:fdd5:1799:e6de:b08d dev eth0  FAILED
fe80::1ae8:29ff:fe99:9c2d dev eth0 lladdr 18:e8:29:99:9c:2d STALE
2a01:xxxx:xxxx:xxxx:d0e8:49ac:ac97:437 dev eth0 lladdr a4:50:46:d5:4f:10 STALE
fe80::8ef5:a3ff:fe8f:68bf dev eth0 lladdr 8c:f5:a3:8f:68:bf STALE
2a01:xxxx:xxxx:xxxx:112c:5ff5:ee4:d298 dev eth0 lladdr 48:51:b7:da:dd:01 STALE
2a01:xxxx:xxxx:xxxx:adc2:41b0:ca52:3008 dev eth0 lladdr 48:51:b7:da:dd:01 STALE
2a01:xxxx:xxxx:xxxx:14eb:f520:be02:c0ae dev eth0 lladdr 48:51:b7:da:dd:01 STALE
2a01:xxxx:xxxx:xxxx:c03:66a2:fd87:8221 dev eth0 lladdr a4:08:ea:2d:71:87 STALE
2a01:xxxx:xxxx:xxxx:590c:a811:3f44:584a dev eth0 lladdr 48:51:b7:da:dd:01 STALE
2a01:xxxx:xxxx:xxxx:5d9:c7f9:c416:ba17 dev eth0 lladdr 6c:40:08:4f:35:bc STALE
fe80::feec:daff:fe47:bf49 dev eth0 lladdr fc:ec:da:47:bf:49 router STALE
fe80::11:32ff:fe2a:c970 dev eth0 lladdr 02:11:32:2a:c9:70 STALE
fe80::a608:eaff:fe2d:7187 dev eth0 lladdr a4:08:ea:2d:71:87 STALE
2a01:xxxx:xxxx:xxxx:dde7:3697:4130:4c24 dev eth0 lladdr 48:51:b7:da:dd:01 STALE
fe80::11:32ff:fe2d:1b12 dev eth0 lladdr 02:11:32:2d:1b:12 STALE
2a01:xxxx:xxxx:xxxx:1014:1c2:a4ec:3b1b dev eth0 lladdr 6c:40:08:4f:35:bc STALE
fe80::8d7e:ef02:e7ab:db67 dev eth0 lladdr a0:a8:cd:46:6d:9c STALE
fe80::ba0:bab dev eth5.832  FAILED
2a01:xxxx:xxxx:xxxx:fc60:9f49:ce76:bd31 dev eth0 lladdr 7c:91:22:87:d3:36 STALE
fe80::adc2:41b0:ca52:3008 dev eth0 lladdr 48:51:b7:da:dd:01 STALE
2a01:xxxx:xxxx:xxxx:e8c1:f17e:41e8:fdc5 dev eth0  FAILED
2a01:xxxx:xxxx:xxxx:702c:aca2:e858:e86e dev eth0 lladdr 6c:40:08:4f:35:bc STALE
fe80::a650:46ff:fed5:4f10 dev eth0 lladdr a4:50:46:d5:4f:10 STALE
2a01:xxxx:xxxx:xxxx:58eb:acef:346c:113f dev eth0 lladdr 8c:f5:a3:8f:68:bf STALE
2a01:xxxx:xxxx:xxxx:f089:f66:9939:4d39 dev eth0 lladdr b4:c4:fc:52:45:29 STALE
fe80::b6c4:fcff:fe52:4529 dev eth0  FAILED
2a01:xxxx:xxxx:xxxx:7da3:2003:2f50:8249 dev eth0 lladdr a4:08:ea:2d:71:87 STALE
2a01:xxxx:xxxx:xxxx:11:32ff:fe2a:c970 dev eth0 lladdr 02:11:32:2a:c9:70 STALE
2a01:xxxx:xxxx:xxxx:a09e:a84c:9dcd:25d3 dev eth0  FAILED

#ip -6 route
ubnt@ubnt:~$ ip -6 route
2a01:cb11:802:e400:feec:daff:fe47:bf49 dev eth5.832 metric 1  pref medium
2a01:cb11:802:e400::/64 dev eth0 proto kernel metric 256  expires 2591969sec pref medium
fe80::1000 dev eth5.832 metric 1  pref medium
fe80::/64 dev eth0 proto kernel metric 256  pref medium
fe80::/64 dev eth5.832 proto kernel metric 256  pref medium
fe80::/64 dev eth0.10 proto kernel metric 256  pref medium
default via fe80::ba0:bab dev eth5.832 proto zebra metric 1024  pref medium

#sudo route -6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
2a01:xxxx:xxxx:xxxx:feec:daff:fe47:bf49/128 [::]                       UH   1   0     0 eth5.832
2a01:xxxx:xxxx:xxxx::/64        [::]                       UAe  256 4 22358 eth0
fe80::1000/128                 [::]                       UH   1   0     0 eth5.832
fe80::/64                      [::]                       U    256 2     8 eth0
fe80::/64                      [::]                       U    256 0     0 eth5.832
fe80::/64                      [::]                       U    256 0     0 eth0.10
[::]/0                         fe80::ba0:bab              UG   1024 4 12615 eth5.832
[::]/0                         [::]                       !n   -1  1 35022 lo
::1/128                        [::]                       Un   0   5    30 lo
2a01:xxxx:xxxx:xxxx::/128       [::]                       Un   0   1     0 lo
2a01:xxxx:xxxx:xxxx:feec:daff:fe47:bf49/128 [::]                       Un   0   5  9518 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::1000/128                 [::]                       Un   0   2  1544 lo
fe80::feec:daff:fe47:bf49/128  [::]                       Un   0   4  2592 lo
fe80::feec:daff:fe47:bf49/128  [::]                       Un   0   1     0 lo
ff00::/8                       [::]                       U    256 0     0 eth5
ff00::/8                       [::]                       U    256 4 10920 eth0
ff00::/8                       [::]                       U    256 0     0 eth5.840
ff00::/8                       [::]                       U    256 4  3083 eth5.832
ff00::/8                       [::]                       U    256 0     0 eth0.10
[::]/0                         [::]                       !n   -1  1 35022 lo
u

#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"
S      ::/0 [1/0] via fe80::ba0:bab, eth5.832, 2d03h14m
C      ::1/128 via ::, lo, 2d03h14m
C      2a01:xxxx:xxxx:xxxx::/64 via ::, eth0, 2d02h55m
C      fe80::/64 via ::, eth0.10, 1d18h11m


Si vous avez des pistes, je suis preneur... Merci encore.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 26 août 2019 à 14:03:05
Tu ne bloquerais pas ICMPv6 et/ou le multicast (et notamment NDP, qui est le remplaçant de ARP pour IPv6 et qui utilise multicast ICMPv6) par hasard ?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 26 août 2019 à 14:20:52
Tu ne bloquerais pas ICMPv6 et/ou le multicast (et notamment NDP, qui est le remplaçant de ARP pour IPv6 et qui utilise multicast ICMPv6) par hasard ?

Je re-testerai/re-vérifierai ce soir. Mais j'utilise les mêmes règles que pour ma précédente interface. De plus, j'ai déjà eu ce problème auparavant... je ne sais pas d'où ça vient, dès qu'on modifie un paramètre dans la config Ubiquiti (via configure), l'IPv6 saute... J'aimerai bien comprendre et savoir où chercher. Pour moi, c'est quelque part autour du routage...

Du coup, NDP configure le routage via des requêtes ICMPv6 ? Je vais chercher si je vois qq chose avec un tcpdump.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 26 août 2019 à 14:27:31
NDP c'est l'équivalent de ARP. C'est le protocole qui permet d'associer une adresse MAC à une adresse IPv6.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: KalNightmare le 26 août 2019 à 14:45:12
Non mais là ça boucle sur les sollicit dans le log, donc le dhcp refuse la connections et n envoie pas le préfix. Pour moi si la config est là bonne c’est le dhcp qui bloque et il faut attendre ça se débloque tout seul au bout d un moment.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 26 août 2019 à 15:00:34
Comment tu expliques que la route par défaut n'a pas d'adresse Mac donc ?

Si pas d'adresse mac pour ba0:bab, vu que c'est aussi l'adresse qui répond au DHCP (c'est un proxy DHCP), aucune chance que DHCP ne fonctionne.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: KalNightmare le 26 août 2019 à 16:33:41
Ben moi J ai l impression, mais je n ai pas vérifié, que dans certains cas quand on envoie une requête DHCP (je suppose que ça un rapport avec le duid) qu on se fait blacklister par orange genre « fail2ban », je me demande si clone la mac de la Livebox ne permet pas d éviter ce « fail2ban » du coup ça pourrait expliquer la mac vide, si l équipement en fasse bloqué tout incompris le ndp.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: kgersen le 26 août 2019 à 17:23:00
default via fe80::ba0:bab dev eth5.832 proto zebra metric 1024  pref medium

zebra ?!
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 26 août 2019 à 21:18:29
zebra ?!

Ca a l'air dramatique zebra ! :/

Tu ne bloquerais pas ICMPv6 et/ou le multicast (et notamment NDP, qui est le remplaçant de ARP pour IPv6 et qui utilise multicast ICMPv6) par hasard ?

Niveau parefeu ipv6, c'est bon, icmpv6 + dhcpv6 sont autorisés.

J'ai sorti un tcpdump. J'ai l'impression qu'il n'y a pas de retour d'Orange. J'ai l'impression qu'il demande aussi la MAC a la mauvaise adresse broadcast (ff02::1:ffa0:bab)
21:05:56.997578 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) fe80::1000 >                                                                                                                         ff02::1:ffa0:bab: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has fe80::                                                                                                                        ba0:bab
          source link-address option (1), length 8 (1): fc:ec:da:47:bf:48
            0x0000:  fcec da47 bf48
21:06:36.608058 IP6 (flowlabel 0xa2aa3, hlim 1, next-header UDP (17) payload length: 93) fe80::1000.dhcpv6-client > ff02::1:2.dhcpv6-server: [udp sum ok] dhcp6 solicit (xid=2782e6 (client-ID hwaddr/time type 1 time 619915408 fcecda47bf48) (rapid-commit) (elapsed-time 65535) (option-request DNS-server DNS-search-list) (IA_PD IAID:0 T1:0 T2:0 (IA_PD-prefix ::/56 pltime:4294967295 vltime:4294967295)))
21:06:36.608074 IP6 (flowlabel 0xa2aa3, hlim 1, next-header UDP (17) payload length: 93) fe80::1000.dhcpv6-client > ff02::1:2.dhcpv6-server: [udp sum ok] dhcp6 solicit (xid=2782e6 (client-ID hwaddr/time type 1 time 619915408 fcecda47bf48) (rapid-commit) (elapsed-time 65535) (option-request DNS-server DNS-search-list) (IA_PD IAID:0 T1:0 T2:0 (IA_PD-prefix ::/56 pltime:4294967295 vltime:4294967295)))
21:06:47.327924 IP (tos 0xc0, ttl 1, id 3182, offset 0, flags [none], proto IGMP (2), length 32, options (RA))
    adijon-256-1-60-92.w81-51.abo.wanadoo.fr > all-systems.mcast.net: igmp query v2
21:06:47.327960 IP (tos 0xc0, ttl 1, id 3182, offset 0, flags [none], proto IGMP (2), length 32, options (RA))
    adijon-256-1-60-92.w81-51.abo.wanadoo.fr > all-systems.mcast.net: igmp query v2
21:06:51.291676 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.9.1 > 224.0.0.251: igmp v2 report 224.0.0.251
21:06:51.292042 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.9.1 > 224.0.0.251: igmp v2 report 224.0.0.251
21:06:57.155692 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.9.1 > 239.255.255.250: igmp v2 report 239.255.255.250
21:06:57.156101 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
    192.168.9.1 > 239.255.255.250: igmp v2 report 239.255.255.250
21:07:50.038013 IP6 (flowlabel 0xa2aa3, hlim 1, next-header UDP (17) payload length: 224) fe80::1000.dhcpv6-client > ff02::1:2.dhcpv6-server: [udp sum ok] dhcp6 solicit (xid=d64693 (vendor-specific-info) (client-ID hwaddr type 1 fcecda47bf48) (option-request authentication vendor-specific-info DNS-server DNS-search-list) (elapsed-time 65535) (authentication proto: 0, alg: 0, RDM: mono, RD: 0000 0000 0000 0000 ??) (user-class) (vendor-class) (IA_PD IAID:3662135112 T1:3600 T2:5400))
21:07:50.038028 IP6 (flowlabel 0xa2aa3, hlim 1, next-header UDP (17) payload length: 224) fe80::1000.dhcpv6-client > ff02::1:2.dhcpv6-server: [udp sum ok] dhcp6 solicit (xid=d64693 (vendor-specific-info) (client-ID hwaddr type 1 fcecda47bf48) (option-request authentication vendor-specific-info DNS-server DNS-search-list) (elapsed-time 65535) (authentication proto: 0, alg: 0, RDM: mono, RD: 0000 0000 0000 0000 ??) (user-class) (vendor-class) (IA_PD IAID:3662135112 T1:3600 T2:5400))
21:08:35.608092 IP6 (flowlabel 0xa2aa3, hlim 1, next-header UDP (17) payload length: 93) fe80::1000.dhcpv6-client > ff02::1:2.dhcpv6-server: [udp sum ok] dhcp6 solicit (xid=2782e6 (client-ID hwaddr/time type 1 time 619915408 fcecda47bf48) (rapid-commit) (elapsed-time 65535) (option-request DNS-server DNS-search-list) (IA_PD IAID:0 T1:0 T2:0 (IA_PD-prefix ::/56 pltime:4294967295 vltime:4294967295)))
21:08:35.608108 IP6 (flowlabel 0xa2aa3, hlim 1, next-header UDP (17) payload length: 93) fe80::1000.dhcpv6-client > ff02::1:2.dhcpv6-server: [udp sum ok] dhcp6 solicit (xid=2782e6 (client-ID hwaddr/time type 1 time 619915408 fcecda47bf48) (rapid-commit) (elapsed-time 65535) (option-request DNS-server DNS-search-list) (IA_PD IAID:0 T1:0 T2:0 (IA_PD-prefix ::/56 pltime:4294967295 vltime:4294967295)))
21:08:53.007943 IP (tos 0xc0, ttl 1, id 14733, offset 0, flags [none], proto IGMP (2), length 32, options (RA))
    adijon-256-1-60-92.w81-51.abo.wanadoo.fr > all-systems.mcast.net: igmp query v2
21:08:53.007986 IP (tos 0xc0, ttl 1, id 14733, offset 0, flags [none], proto IGMP (2), length 32, options (RA))
    adijon-256-1-60-92.w81-51.abo.wanadoo.fr > all-systems.mcast.net: igmp query v2

Je vais remplacer la mac de l'interface eth5.832 par celle de la livebox pour voir + le fichier de config dhclient.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 26 août 2019 à 22:23:04
Voilà avant :

Aug 26 21:29:47 ubnt dhcp6c[23702]: dhcp6_reset_timer: reset a timer on eth5.832, state=SOLICIT, timeo=0, retrans=1068
Aug 26 21:29:48 ubnt kernel: ICMPv6: RA: ndisc_router_discovery failed to add default route
Aug 26 21:29:48 ubnt dhcp6c[23702]: copy_option: set client ID (len 14)

Aug 26 21:26:23 ubnt ntpd[22211]: bind(29) AF_INET6 2a01:cb11:802:e400::1#123 flags 0x11 failed: Cannot assign requested address
Aug 26 21:26:23 ubnt ntpd[22211]: unable to create socket on eth0 (10) for 2a01:cb11:802:e400::1#123
Aug 26 21:26:23 ubnt ntpd[22211]: failed to init interface for address 2a01:cb11:802:e400::1
Aug 26 21:26:24 ubnt dhcp6c[22288]: copy_option: set client ID (len 14)

Après quelques changements :
- modification de la MAC de l'interface eth5.832
- fichier de configuration dhclient6 (modificatino de l'adresse MAC)
- delete dhcpv6-pd duid dhclient6 (echo >/var/run/dhclient6_eth5_832.leases)
- suppression configuration EdgeOS (via configure) de la configuration DHCPv6-PD de l'interface eth5.832 (WAN)
- reset configuration eth0 (LAN)

ubnt@ubnt:~$ show ipv6 neighbors
fe80::ba0:bab dev eth5.832 lladdr 20:e0:9c:27:41:66 router REACHABLE

Aug 26 22:03:23 ubnt systemd[1]: Starting dhclient for sending DUID IPv6...
Aug 26 22:03:23 ubnt dhclient[28173]: Internet Systems Consortium DHCP Client 4.1-ESV-R15-P1
Aug 26 22:03:23 ubnt dhclient[28173]: Copyright 2004-2018 Internet Systems Consortium.
Aug 26 22:03:23 ubnt dhclient[28173]: Internet Systems Consortium DHCP Client 4.1-ESV-R15-P1
Aug 26 22:03:23 ubnt dhclient[28173]: Copyright 2004-2018 Internet Systems Consortium.
Aug 26 22:03:23 ubnt dhclient[28173]: All rights reserved.
Aug 26 22:03:23 ubnt dhclient[28173]: For info, please visit https://www.isc.org/software/dhcp/
Aug 26 22:03:23 ubnt dhclient[28173]: All rights reserved.
Aug 26 22:03:23 ubnt dhclient[28173]: For info, please visit https://www.isc.org/software/dhcp/
Aug 26 22:03:23 ubnt dhclient[28173]:
Aug 26 22:03:23 ubnt dhclient[28173]: Listening on Socket/eth5.832
Aug 26 22:03:23 ubnt dhclient[28173]: Sending on   Socket/eth5.832
Aug 26 22:03:23 ubnt dhclient[28173]: PRC: Soliciting for leases (INIT).
Aug 26 22:03:23 ubnt systemd[1]: Started dhclient for sending DUID IPv6.
Aug 26 22:03:23 ubnt dhclient[28180]: XMT: Solicit on eth5.832, interval 1050ms.
Aug 26 22:03:23 ubnt dhclient[28180]: RCV: Advertise message on eth5.832 from fe80::ba0:bab.
Aug 26 22:03:23 ubnt dhclient[28180]: XMT: Request on eth5.832, interval 970ms.
Aug 26 22:03:23 ubnt dhclient[28180]: RCV: Reply message on eth5.832 from fe80::ba0:bab.

J'ai maitenant :
1) à partir du routeur :
ubnt@ubnt:~$ sudo -i ping6 www.google.com
ping: www.google.com: Temporary failure in name resolution

2) à partir d'un PC :
C:\Users\admin>ping -6 www.google.com -n 1

Pinging www.google.com [2a00:1450:400e:809::2004] with 32 bytes of data:
Reply from 2a00:1450:400e:809::2004: time=24ms

Ping statistics for 2a00:1450:400e:809::2004:
    Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 24ms, Maximum = 24ms, Average = 24ms

Bonne nouvelle donc ! IPv6 est de retour. Apparemment, dhcp6c a disparu des processus en cours de fonctionnement sur le routeur. Il reste le problème de ping à partir du routeur (j'ai testé plusieurs interfaces pour le ping, mais rien n'y fait...). C'est peut-être lié à dhcp6c aussi !
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 27 août 2019 à 08:15:37
Donc ça voudrait dire que Orange filtre TOUT (y compris ICMPv6 pour NDP) tant que le routeur de contrôle d'accès n'a pas reçu un DHCP SOLICIT valide. D'ailleurs ça expliquerait aussi pourquoi il faut attendre jusqu'à 30 minutes pour obtenir la route par défaut si on ne la configure pas en statique.

zebra ?!
Normal sur EdgeOS pour une route configurée en statique dans la config du routeur. Sur EdgeOS tout le routage est géré par leur propre stack de routage (basée sur zebra, mais ce n'est pas zebra).
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 27 août 2019 à 11:43:41
Bon... j'abandonne, j'ai passé mon week-end dessus... rien à faire ça ne fonctionne pas.

 >:(

Peux-tu essayer/vérifier de :
- Ajout d'un clone de la MAC de la Livebox pour la vif 832 de l'interface WAN (ici eth4.832)
       * set interfaces ethernet eth4 vif 832 mac xx:xx:xx:xx:xx:xx
- Suppression de la configuration DHCPV6-PD de la vif 832 de l'interface WAN (ici eth4.832) -> qui doit désactiver le service dhcp6c
       * delete interfaces ethernet eth4 vif 832 dhcpv6-pd
- Correction de la MAC externe dans le fichier de configuration /etc/dhcp3/dhclient6_eth4_832.conf
       * sudo -i systemctl restart dhclient6

Redémarrer le service dhclient6.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 27 août 2019 à 16:09:27
Bonjour,

Voici un erratum pour corriger la configuration IPv6.

Ce qui change par rapport à l'ancienne configuration c'est :
- Ajout d'un clone de la MAC de la Livebox pour la vif 832 de l'interface WAN (ici eth4.832)
- Suppression de la configuration DHCPV6-PD de la vif 832 de l'interface WAN (ici eth4.832)
- Correction de la MAC externe dans le fichier de configuration /etc/dhcp3/dhclient6_eth4_832.conf
- Modification du fichier /etc/systemd/system/dhclient6.service (version de fttmeh qui m'a corrigé le problème de démarrage du service) avec le remplacement de la section [Unit] par :
   [Unit]
   Description=dhclient for sending DUID IPv6
   After=network.target

J'ai modifié légèrement le fichier /etc/dhcp3/dhclient-exit-hooks.d/dhclient-ipv6 mais je pense qu'il n'y a aucun impact.

Certaines modifications ne sont peut être pas obligatoires, comme :
- Cloner de la MAC de la LB sur la vif 832
- Indiquer le préfixe complet Orange /64 pour l'adressage de l'eth0 (il est fort probable qu'on puisse utiliser les 256 réseaux possibles) mais je n'ai pas testé
- Configurer de la route par défaut fe80::ba0:bab
- Créer le fichier de configuration /etc/dhcp3/dhclient-exit-hooks.d/dhclient-ipv6

Il faudrait encore réaliser de nombreux tests pour confirmer que tout résiste au redémarrage et s'assurer que tous les changements sont strictement nécessaires. Mais le temps me manque un peu, et surtout, ma famille n'aime pas trop les redémarrages intempestifs pour vérifier que la config supporte le reboot.

Rechercher ####!!!! pour les informations dépendant de la configuration/fournisseur

Configurer le firewall IPv6
RQ : Nécessite de forcer le marquage CoS 6 pour les flux DHCPv6 en sortie sur le switch/router
configure
edit firewall ipv6-name WAN6_IN
set default-action drop
set rule 10 action accept
set rule 10 description "allow established"
set rule 10 protocol all
set rule 10 state established enable
set rule 10 state related enable

set rule 20 action accept
set rule 20 description "allow ICMPv6"
set rule 20 protocol icmpv6

set rule 30 action drop
set rule 30 description "drop invalid packets"
set rule 30 protocol all
set rule 30 state invalid enable
exit

edit firewall ipv6-name WAN6_LOCAL
set default-action drop
set rule 10 action accept
set rule 10 description "allow established"
set rule 10 protocol all
set rule 10 state established enable
set rule 10 state related enable

set rule 20 action accept
set rule 20 description "allow ICMPv6"
set rule 20 protocol icmpv6

set rule 30 action accept
set rule 30 description "allow DHCPv6 client/server"
set rule 30 destination port 547
set rule 30 source port 546
set rule 30 protocol udp

set rule 40 action drop
set rule 40 description "drop invalid packets"
set rule 40 protocol all
set rule 40 state invalid enable
exit

####!!!! Remplacer l'interface eth4 (WAN) si nécesssaire ####
set interfaces ethernet eth4 vif 832 firewall in ipv6-name WAN6_IN
set interfaces ethernet eth4 vif 832 firewall local ipv6-name WAN6_LOCAL

####!!!! Remplacer l'interface eth0 (LAN) si nécesssaire ####
set interfaces ethernet eth0 ipv6 address autoconf
commit;save;exit

Créer la route par défaut
####!!!! Remplacer l'interface eth4 (LAN) si nécesssaire ####
configure
set protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth4.832
commit;save;exit

Cloner la mac de la livebox sur la vif 832
####!!!! Remplacer la MAC par celle de la livebox + adapter le fichier /etc/dhcp3/dhclient6_eth4_832.conf ####
configure
set interfaces ethernet eth4 vif 832 mac xx:xx:xx:xx:xx:xx
commit;save;exit

Paramétrer IPv6 pour l'interface eth0 (LAN)
####!!!! Remplacer par le préfixe /56 délégué d'Orange xxxx:xxxx:xxxx:xxxx ####
####!!!! Remplacer l'interface eth0 (LAN) si nécesssaire ####
configure
set interfaces ethernet eth0 ipv6 router-advert prefix xxxx:xxxx:xxxx:xxxx::/64
commit;save;exit

Redémarrer le service dhclient6
sudo -i systemctl restart dhclient6

Je n'ai pas eu besoin de redémarrer le routeur pour que cette configuration fonctionne.

Bon courage aux testeurs.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 27 août 2019 à 16:50:56
Indiquer le préfixe complet Orange /64 pour l'adressage de l'eth0 (il est fort probable qu'on puisse utiliser les 256 réseaux possibles) mais je n'ai pas testé
Mauvaise idée, le préfixe VA changer [1] un jour ou l'autre. Chez moi je ne configure plus SLAAC dans le fichier de configuration du routeur, et je génère le fichier de configuration de radvd dans le script du client DHCP (sous dibbler pour l'instant mais le principe est le même pour dhclient...).

Accessoirement, j'utilise au moins 6 /64 différents de mon /56 sans aucun problème (ouais, j'ai plein de VLAN différents sur mon LAN, chacun a son /64).

[1] : mon préfixe a changé il y a 15 jours après plus d'un an de stabilité. Mon IPv4 aussi, au même moment d'ailleurs.

Citer
systemctl restart dhclient6
A mettre dans un script dans le dossier /config/scripts/post-config.d pour être sur que le client DHCP6-PD est bien lancé après que toute la conf du routeur est en place (et accessoirement du coup il faut désactiver le lancement automatique).
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 27 août 2019 à 21:44:11
Peux-tu essayer/vérifier de :
- Ajout d'un clone de la MAC de la Livebox pour la vif 832 de l'interface WAN (ici eth4.832)
       * set interfaces ethernet eth4 vif 832 mac xx:xx:xx:xx:xx:xx
- Suppression de la configuration DHCPV6-PD de la vif 832 de l'interface WAN (ici eth4.832) -> qui doit désactiver le service dhcp6c
       * delete interfaces ethernet eth4 vif 832 dhcpv6-pd
- Correction de la MAC externe dans le fichier de configuration /etc/dhcp3/dhclient6_eth4_832.conf
       * sudo -i systemctl restart dhclient6

Redémarrer le service dhclient6.

Je passe par un GPON pour convertir en ethernet, dois-je mettre la mac du GPON ou de la Livebox (adresse ethernet marqué au dos) ?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 27 août 2019 à 22:08:14
Je passe par un GPON pour convertir en ethernet, dois-je mettre la mac du GPON ou de la Livebox (adresse ethernet marqué au dos) ?

P.S: je n'ai pas possbilité de modifier la QoS avec mon switch donc j'utilise iptable pour le faire.

Je n'ai pas la LB sous la main, mais oui, je dirais de mettre l'adresse indiqué au dos, celle au format ff:ff:ff:ff:ff:ff. Ce n'est, a priori, pas nécessaire de cloner la MAC mais bon... ça fonctionne aussi avec ^^
Et il ne faut pas oublié de modifier le client-id dans le fichier de conf
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 27 août 2019 à 22:10:06
Je n'ai pas la LB sous la main, mais oui, je dirais de mettre l'adresse indiqué au dos, celle au format ff:ff:ff:ff:ff:ff. Ce n'est, a priori, pas nécessaire de cloner la MAC mais bon... ça fonctionne aussi avec ^^
Et il ne faut pas oublié de modifier le client-id dans le fichier de conf

ok merci. Ou est-ce que tu modifies le client id ?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 27 août 2019 à 22:21:14
ok merci. Ou est-ce que tu modifies le client id ?

Hé bien là, si tu ne sais pas, ça va être compliqué, il faut suivre la configuration https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg670540/#msg670540 (https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg670540/#msg670540). Le fichier c'est : /etc/dhcp3/dhclient6_eth0_832.conf.

Mais si tu mets la MAC de la LB, il faut aussi cloner la MAC dans la configuration EdgeOs dans ce cas, c'est (en remplacant eth4 par ton interface WAN) :
set interfaces ethernet eth4 vif 832 mac xx:xx:xx:xx:xx:xx
Tu peux lire aussi https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg678674/#msg678674 (https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg678674/#msg678674)
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 27 août 2019 à 22:23:28
EDIT:

Tout est fait, ça fonctionne enfin MERCI pour votre aide.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 07 septembre 2019 à 09:59:13
Hello,

Ce matin je refais un test ipv6 et je vois que j'ai plus de connectivité. Je constate que dhcpv6-pd est dans ma config...du coup je l'éfface et je redemarre mais toujours pas d'ipv6. Pourriez-vous me m'aider a debuger ?

Par avance merci.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 09 septembre 2019 à 17:17:10
Hello,

Ce matin je refais un test ipv6 et je vois que j'ai plus de connectivité. Je constate que dhcpv6-pd est dans ma config...du coup je l'éfface et je redemarre mais toujours pas d'ipv6. Pourriez-vous me m'aider a debuger ?

Par avance merci.

Bonjour,

Pour t'aider, il va falloir nous fournir quelques informations :

1) Peux-tu vérifier qu'il n'y a de process dhcp6c qui tourne (ps)?
2) Quel est le résultat de ping6 www.google.com ?
3) Peux-tu poster ton fichier de config ?
4) Peux-tu vérifier que dhclient tourne correctement (systemctl) et contrôler les logs (journalctl) des services dhclient et radvd ?

Idéalement, peux-tu poster les résultats du point 4 ?

Merci
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 10 septembre 2019 à 10:45:12
Hello pinomat,

Merci pour ton aide. Voici les réponses (plus le fichier de conf ci-joint):

root@ubnt:/home/ubnt# ps -auxf | grep dhcp6c
root      5509  0.0  0.3   3012  1676 pts/0    S+   10:17   0:00                              \_ grep dhcp6c


root@ubnt:/home/ubnt# ping6 www.google.com
PING www.google.com(ams16s32-in-x04.1e100.net (2a00:1450:400e:80c::2004)) 56 dat                                                    a bytes
From 2a01cb000f01bd00822aa8fffef1e469.ipv6.abo.wanadoo.fr (2a01:cb00:f01:bd00:82                                                    2a:a8ff:fef1:e469) icmp_seq=1 Destination unreachable: Address unreachable

root@ubnt:/home/ubnt# systemctl status dhclient6
* dhclient6.service - dhclient for sending DUID IPv6
   Loaded: loaded (/etc/systemd/system/dhclient6.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-09-07 11:31:36 CEST; 2 days ago
  Process: 7350 ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /v
  Process: 7348 ExecStartPre=/sbin/ip6tables -t mangle -I POSTROUTING -p udp --dport dhcpv6-server -j CLASSIFY --set-class 0:6 (code
  Process: 7345 ExecStartPre=/sbin/ip6tables -t mangle -F (code=exited, status=0/SUCCESS)
 Main PID: 7359 (dhclient)
   CGroup: /system.slice/dhclient6.service
           `-7359 /sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/d

Sep 10 10:00:25 ubnt dhclient[7359]: XMT: Solicit on eth1.832, interval 129570ms.
Sep 10 10:02:35 ubnt dhclient[7359]: XMT: Solicit on eth1.832, interval 121140ms.
Sep 10 10:04:36 ubnt dhclient[7359]: XMT: Solicit on eth1.832, interval 109900ms.
Sep 10 10:06:26 ubnt dhclient[7359]: XMT: Solicit on eth1.832, interval 112580ms.
Sep 10 10:08:18 ubnt dhclient[7359]: XMT: Solicit on eth1.832, interval 127680ms.
Sep 10 10:10:26 ubnt dhclient[7359]: XMT: Solicit on eth1.832, interval 113100ms.
Sep 10 10:12:19 ubnt dhclient[7359]: XMT: Solicit on eth1.832, interval 118530ms.
Sep 10 10:14:18 ubnt dhclient[7359]: XMT: Solicit on eth1.832, interval 130360ms.
Sep 10 10:16:29 ubnt dhclient[7359]: XMT: Solicit on eth1.832, interval 120650ms.
Sep 10 10:18:29 ubnt dhclient[7359]: XMT: Solicit on eth1.832, interval 115020ms.

root@ubnt:/home/ubnt# ps -auxf | grep radvd
root      5890  0.0  0.3   3012  1572 pts/0    S+   10:31   0:00                              \_ grep radvd
root      5844  0.0  0.2   2592  1268 ?        Ss   10:30   0:00 /usr/sbin/radvd --logmethod stderr_clean
root      5845  0.0  0.1   2592   804 ?        S    10:30   0:00  \_ /usr/sbin/radvd --logmethod stderr_clean

root@ubnt:/home/ubnt# journalctl _PID=5845
-- Logs begin at Sun 2019-09-08 21:01:25 CEST, end at Tue 2019-09-10 10:33:01 CEST. --
Sep 08 21:04:17 ubnt sudo[5845]:     root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/opt/vyatta/sbin/ubnt_vtysh -c show ip route s
Sep 08 21:04:17 ubnt sudo[5845]: pam_unix(sudo:session): session opened for user root by (uid=0)
Sep 08 21:04:18 ubnt sudo[5845]: pam_unix(sudo:session): session closed for user root
[/code]
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 10 septembre 2019 à 19:17:22
Hello pinomat,

Merci pour ton aide. Voici les réponses (plus le fichier de conf ci-joint):

Ta config me semble OK SAUF que tu utilises egress-qos. A ma connaissance egress-qos s'utilise uniquement avec dibbler et non avec dhclient. Il y a donc un problème de ce côté à mon avis. Le serveur DHCP semble confirmé car il ne répond pas à la requête DHCPv6, (il fait un sollicit sans réponse dans tes logs dhclient).
Il y a soit ce problème de marquage CoS de tes requêtes DHCPv6 soit un problème de configuration du client dhclient6 (/etc/dhcp3/dhclient6_eth1_832.conf).

Pour le marquage CoS, j'ai lu récemment sur le forum qu'il est possible d'utiliser IPTABLES. Mais je n'ai pas testé.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 10 septembre 2019 à 21:00:46
Voici ma conf dhcpv6:

root@ubnt:/home/ubnt# vi /etc/dhcp3/dhclient6_eth1_832.conf
option dhcp6.auth code 11 = string;
option dhcp6.vendorclass code 16 = string;
option dhcp6.userclass code 15 = string;

interface "eth1.832" {
        #Orange France specific options
        send dhcp6.vendorclass  00:00:04:0e:00:05:73:61:67:65:6d;
        send dhcp6.userclass 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;
        send dhcp6.vendor-opts 00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;

        send dhcp6.auth 00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:*****************************;
        send dhcp6.client-id 00:03:00:01:d8:d7:75:9a:6e:c0;

        request dhcp6.auth, dhcp6.vendor-opts, dhcp6.name-servers, dhcp6.domain-search;

J'ai essayé d'enlever egres qos de ma conf pour voir, j'ai effectué un systemctl restart dhclient6 mais ça ne fonctionne pas pour info voici le contenu de /etc/systemd/system/dhclient6.service :

[Unit]
Description=dhclient for sending DUID IPv6
After=network.target

[Service]
Type=forking
ExecStartPre=/sbin/ip6tables -t mangle -F
ExecStartPre=/sbin/ip6tables -t mangle -I POSTROUTING -p udp --dport dhcpv6-server -j CLASSIFY --set-class 0:6
ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832
NonBlocking=yes
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target

Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 10 septembre 2019 à 21:39:33
donc tu confirmes que tu n'as pas installé dibbler et que tu n'as pas fait le marquage cos avec un autre moyen (comme un switch) ? Si oui, cela explique que tu n'as pas d'IPv6. Sans ce marquage, pas d'ipv6.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 10 septembre 2019 à 23:02:39
Voici ma conf dhcpv6:
[Unit]
Description=dhclient for sending DUID IPv6
After=network.target

[Service]
Type=forking
ExecStartPre=/sbin/ip6tables -t mangle -F
ExecStartPre=/sbin/ip6tables -t mangle -I POSTROUTING -p udp --dport dhcpv6-server -j CLASSIFY --set-class 0:6
ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832
NonBlocking=yes
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target

J'utilise le même script sans problème. J'ai confirmé (avec un tcpdump) et la CoS est à 6 pour les paquets DHCPv6. Cela fonctionne car en IPv6 le client dhcp n'utilise pas des raw sockets, et donc iptables peut agir.

Mon script :
#/etc/systemd/system/dhclient6.service
[Unit]
Description=dhclient for sending IPv6 DUID
After=network.target

[Service]
Type=forking
ExecStartPre=/config/scripts/generate_dhcpv6_configfile.sh
ExecStartPre=/sbin/ip6tables -t mangle -F
ExecStartPre=/sbin/ip6tables -t mangle -I POSTROUTING -p udp --dport dhcpv6-server -j CLASSIFY --set-class 0:6
ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832
NonBlocking=yes                               
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target


Ensuite, pour éviter des problèmes avec la configuration du client dhcp pour IPv6, j'ai un autre script qui va prendre les données nécessaires de mon fichier /config/config.boot. J'ai donc seulement à configurer une fois l'authentification Orange:

Le script cherche les options suivantes :

/config/scripts/generate_dhcpv6_configfile.sh
#!/bin/bash
# Place in /config/scripts/generate_dhcpv6_configfile.sh
target_file="/etc/dhcp3/dhclient6_eth1_832.conf"

interface="eth1"
vif="832"

auth_string=$(/bin/cli-shell-api showCfg interfaces ethernet $interface vif $vif dhcp-options client-option | grep "send rfc3118-auth" | awk '{ print $4 }' | awk -F ";" '{print $1}')
mac_livebox=$(/bin/cli-shell-api showCfg interfaces ethernet $interface vif $vif dhcp-options client-option | grep "dhcp-client-identifier" | awk '{ print $4 }' | awk -F ";" '{print $1}')


read -r -d '' conffile <<EOF
# $target_file\n
option dhcp6.auth code 11 = string;\n
option dhcp6.vendorclass code 16 = string;\n
option dhcp6.userclass code 15 = string;\n
\n
#External interface (VLAN must be 832 for Orange)\n
interface "eth1.832" {\n
\t#Orange France specific options\n
\tsend dhcp6.vendorclass 00:00:04:0e:00:05:73:61:67:65:6d;\n
\tsend dhcp6.userclass 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;\n
\tsend dhcp6.vendor-opts 00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;\n
\n
\t#Authentication for Orange France DHCP server (same value as for DHCPv4)\n
\tsend dhcp6.auth $auth_string;\n
\n
\tsend dhcp6.client-id 00:03:00:$mac_livebox;\n
\n
\trequest dhcp6.name-servers, dhcp6.vendorclass, dhcp6.userclass, dhcp6.auth;\n
}\n
EOF

echo -e $conffile > $target_file


Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 10 septembre 2019 à 23:04:48

root@ubnt:/home/ubnt# ping6 www.google.com
PING www.google.com(ams16s32-in-x04.1e100.net (2a00:1450:400e:80c::2004)) 56 dat                                                    a bytes
From 2a01cb000f01bd00822aa8fffef1e469.ipv6.abo.wanadoo.fr (2a01:cb00:f01:bd00:82                                                    2a:a8ff:fef1:e469) icmp_seq=1 Destination unreachable: Address unreachable


Salut barichon,

Le ping me fait penser que tu as déjà eu une adresse IPv6 sur ton routeur.

Tu peux essayer de tout rédemarrer (yc éteindre l'ONT pendant au moins 10 secondes) ?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 11 septembre 2019 à 08:33:43
Ta config me semble OK SAUF que tu utilises egress-qos. A ma connaissance egress-qos s'utilise uniquement avec dibbler et non avec dhclient
Bah non, egress-qos ça permet de dire à l'OS du routeur "si un paquet arrive avec une priorité noyau à 6", alors tu lui appliques une priorité 802.1p 6. Ca s'applique donc aussi bien à dhclient (patché) qu'à dibbler (patché). Si les clients DHCP (4 ou 6) ne sont pas patchés, alors la priorité noyau des paquets est à 0.

Et, au pire, avec un client non patché, l'egress-qos n'aura aucun effet et n'empêchera absolument rien de fonctionner (puisqu'on mappe la priorité noyau 0 sur la Cos 0).

En IPv6, il est possible de s'en passer (en utilisant une règle iptables mangle), mais de toute façon, si dhclient doit être patché pour IPv4, autant le patcher également pour IPv6 et utiliser la même méthode à base d'egress-qos...
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: pinomat le 11 septembre 2019 à 12:11:04
Merci pour les précisions techniques zoc. Grosso modo, l'option egress-qos ne fonctionnera pas avec les versions dhclient "stock" d'Ubiquiti. Par contre il n'aura pas d'IPv6 si les paquets envoyés n'ont pas cette priorité. C'est ce que barichon tente de résoudre. Enfin j'espère que tout le monde se comprend ^^
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 11 septembre 2019 à 15:48:00
Pour le marquage CoS à 6 pour IPv6, c'est très simple avec le script ci-dessous. Il fait tagger par ip6tables tous les paquets envoyés par le client dhcp v6 vers un serveur dhcp v6.

Mettez le script suivant dans /config/scripts/post-config.d.

setDHCPv6COSto6.sh
#!/bin/bash
/sbin/ip6tables -t mangle -F
/sbin/ip6tables -t mangle -I POSTROUTING -p udp --sport dhcpv6-client --dport dhcpv6-server -j CLASSIFY --set-class 0:6

Faire chmod +x après avoir créé le fichier.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 11 septembre 2019 à 23:30:12
 >:(

Je me sens triste, je me sens différent  :'(

Pourquoi ça marche pas ? Qq1 veux prendre la main ?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 12 septembre 2019 à 13:56:49
>:(

Je me sens triste, je me sens différent  :'(

Pourquoi ça marche pas ? Qq1 veux prendre la main ?

J'ai regardé ta config (/config/config.boot) et j'ai quelques commentaires. Je base mes commentaires sur ma configuration : ONT ==> Switch GS108Tv2 (qui met la COS à 6 pour DHCPv4) ==> ER4 (avec firmware v2.0.7).


Ensuite, je te propose de partir d'une configuration que je maitrise et qui fonctionne bien pour moi :
#/etc/systemd/system/dhclient6.service
[Unit]
Description=dhclient for sending IPv6 DUID
After=network.target

[Service]
Type=forking
ExecStartPre=/config/scripts/generate_dhcpv6_configfile.sh
ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832
NonBlocking=yes                               
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target

#!/bin/bash
# Place in /config/scripts/generate_dhcpv6_configfile.sh
target_file="/etc/dhcp3/dhclient6_eth1_832.conf"

interface="eth1"
vif="832"

auth_string=$(/bin/cli-shell-api showCfg interfaces ethernet $interface vif $vif dhcp-options client-option | grep "send rfc3118-auth" | awk '{ print $4 }' | awk -F ";" '{print $1}')
mac_livebox=$(/bin/cli-shell-api showCfg interfaces ethernet $interface vif $vif dhcp-options client-option | grep "dhcp-client-identifier" | awk '{ print $4 }' | awk -F ";" '{print $1}')


read -r -d '' conffile <<EOF
# $target_file\n
option dhcp6.auth code 11 = string;\n
option dhcp6.vendorclass code 16 = string;\n
option dhcp6.userclass code 15 = string;\n
\n
#External interface (VLAN must be 832 for Orange)\n
interface "eth1.832" {\n
\t#Orange France specific options\n
\tsend dhcp6.vendorclass 00:00:04:0e:00:05:73:61:67:65:6d;\n
\tsend dhcp6.userclass 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;\n
\tsend dhcp6.vendor-opts 00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;\n
\n
\t#Authentication for Orange France DHCP server (same value as for DHCPv4)\n
\tsend dhcp6.auth $auth_string;\n
\n
\tsend dhcp6.client-id 00:03:00:$mac_livebox;\n
\n
\trequest dhcp6.name-servers, dhcp6.vendorclass, dhcp6.userclass, dhcp6.auth;\n
}\n
EOF

echo -e $conffile > $target_file

#!/bin/bash

## Place in /config/scripts/post-config.d/setDHCPv6COSto6.sh

/sbin/ip6tables -t mangle -F
/sbin/ip6tables -t mangle -I POSTROUTING -p udp --sport dhcpv6-client --dport dhcpv6-server -j CLASSIFY --set-class 0:6
exit 0

Enfin, le script qui sera appellé par dhclient6 après avoir obtenu un prefixe (un subnet /56).

#  /etc/dhcp3/dhclient-exit-hooks.d/dhclient-ipv6

# Interfaces that should obtain a /64 prefix
IPV6_INTERFACES=(eth0)
INT_ADDRESS="::1"

###

ipv6_prefix_setup() {
# $1 is the ethernet interface
# $2 is the suffix to use
ethiface=$1
suffix=$2

current_ip=$(ip -6 addr show dev $ethiface scope global | awk '/inet6/ {print $2}' | grep -v '^fd' )
current_prefix=$(echo $current_ip | sed -e 's@::.*/64@::/64@')
 
# To generate new IP, need to take new prefix, add 8 bits
new_ip=$( echo $new_ip6_prefix | sed -e 's/00::\/.*//g' )
new_ip="$new_ip$suffix"

if [ "$new_ip" != "$current_ip" ]
then
if [ "$current_ip" != "" ]
then
/sbin/ip -6 addr delete "$current_ip" dev $ethiface
fi
/sbin/ip -6 addr add "$new_ip" dev $ethiface
 
fi
}

case "$reason" in
  BOUND6|REBIND6)
    # We will get called twice here - once for the temp address
    # and once for the prefix. We only care about the prefix.
    if [ ! -z "$new_ip6_prefix" ] ; then
for interface in "${IPV6_INTERFACES[@]}"
do
suffix=$( echo ${interface} | /usr/bin/md5sum | awk '{ print substr($1,3,2) }' )
suffix="$suffix$INT_ADDRESS/64"
ipv6_prefix_setup ${interface} $suffix
done
/bin/systemctl restart radvd.service >/dev/null 2>&1
    fi
    ;;
esac
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: dmfr le 12 septembre 2019 à 22:30:45
Merci pour ce guide !

J'utilise dhclient avec le patch de zoc ci-joint.

En ce qui me concerne cela n'a pas fonctionné directement : SOLICIT sans réponse.
Après avoir répliqué le DUID que j'utilisais avec Dibbler : SOLICIT > ADVERTISE > REQUEST > REPLY, avec réponse 'NoPrefixAvail'...
Cela a fonctionné seulement après avoir éteint l'ONT quelques minutes, un clic-clac ne suffit pas pour provoquer le Reset chez Orange.

Les modifications pour ma part :

Voici un unit systemd qui semble fonctionner, j'ai repris les "After" de l'unit SSH de l'ERL :

[Unit]
Description=dhclient for sending DUID IPv6
After=network.target auditd.service vyatta-router.service netplug.service

[Service]
Type=forking
ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832

[Install]
WantedBy=multi-user.target

Si on utilise un watchdog6 pour surveiller la connexion (cf zoc) il faut l'adapter :

/config/scripts/orange-watchdog6.sh

#!/bin/vbash
sleep 30

run=/opt/vyatta/bin/vyatta-op-cmd-wrapper

IP6ADDR=$(ip addr show scope global | awk '$1 == "inet6" {gsub(/\/.*$/, "", $2); print $2}')
if [ -z $IP6ADDR ]
then
  logger -t grewatch -p err "No IPv6 address"
  sudo systemctl restart dhclient6 >/dev/null 2>&1
  exit ;
fi


# Reading the default gateway
read _ _ GATEWAY6 _ < <(/sbin/ip -6 route list match default)
if [ -z "$GATEWAY6" ]; then
  logger -t watchdog6 -p err "No IPv6 route"
  sudo systemctl restart dhclient6 >/dev/null 2>&1
  exit
fi


# If we are here, then nothing is pinging. Try
# the default gateway
/bin/ping6 -c4 $GATEWAY6%eth1.832 > /dev/null 2>&1
if [ $? -ne 0 ]; then
  logger -t watchdog6 -p err "IPv6 is broken"
  sudo systemctl restart dhclient6 >/dev/null 2>&1
  exit
fi

Ensuite, et c'est plus grave, le fonctionnement IPv6 du dhclient parallèle à celui de l'IPv4 écrase les DNS reçus de la part d'orange.
Je n'ai pas trouvé mieux qu'un "enter-hook" qui reprend la fonction "make_resolv_conf" de vyatta / UBNT en excluant le cas IPv6.
Il faut donc créer :

/etc/dhcp3/dhclient-enter-hooks.d/noresolvupdate-ipv6

#!/bin/bash

# modified make_resolv_conf () for Vyatta system below
make_resolv_conf() {
case "$reason" in
BOUND6|REBIND6)
#echo "Debug : IPv6, no DNS update" >> /tmp/dhclient6.log
return
;;
esac
    local new_resolv_conf="/etc/resolv.conf.dhclient-new-$interface"
    local old_resolv_conf="/etc/resolv.conf.dhclient-old-$interface"
    mv -f $new_resolv_conf $old_resolv_conf
    if [ -n "$new_domain_name" -o -n "$new_domain_name_servers" ]; then
        if [ -n "$new_domain_name" ]; then
            echo search $new_domain_name >>$new_resolv_conf
        fi
        if [ -n "$new_domain_name_servers" ]; then
            for nameserver in $new_domain_name_servers; do
                echo nameserver $nameserver >>$new_resolv_conf
            done
        fi
    elif [ "x${new_dhcp6_name_servers}" != x ] ; then
if [ "x${new_dhcp6_domain_search}" != x ] ; then
    echo search ${new_dhcp6_domain_search} >> $new_resolv_conf
fi
for nameserver in ${new_dhcp6_name_servers} ; do
    echo nameserver ${nameserver} >> $new_resolv_conf
done
    else
        echo " " > $new_resolv_conf
    fi

    /opt/vyatta/sbin/vyatta_update_resolv.pl --dhclient-script 1
    if ! diff -q $old_resolv_conf $new_resolv_conf >&/dev/null; then
       if [ -d /opt/vyatta/config/active/service/dns/forwarding ]; then
          /opt/vyatta/sbin/vyatta-dns-forwarding.pl --update-dnsforwarding --outside-cli >&/dev/null
       fi
    fi
    rm -f $old_resolv_conf
}

Le souci c'est qu'au gré des évolution du FW cette fonction peut changer. Il faudra l'adapter.

Etrange que je sois le seul à avoir remarqué cela, probablement que beaucoup ici utilisent Google / OpenDNS /... en fixe dans la config "system".
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: KalNightmare le 13 septembre 2019 à 15:36:03
Merci d'avoir trouver la liste de After, j'avais cherché mais sans résultat pour le moment.

Pour le watchdog_ipv6, je ne suis pas sur que cela fonctionne, vu que la gateway est en link-local, elle répondra toujours même si tu n'as de prefix ipv6.
Après j'ai quand même remarquer que dhclient fait bien le taf de reconnexion, et pour palier à un crash de dhclient il faudrait mieux rajouter les options de restart dans le Service systemd.

Pour les DNS, perso j'utilise mes DNS interne donc j'ai pas vu le problème.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: dmfr le 13 septembre 2019 à 15:44:26
Pour le watchdog_ipv6, je ne suis pas sur que cela fonctionne, vu que la gateway est en link-local, elle répondra toujours même si tu n'as de prefix ipv6.
Après j'ai quand même remarquer que dhclient fait bien le taf de reconnexion, et pour palier à un crash de dhclient il faudrait mieux rajouter les options de restart dans le Service systemd.
L'intérêt du watchdog est surtout de réagir à un reset inopiné des sécurités Orange (desynchro VDSL ou reboot ONT) que l'ERL ne pourra pas détecter de lui-même (il a toujours le bail, mais celui-ci n'existe plus chez orange).
Et dans ce cas précis, non la gateway (fe80::ba0:bab) ne répond plus. Plus rien ne passe en fait, jusqu'à une requête DHCP acceptée et honorée.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 13 septembre 2019 à 19:49:46
Je confirme que le système de contrôle d’acces D’Orange bloque tout, y compris les pings vers la passerelle IPv6, tant qu’il n’a pas reçu un DHCP6 SOLICIT (voir même REQUEST) avec les identifiants clients.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 14 septembre 2019 à 14:32:44
Hello all,

Bon c'est bon ça ping :)  Mais le test sur ipv6-test ne remonte toujours pas de connectivité, What else ?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 14 septembre 2019 à 15:00:54
Hello all,

Bon c'est bon ça ping :)  Mais le test sur ipv6-test ne remonte toujours pas de connectivité, What else ?

J'ai rajouté le script à mettre dans dhclient-exit-hooks.d pour distribuer un subnet /64 dans mon message : https://lafibre.info/index.php?topic=38811.msg684503#msg684503 (https://lafibre.info/index.php?topic=38811.msg684503#msg684503)
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 14 septembre 2019 à 15:35:52
MERCI TOUT FONCTIONNE NOW !

par contre le daemon dhclient6 ne se reload pas auto au redémarrage il a fallu que je mette un script dans: /config/scripts/post-config.d

est-ce normal ?

J'ai rajouté le script à mettre dans dhclient-exit-hooks.d pour distribuer un subnet /64 dans mon message : https://lafibre.info/index.php?topic=38811.msg684503#msg684503 (https://lafibre.info/index.php?topic=38811.msg684503#msg684503)
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 14 septembre 2019 à 15:53:10
Merci beaucoup j'ai suivis à lettre, mais toujours rien sur ipv6-test (malgrés le ping6 ok)

Voici les ips de mes interfaces:

LAN-ET-TV eth0 ethernet
192.168.0.1/24
2a01:cb00:b6e:1495:822a:a8ff:fef1:e469/64
2a01:cb00:b6e:1495::1/64

Internet_ONT eth1 ethernet
2a01:cb00:b6e:1400::1/64

Internet Orange DHCP eth1.832 vlan
86.195.20.130/21


Tu dois seulement mettre une /64 sur eth0. Sur eth1 (l'ONT), la communication se fait entre link-local addresses.

As-tu vérifié que RADVD fonctionne bien ?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: barichon le 14 septembre 2019 à 20:03:19
Tout est ok... je vous remercie mille fois pour votre support à tous !
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: proap le 13 janvier 2020 à 21:10:10

  • Script /config/scripts/generate_dhcpv6_configfile.sh (faire chmod+x sur le script pour qu'il soit executable)
#!/bin/bash
# Place in /config/scripts/generate_dhcpv6_configfile.sh
target_file="/etc/dhcp3/dhclient6_eth1_832.conf"

interface="eth1"
vif="832"

auth_string=$(/bin/cli-shell-api showCfg interfaces ethernet $interface vif $vif dhcp-options client-option | grep "send rfc3118-auth" | awk '{ print $4 }' | awk -F ";" '{print $1}')
mac_livebox=$(/bin/cli-shell-api showCfg interfaces ethernet $interface vif $vif dhcp-options client-option | grep "dhcp-client-identifier" | awk '{ print $4 }' | awk -F ";" '{print $1}')


read -r -d '' conffile <<EOF
# $target_file\n
option dhcp6.auth code 11 = string;\n
option dhcp6.vendorclass code 16 = string;\n
option dhcp6.userclass code 15 = string;\n
\n
#External interface (VLAN must be 832 for Orange)\n
interface "eth1.832" {\n
\t#Orange France specific options\n
\tsend dhcp6.vendorclass 00:00:04:0e:00:05:73:61:67:65:6d;\n
\tsend dhcp6.userclass 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;\n
\tsend dhcp6.vendor-opts 00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;\n
\n
\t#Authentication for Orange France DHCP server (same value as for DHCPv4)\n
\tsend dhcp6.auth $auth_string;\n
\n
\tsend dhcp6.client-id 00:03:00:$mac_livebox;\n
\n
\trequest dhcp6.name-servers, dhcp6.vendorclass, dhcp6.userclass, dhcp6.auth;\n
}\n
EOF

echo -e $conffile > $target_file


fffmeh, est-ce qu'il faut toujours mettre l'option dhcp-client-identifier dans le fichier de configuration? Je croyais qu'elle était devenue obsolète...

mac_livebox=$(/bin/cli-shell-api showCfg interfaces ethernet $interface vif $vif dhcp-options client-option | grep "dhcp-client-identifier" | awk '{ print $4 }' | awk -F ";" '{print $1}')
\tsend dhcp6.client-id 00:03:00:$mac_livebox;\n

Et aussi, est-ce que quelq'un peut confirmer que le rfc3118-auth est bien du type:
client-option "send rfc3118-auth 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;"

 merci!
A+

Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 14 janvier 2020 à 11:31:46
fffmeh, est-ce qu'il faut toujours mettre l'option dhcp-client-identifier dans le fichier de configuration? Je croyais qu'elle était devenue obsolète...
EDIT : Voici ma capture tcpdump. Le client-identifier est bien là (Cf. screenshot

Et aussi, est-ce que quelq'un peut confirmer que le rfc3118-auth est bien du type

Cette chaine d'authentification me semble trop courte.

Tu as un générateur de la chaine d'authentification ici :https://jsfiddle.net/kgersen/3mnsc6wy/embedded/result/ (https://jsfiddle.net/kgersen/3mnsc6wy/embedded/result/)
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: orfait le 17 janvier 2020 à 12:08:50
Bonjour fttmeh,

Je viens de rejoindre le forum et me greffe sur ce sujet suite à la lecture de ce post qui doit être de toi :
https://community.ui.com/questions/Include-Network-Priority-CGROUP-in-EdgeMAX-2-X-kernel-line/98d39390-2092-4fd4-8c09-e8112a078fdf

Est-ce qu'il y a du nouveau ?
Je viens de prendre un ER-X pour remplacer la livebox, fw 2.0.8.

Merci
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 17 janvier 2020 à 13:33:57
Bonjour fttmeh,

Je viens de rejoindre le forum et me greffe sur ce sujet suite à la lecture de ce post qui doit être de toi :
https://community.ui.com/questions/Include-Network-Priority-CGROUP-in-EdgeMAX-2-X-kernel-line/98d39390-2092-4fd4-8c09-e8112a078fdf

Est-ce qu'il y a du nouveau ?
Je viens de prendre un ER-X pour remplacer la livebox, fw 2.0.8.

Merci

Avec le firmware ER 2.X, tout est déjà disponible pour changer la COS pour IPv6 sans modifier aucun binaire.

J'ai détaillé ce que je fais dans ce post : https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg684503/#msg684503 (https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg684503/#msg684503)

En gros, je fais tourner 1) un script qui génère la conf pour dhclient, 2) un script pour rajouter les regles via ip6tables pour changer la COS, et 3) démarrer le dhclient disponible via systemd.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: orfait le 17 janvier 2020 à 14:38:49
Merci beaucoup, c'est un des posts que j'avais repéré.

Ma question revient vers le client DHCP IPv4. Je me réfère au 2 tuto, IPv6 doit être fait après IPv4 > dhclient à patcher ou switch pour la CoS 6.
Bref, pour un novice comme moi en réseau, c'est loin d'être clair : il faut combiner plusieurs tuto et les mettre à jour de façon croisée.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: ilco le 24 février 2020 à 20:16:00
Avec le firmware ER 2.X, tout est déjà disponible pour changer la COS pour IPv6 sans modifier aucun binaire.

J'ai détaillé ce que je fais dans ce post : https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg684503/#msg684503 (https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg684503/#msg684503)

En gros, je fais tourner 1) un script qui génère la conf pour dhclient, 2) un script pour rajouter les regles via ip6tables pour changer la COS, et 3) démarrer le dhclient disponible via systemd.

salut,

qu’est-ce qu’il se passe quand tu fais une MAJ du firmware ? est-ce ca continue de fonctionner ou il faut remettre en place les scripts?

merci pour tes infos!
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 28 février 2020 à 23:32:29
À chaque mise à jour, il faut reinstaller les scripts pour dhcp v6.

J'ai un script dans /config/scripts/post-config.d qui fait la reinstallation. Ça peut servir pour s'inspirer si besoin, ça fonctionne bien chez moi.

#!/bin/bash
# This scripts runs after each boot
# It looks for a file in /etc (/etc/user-extras-installed). If it finds it, nothing is done.
# If not, it installs extra packages and their respective configuration files

FILE="/etc/user-extras-installed"

if [ ! -f $FILE ]; then
( sleep 120 && /config/scripts/install_packages_after_upgrade.sh ) >/dev/null 2>&1 &
fi
exit 0

Et /config/scripts/install_packages_after_upgrade.sh :
#!/bin/bash
 
DPKG="/usr/bin/dpkg -i"
FILE="/etc/user-extras-installed"

/config/scripts/notification_EOS_upgrade.sh "Starting installation"
$DPKG /config/user-extras/extra_packages/*.deb

/config/scripts/notification_EOS_upgrade.sh "Finished installing packages."
# Configure DHCPv6 client
/config/scripts/install_extra_config_files.sh

/config/scripts/notification_EOS_upgrade.sh "Finished installing config files"

# Reload systemd configuration files and start dhclient6
/config/scripts/notification_EOS_upgrade.sh "Restarting services through systemd"
/bin/systemctl daemon-reload
/bin/systemctl enable dhclient6
/bin/systemctl restart dhclient6
/config/scripts/notification_EOS_upgrade.sh "Finished."

touch $FILE
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fyme le 21 juin 2020 à 23:21:16
Bonjour,

Je viens vers vous car je suis bloqué sur la partie Ipv6 ce qui tombe bien c'est l'objet de ce post  :)

J'ai un Edgerouter3 en version (Currently running EdgeOSv2.0.8-hotfix.1), un switch Cisco SG350 devant qui applique la QOS pour V4 et V6, pour la partie IPV4 tout est fonctionnel.

Pour info je suis parti d'un hard reset de l'edgerouter.

Pour la partie V4 comme V6 je suis en firewalling par zone et dans un premier temps et afin d'écarter cette partie, j'aimerai que vous me confirmiez que je n'ai pas fait d'erreur.

Mon interface Wan est sur Eth1 (1.832) et dans le Lan sur l'Eth0 vlan 10.


Je vous remercie pour vos retours.


Voici un extrait de ma conf:


set firewall ipv6-name local-to-lan-6 default-action drop
set firewall ipv6-name local-to-lan-6 rule 10 action accept
set firewall ipv6-name local-to-lan-6 rule 10 description 'Accept established'
set firewall ipv6-name local-to-lan-6 rule 10 log disable
set firewall ipv6-name local-to-lan-6 rule 10 state established enable
set firewall ipv6-name local-to-lan-6 rule 10 state related enable
set firewall ipv6-name local-to-lan-6 rule 20 action drop
set firewall ipv6-name local-to-lan-6 rule 20 description 'Drop invalid'
set firewall ipv6-name local-to-lan-6 rule 20 log enable
set firewall ipv6-name local-to-lan-6 rule 20 state invalid enable
set firewall ipv6-name local-to-lan-6 rule 30 action accept
set firewall ipv6-name local-to-lan-6 rule 30 description 'Accept all'
set firewall ipv6-name local-to-lan-6 rule 30 log disable
set firewall ipv6-name local-to-lan-6 rule 30 protocol all
set firewall ipv6-name local-to-wan-6 default-action drop
set firewall ipv6-name local-to-wan-6 rule 10 action accept
set firewall ipv6-name local-to-wan-6 rule 10 description 'Accept established'
set firewall ipv6-name local-to-wan-6 rule 10 log disable
set firewall ipv6-name local-to-wan-6 rule 10 state established enable
set firewall ipv6-name local-to-wan-6 rule 10 state related enable
set firewall ipv6-name local-to-wan-6 rule 20 action drop
set firewall ipv6-name local-to-wan-6 rule 20 description 'Drop invalid'
set firewall ipv6-name local-to-wan-6 rule 20 log enable
set firewall ipv6-name local-to-wan-6 rule 20 state invalid enable
set firewall ipv6-name local-to-wan-6 rule 30 action accept
set firewall ipv6-name local-to-wan-6 rule 30 description 'Accept all'
set firewall ipv6-name local-to-wan-6 rule 30 log disable
set firewall ipv6-name local-to-wan-6 rule 30 protocol all
set firewall ipv6-name wan-to-lan-6 default-action drop
set firewall ipv6-name wan-to-lan-6 rule 10 action accept
set firewall ipv6-name wan-to-lan-6 rule 10 description 'Accept established'
set firewall ipv6-name wan-to-lan-6 rule 10 log disable
set firewall ipv6-name wan-to-lan-6 rule 10 state established enable
set firewall ipv6-name wan-to-lan-6 rule 10 state related enable
set firewall ipv6-name wan-to-lan-6 rule 20 action accept
set firewall ipv6-name wan-to-lan-6 rule 20 description 'allow ICMPv6'
set firewall ipv6-name wan-to-lan-6 rule 20 protocol ipv6-icmp
set firewall ipv6-name wan-to-lan-6 rule 30 action drop
set firewall ipv6-name wan-to-lan-6 rule 30 description 'Drop invalid'
set firewall ipv6-name wan-to-lan-6 rule 30 log enable
set firewall ipv6-name wan-to-lan-6 rule 30 state
set firewall ipv6-name wan-to-local-6 default-action drop
set firewall ipv6-name wan-to-local-6 rule 10 action accept
set firewall ipv6-name wan-to-local-6 rule 10 description 'Accept established'
set firewall ipv6-name wan-to-local-6 rule 10 log disable
set firewall ipv6-name wan-to-local-6 rule 10 state established enable
set firewall ipv6-name wan-to-local-6 rule 10 state related enable
set firewall ipv6-name wan-to-local-6 rule 20 action drop
set firewall ipv6-name wan-to-local-6 rule 20 description 'Drop invalid'
set firewall ipv6-name wan-to-local-6 rule 20 log enable
set firewall ipv6-name wan-to-local-6 rule 20 state invalid enable
set firewall ipv6-name wan-to-local-6 rule 30 action accept
set firewall ipv6-name wan-to-local-6 rule 30 description 'allow ICMPv6'
set firewall ipv6-name wan-to-local-6 rule 30 log enable
set firewall ipv6-name wan-to-local-6 rule 30 protocol ipv6-icmp
set firewall ipv6-name wan-to-local-6 rule 40 action accept
set firewall ipv6-name wan-to-local-6 rule 40 description 'allow DHCPv6 client/server'
set firewall ipv6-name wan-to-local-6 rule 40 destination port 547
set firewall ipv6-name wan-to-local-6 rule 40 log enable
set firewall ipv6-name wan-to-local-6 rule 40 protocol udp
set firewall ipv6-name wan-to-local-6 rule 40 source port 546
set firewall ipv6-receive-redirects disable
set firewall ipv6-src-route disable


set zone-policy zone lan default-action drop
set zone-policy zone lan from local firewall ipv6-name local-to-lan-6
set zone-policy zone lan from local firewall name local-to-lan
set zone-policy zone lan from wan firewall ipv6-name wan-to-lan-6
set zone-policy zone lan from wan firewall name wan-to-lan
set zone-policy zone lan interface eth0
set zone-policy zone lan interface eth0.10
set zone-policy zone lan interface l2tp+
set zone-policy zone local default-action drop
set zone-policy zone local from lan firewall ipv6-name lan-to-local-6
set zone-policy zone local from lan firewall name lan-to-local
set zone-policy zone local from wan firewall ipv6-name wan-to-local-6
set zone-policy zone local from wan firewall name wan-to-local
set zone-policy zone local local-zone
set zone-policy zone wan default-action drop
set zone-policy zone wan from lan firewall ipv6-name lan-to-wan-6
set zone-policy zone wan from lan firewall name lan-to-wan
set zone-policy zone wan from local firewall ipv6-name local-to-wan-6
set zone-policy zone wan from local firewall name local-to-wan
set zone-policy zone wan interface eth1
set zone-policy zone wan interface eth1.832


Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fyme le 23 juin 2020 à 13:48:56
Bonjour,

Personne pour me répondre afin que je puisse avancer, svp

Excellente journée.


Bonjour,

Je viens vers vous car je suis bloqué sur la partie Ipv6 ce qui tombe bien c'est l'objet de ce post  :)

J'ai un Edgerouter3 en version (Currently running EdgeOSv2.0.8-hotfix.1), un switch Cisco SG350 devant qui applique la QOS pour V4 et V6, pour la partie IPV4 tout est fonctionnel.

Pour info je suis parti d'un hard reset de l'edgerouter.

Pour la partie V4 comme V6 je suis en firewalling par zone et dans un premier temps et afin d'écarter cette partie, j'aimerai que vous me confirmiez que je n'ai pas fait d'erreur.

Mon interface Wan est sur Eth1 (1.832) et dans le Lan sur l'Eth0 vlan 10.


Je vous remercie pour vos retours.


Voici un extrait de ma conf:


set firewall ipv6-name local-to-lan-6 default-action drop
set firewall ipv6-name local-to-lan-6 rule 10 action accept
set firewall ipv6-name local-to-lan-6 rule 10 description 'Accept established'
set firewall ipv6-name local-to-lan-6 rule 10 log disable
set firewall ipv6-name local-to-lan-6 rule 10 state established enable
set firewall ipv6-name local-to-lan-6 rule 10 state related enable
set firewall ipv6-name local-to-lan-6 rule 20 action drop
set firewall ipv6-name local-to-lan-6 rule 20 description 'Drop invalid'
set firewall ipv6-name local-to-lan-6 rule 20 log enable
set firewall ipv6-name local-to-lan-6 rule 20 state invalid enable
set firewall ipv6-name local-to-lan-6 rule 30 action accept
set firewall ipv6-name local-to-lan-6 rule 30 description 'Accept all'
set firewall ipv6-name local-to-lan-6 rule 30 log disable
set firewall ipv6-name local-to-lan-6 rule 30 protocol all
set firewall ipv6-name local-to-wan-6 default-action drop
set firewall ipv6-name local-to-wan-6 rule 10 action accept
set firewall ipv6-name local-to-wan-6 rule 10 description 'Accept established'
set firewall ipv6-name local-to-wan-6 rule 10 log disable
set firewall ipv6-name local-to-wan-6 rule 10 state established enable
set firewall ipv6-name local-to-wan-6 rule 10 state related enable
set firewall ipv6-name local-to-wan-6 rule 20 action drop
set firewall ipv6-name local-to-wan-6 rule 20 description 'Drop invalid'
set firewall ipv6-name local-to-wan-6 rule 20 log enable
set firewall ipv6-name local-to-wan-6 rule 20 state invalid enable
set firewall ipv6-name local-to-wan-6 rule 30 action accept
set firewall ipv6-name local-to-wan-6 rule 30 description 'Accept all'
set firewall ipv6-name local-to-wan-6 rule 30 log disable
set firewall ipv6-name local-to-wan-6 rule 30 protocol all
set firewall ipv6-name wan-to-lan-6 default-action drop
set firewall ipv6-name wan-to-lan-6 rule 10 action accept
set firewall ipv6-name wan-to-lan-6 rule 10 description 'Accept established'
set firewall ipv6-name wan-to-lan-6 rule 10 log disable
set firewall ipv6-name wan-to-lan-6 rule 10 state established enable
set firewall ipv6-name wan-to-lan-6 rule 10 state related enable
set firewall ipv6-name wan-to-lan-6 rule 20 action accept
set firewall ipv6-name wan-to-lan-6 rule 20 description 'allow ICMPv6'
set firewall ipv6-name wan-to-lan-6 rule 20 protocol ipv6-icmp
set firewall ipv6-name wan-to-lan-6 rule 30 action drop
set firewall ipv6-name wan-to-lan-6 rule 30 description 'Drop invalid'
set firewall ipv6-name wan-to-lan-6 rule 30 log enable
set firewall ipv6-name wan-to-lan-6 rule 30 state
set firewall ipv6-name wan-to-local-6 default-action drop
set firewall ipv6-name wan-to-local-6 rule 10 action accept
set firewall ipv6-name wan-to-local-6 rule 10 description 'Accept established'
set firewall ipv6-name wan-to-local-6 rule 10 log disable
set firewall ipv6-name wan-to-local-6 rule 10 state established enable
set firewall ipv6-name wan-to-local-6 rule 10 state related enable
set firewall ipv6-name wan-to-local-6 rule 20 action drop
set firewall ipv6-name wan-to-local-6 rule 20 description 'Drop invalid'
set firewall ipv6-name wan-to-local-6 rule 20 log enable
set firewall ipv6-name wan-to-local-6 rule 20 state invalid enable
set firewall ipv6-name wan-to-local-6 rule 30 action accept
set firewall ipv6-name wan-to-local-6 rule 30 description 'allow ICMPv6'
set firewall ipv6-name wan-to-local-6 rule 30 log enable
set firewall ipv6-name wan-to-local-6 rule 30 protocol ipv6-icmp
set firewall ipv6-name wan-to-local-6 rule 40 action accept
set firewall ipv6-name wan-to-local-6 rule 40 description 'allow DHCPv6 client/server'
set firewall ipv6-name wan-to-local-6 rule 40 destination port 547
set firewall ipv6-name wan-to-local-6 rule 40 log enable
set firewall ipv6-name wan-to-local-6 rule 40 protocol udp
set firewall ipv6-name wan-to-local-6 rule 40 source port 546
set firewall ipv6-receive-redirects disable
set firewall ipv6-src-route disable


set zone-policy zone lan default-action drop
set zone-policy zone lan from local firewall ipv6-name local-to-lan-6
set zone-policy zone lan from local firewall name local-to-lan
set zone-policy zone lan from wan firewall ipv6-name wan-to-lan-6
set zone-policy zone lan from wan firewall name wan-to-lan
set zone-policy zone lan interface eth0
set zone-policy zone lan interface eth0.10
set zone-policy zone lan interface l2tp+
set zone-policy zone local default-action drop
set zone-policy zone local from lan firewall ipv6-name lan-to-local-6
set zone-policy zone local from lan firewall name lan-to-local
set zone-policy zone local from wan firewall ipv6-name wan-to-local-6
set zone-policy zone local from wan firewall name wan-to-local
set zone-policy zone local local-zone
set zone-policy zone wan default-action drop
set zone-policy zone wan from lan firewall ipv6-name lan-to-wan-6
set zone-policy zone wan from lan firewall name lan-to-wan
set zone-policy zone wan from local firewall ipv6-name local-to-wan-6
set zone-policy zone wan from local firewall name local-to-wan
set zone-policy zone wan interface eth1
set zone-policy zone wan interface eth1.832


Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 23 juin 2020 à 14:24:16
Bonjour,

Personne pour me répondre afin que je puisse avancer, svp

Excellente journée.

J'ai regardé ta conf (j'ai une conf similaire avec des zones) et tout me semble OK.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fyme le 24 juin 2020 à 08:04:59
Merci pour ton retour fttmeh.

Du coup je vais avoir quelques questions car pour moi ça ne fonctionne pas et j'ai déjà passé un moment à éplucher vos posts.

Afin de m'affranchir de la Cos6 faite sur le switch normalement, j'ai bien ajouté les règles mangle que tu préconisais avec tous les fichiers qui vont bien

Mais ce que je ne vois pas vraiment c'est s'il y a des lignes de conf à ajouter en plus au niveau de la conf elle-même hormis :  set interfaces ethernet eth1 vif 832 mac 'XX-XX....' ?

Autant sur le lan que le wan.

Merci pour vos retours et votre temps passé.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 24 juin 2020 à 09:19:38
Afin de m'affranchir de la Cos6 faite sur le switch normalement, j'ai bien ajouté les règles mangle que tu préconisais avec tous les fichiers qui

Peux-tu vérifier que les règles MANGLE sont bien prises en compte ? Soit avec ip6tables, soit un tcpdump.

# ip6tables -L -v -n -t mangle
...

Chain POSTROUTING (policy ACCEPT 2118 packets, 255K bytes)
 pkts bytes target     prot opt in     out     source               destination         
 2118  255K            all      *      *       ::/0                 ::/0               
   10  3117 CLASSIFY   udp      *      *       ::/0                 ::/0                 udp spt:546 dpt:547 CLASSIFY set 0:6
...

Mais ce que je ne vois pas vraiment c'est s'il y a des lignes de conf à ajouter en plus au niveau de la conf elle-même hormis :  set interfaces ethernet eth1 vif 832 mac 'XX-XX....' ?

Tu peux poster ta conf ?

Pour moi, pour la partie ONT j'ai (le ONT est branché à eth1) :
interfaces {
    ethernet eth1 {
        description WAN_Internet
        duplex auto
        speed auto
        vif 832 {
            address dhcp
            description "VLAN Internet"
            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 dhcp-client-identifier 01:70:XX:XX:XX:XX:XX;" <<== Adresse MAC de ta LIVEBOX
                client-option "request subnet-mask, routers, domain-name-servers, domain-name, broadcast-address, dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, rfc3118-authentication, domain-search, SIP-servers, Vendor-Specific-Information;"
                client-option "send rfc3118-authentication 00:00:00:00:00:00:00:00:00:00:00:1a:09:XX:XX:XX:XX:XX:XX:XX:XX:Xd:XX:XX:XX:Xf:Xa:XX:XX:XX:XX:XX:XX:Xc:XX:XX:XX:Xf:Xb:Xc:XX:XX:XX:XX:Xc:Xf:XX:Xb:XX:Xc:XX:XX:XX:XX:XX:cd:Xa:aX:XX:XX:cX:XX:XX:XX:Xe:XX:XX:XX:fX:XX;" <== Chaine d'authentification avec ton login/mdp
                default-route update
                default-route-distance 210
                global-option "option rfc3118-authentication code 90 = string;"
                global-option "option SIP-servers code 120 = string;"
                global-option "option Vendor-Specific-Information code 125 = string;"
                name-server no-update
            }
            ipv6 {
                address {
                    autoconf
                }
                dup-addr-detect-transmits 1
            }
        }
    }
}
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fyme le 24 juin 2020 à 12:18:58
Merci pour le temps pris à t'intéresser à mon cas fttmeh  :)

Voici pour ce que tu m'as demandé:


# ip6tables -L -v -n -t mangle
...

Chain POSTROUTING (policy ACCEPT 22 packets, 3296 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   16  3008 CLASSIFY   udp      *      *       ::/0                 ::/0                 udp spt:546 dpt:547 CLASSIFY set 0:6

...

Ma conf

Pour moi, pour la partie ONT j'ai (le ONT est branché à eth1), c'est idem de mon côté :
    ethernet eth1 {
        description "eth1 ONT (FIBRE RJ45)"
        duplex auto
        speed auto
        vif 832 {
            address dhcp
            description "eth1.832 (INTERNET)"
            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-authentication 00:00:00:00:00:00:00:00:00:00:00:1a:09:XX:XX:XX:XX:XX:XX:XX:XX:Xd: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-authentication;"
                client-option "send dhcp-client-identifier 01:70::XX:XX:XX:XX:XX:XX;"
                default-route update
                default-route-distance 210
                global-option "option rfc3118-authentication code 90 = string;"
                name-server update
            }
            ipv6 {
                address {
                    autoconf
                }
                dup-addr-detect-transmits 1
            }
        }
[/quote]



je remarque que ma chaîne (send rfc3118-authentication) est moins longue, j'ai enlevé l'adresse mac (set interfaces ethernet eth1 vif 832 mac xx:xx:xx:xx:xx:xx)que j'avais mise et j'ai ajouté (client-option "send dhcp-client-identifier 01:70::XX:XX:XX:XX:XX:XX;")

Reboot du routeur, extinction de l'ONT (30s) mais toujours NOK

admin@erliteFym:~$ systemctl status dhclient6
* dhclient6.service - dhclient for sending IPv6 DUID
   Loaded: loaded (/etc/systemd/system/dhclient6.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-06-24 11:49:10 CEST; 26min ago
  Process: 14418 ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832 (code=exited, status=0/SUCCESS)
  Process: 14317 ExecStartPre=/config/scripts/generate_dhcpv6_configfile.sh (code=exited, status=0/SUCCESS)
 Main PID: 14689 (dhclient)
   CGroup: /system.slice/dhclient6.service
           `-14689 /sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832

Jun 24 11:55:42 erliteFym dhclient[14689]: XMT: Solicit on eth1.832, interval 112250ms.
Jun 24 11:57:35 erliteFym dhclient[14689]: XMT: Solicit on eth1.832, interval 125470ms.
Jun 24 11:59:40 erliteFym dhclient[14689]: XMT: Solicit on eth1.832, interval 130570ms.
Jun 24 12:01:51 erliteFym dhclient[14689]: XMT: Solicit on eth1.832, interval 123240ms.
Jun 24 12:03:54 erliteFym dhclient[14689]: XMT: Solicit on eth1.832, interval 108390ms.
Jun 24 12:05:43 erliteFym dhclient[14689]: XMT: Solicit on eth1.832, interval 121230ms.
Jun 24 12:07:44 erliteFym dhclient[14689]: XMT: Solicit on eth1.832, interval 126490ms.
Jun 24 12:09:51 erliteFym dhclient[14689]: XMT: Solicit on eth1.832, interval 115290ms.
Jun 24 12:11:46 erliteFym dhclient[14689]: XMT: Solicit on eth1.832, interval 129250ms.
Jun 24 12:13:55 erliteFym dhclient[14689]: XMT: Solicit on eth1.832, interval 127310ms.
[code]
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 24 juin 2020 à 13:02:22

    ethernet eth1 {
...
            description "eth1.832 (INTERNET)"
            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-authentication 00:00:00:00:00:00:00:00:00:00:00:1a:09:XX:XX:XX:XX:XX:XX:XX:XX:Xd: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-authentication;"
                client-option "send dhcp-client-identifier 01:70::XX:XX:XX:XX:XX:XX;"
                default-route update
                default-route-distance 210
                global-option "option rfc3118-authentication code 90 = string;"
                name-server update
            }
 ...

Je vois deux :: ensemble dans ton dhcp-client-identifier, c'est peut-être une source de problèmes.

Tu peux poster le fichier de conf de ton dhclient6 ? (/etc/dhcp3/dhclient6_eth1_832.conf)
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fyme le 24 juin 2020 à 13:45:18

Citer
Je vois deux :: ensemble dans ton dhcp-client-identifier, c'est peut-être une source de problèmes.

Non c'est juste quand j'ai ajouté les XX (copier coller de ton champs avec un : en trop)



Citer
Tu peux poster le fichier de conf de ton dhclient6 ? (/etc/dhcp3/dhclient6_eth1_832.conf)

Le voici

[/quote]

# /etc/dhcp3/dhclient6_eth1_832.conf                                                                                                                                     
 option dhcp6.auth code 11 = string;                                                                                                                                     
 option dhcp6.vendorclass code 16 = string;                                                                                                                               
 option dhcp6.userclass code 15 = string;                                                                                                                                 
                                                                                                                                                                         
 #External interface (VLAN must be 832 for Orange)                                                                                                                       
 interface "eth1.832" {                                                                                                                                                   
        #Orange France specific options                                                                                                                                   
        send dhcp6.vendorclass 00:00:04:0e:00:05:73:61:67:65:6d;                                                                                                         
        send dhcp6.userclass 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;     
        send dhcp6.vendor-opts 00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;                                                                         
                                                                                                                                                                         
        #Authentication for Orange France DHCP server (same value as for DHCPv4)                                                                                         
        send dhcp6.auth 00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:************************************;                                               
                                                                                                                                                                         
        send dhcp6.client-id 00:03:00:01:70:XX:XX:XX:XX:XX:XX;                                                                                                           
                                                                                                                                                                         
        request dhcp6.name-servers, dhcp6.vendorclass, dhcp6.userclass, dhcp6.auth;                                                                                       
 }
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 24 juin 2020 à 14:46:00

# /etc/dhcp3/dhclient6_eth1_832.conf                                                                                                                                     
 ...                                                                                                                                       
        #Orange France specific options                                                                                                                                   
        send dhcp6.vendorclass 00:00:04:0e:00:05:73:61:67:65:6d;                                                                                                         
        send dhcp6.userclass 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;     
        send dhcp6.vendor-opts 00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;                                                                         
                                                                                                                                                                         
        #Authentication for Orange France DHCP server (same value as for DHCPv4)                                                                                         
        send dhcp6.auth 00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:************************************;                                               
                                                                                                                                                                         
        send dhcp6.client-id 00:03:00:01:70:XX:XX:XX:XX:XX:XX;                                                                                                           
                                                                                                                                                                         
        request dhcp6.name-servers, dhcp6.vendorclass, dhcp6.userclass, dhcp6.auth;                                                                                       
 }

Il manque "send dhcp6.vendor-specific-info 00:16:00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;"

Je copie le script à jour ci-dessous pour génèrer la conf (/config/scripts/generate_dhcpv6_configfile.sh) :

cat generate_dhcpv6_configfile.sh
#!/bin/bash

target_file="/etc/dhcp3/dhclient6_eth1_832.conf"

interface="eth1"
vif="832"

auth_string=$(/bin/cli-shell-api showCfg interfaces ethernet $interface vif $vif dhcp-options client-option | grep "send rfc3118-auth" | awk '{ print $4 }' | awk -F ";" '{print $1}')
mac_livebox=$(/bin/cli-shell-api showCfg interfaces ethernet $interface vif $vif dhcp-options client-option | grep "dhcp-client-identifier" | awk '{ print $4 }' | awk -F ";" '{print $1}')


read -r -d '' conffile <<EOF
# $target_file\n
option dhcp6.auth code 11 = string;\n
option dhcp6.vendorclass code 16 = string;\n
option dhcp6.userclass code 15 = string;\n
option dhcp6.vendor-specific-info code 17 = string;\n
\n
#External interface (VLAN must be 832 for Orange)\n
interface "$interface.$vif" {\n
\t#Orange France specific options\n
\tsend dhcp6.vendor-specific-info 00:16:00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;\n
\tsend dhcp6.vendorclass 00:00:04:0e:00:05:73:61:67:65:6d;\n
\tsend dhcp6.userclass 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;\n
\tsend dhcp6.vendor-opts 00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;\n
\n
\t#Authentication for Orange France DHCP server (same value as for DHCPv4)\n
\tsend dhcp6.auth $auth_string;\n
\n
\tsend dhcp6.client-id 00:03:00:$mac_livebox;\n
\n
\trequest dhcp6.name-servers, dhcp6.vendorclass, dhcp6.userclass, dhcp6.auth;\n
}\n
EOF

echo -e $conffile > $target_file


Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fyme le 24 juin 2020 à 15:44:03

J'essaie de comprendre les scripts mais à priori je ne comprends pas tout, je l'avais déjà ce script (une ancienne version) mais j'avais remplacé grep "send rfc3118-auth" par grep "send rfc3118-authentication"
pensant qu'il allait chercher les valeurs dans la conf V4 existante et comme dans la mienne j'ai  "send rfc3118-authentication" je l'avais changé.

Là j'ai collé ton script, je l'ai lancé et la ligne ait bien apparu  mais pour le moment je ne peux rebooter.

Je reviens un peu plus tard ...

Je progresse grâce à toi et je t'en remercie  :)
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fyme le 24 juin 2020 à 20:19:52
Voilà le message que j'ai, sans rien "toucher", après reboot:

Citer
admin@erliteFym:~$ systemctl status dhclient6
* dhclient6.service - dhclient for sending IPv6 DUID
   Loaded: loaded (/etc/systemd/system/dhclient6.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Wed 2020-06-24 20:16:52 CEST; 31s ago
  Process: 16731 ExecStartPre=/config/scripts/generate_dhcpv6_configfile.sh (code=exited, status=203/EXEC)

Jun 24 20:16:52 erliteFym systemd[1]: Failed to start dhclient for sending IPv6 DUID.
Jun 24 20:16:52 erliteFym systemd[1]: dhclient6.service: Unit entered failed state.
Jun 24 20:16:52 erliteFym systemd[1]: dhclient6.service: Failed with result 'exit-code'.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 24 juin 2020 à 20:59:37
fttmeh t'es sûr que t'as besoin de mettre la CoS à 6 chez toi ?

Parce que, pour moi, "CLASSIFY 0:6" ça ne fait que mettre la priorité SKB (Kernel) à 6, et donc s'il n'y a pas de configuration d'egress-qos, la priorité 802.1p restera quoi qu'il arrive à 0...
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 24 juin 2020 à 21:28:05
fttmeh t'es sûr que t'as besoin de mettre la CoS à 6 chez toi ?

Parce que, pour moi, "CLASSIFY 0:6" ça ne fait que mettre la priorité SKB (Kernel) à 6, et donc s'il n'y a pas de configuration d'egress-qos, la priorité 802.1p restera quoi qu'il arrive à 0...

Tu as raison sur la conf, j'ai fait des vérifications en utilisant tcpdump et sans configuration d'egress-qos, la priorité n'était pas à 6.

Chez moi j'ai (avais ?) besoin de la CoS à 6 pour IPv4, au moins en 2017 quand j'ai commencé à jouer avec un ERL. Depuis 2018 je fais la modification de la CoS avec un switch, et je pensais que c'était la même chose pour IPv6.

You live, you learn.  :D
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: poueck le 26 juin 2020 à 11:31:45
Bonjour à tous,

Après de nombreux jour de galère et sans obtenir d'adresse IPv6, le dhclient6 qui demandait sans obtenir de réponse
dhclient[11434]: XMT: Solicit on eth1.832, interval 1060ms.
dhclient[11434]: XMT: Solicit on eth1.832, interval 2108ms.
...

Je me suis enfin décidé à faire un tcpdump pour voir que le serveur DHCP retournait bien un "Advertise" que le client ne recevait pas.
J'ai du coup contrôler le firewall ipv6 et j'ai détecté une erreur dans la conf proposée par pinomat.

Configurer le firewall IPv6

La règle 30 de "WAN6_LOCAL" est inversée entre les ports source et destination. Il faut mettre la règle suivante:
       rule 30 {
            action accept
            description "allow DHCPv6 client/server"
            destination {
                port 546
            }
            protocol udp
            source {
                port 547
            }
        }

Maintenant que j'ai enfin l'IPv6 sur le routeur, je vais configurer le routage et la délégation...
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fyme le 27 juin 2020 à 12:17:46
Bonjour,

De mon côté j'ai bien avancé grâce à fttmeh (merci à lui).

Je n'ai pas d'adresse:

Citer
root@erliteFym:~# route -6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
[::]/0                         [::]                       !n   -1  1    25 lo
fe80::/64                      [::]                       U    256 0     0 eth1
fe80::/64                      [::]                       U    256 0     0 eth0
fe80::/64                      [::]                       U    256 0     0 eth0.7
fe80::/64                      [::]                       U    256 0     0 eth0.30
fe80::/64                      [::]                       U    256 0     0 eth0.20
fe80::/64                      [::]                       U    256 0     0 eth0.10
fe80::/64                      [::]                       U    256 0     0 eth1.840
fe80::/64                      [::]                       U    256 0     0 eth1.832
fe80::/64                      [::]                       U    256 0     0 eth0.40
fe80::/64                      [::]                       U    256 0     0 eth0.50
[::]/0                         fe80::ba0:bab              UGDAe 1024 0     0 eth1.832
[::]/0                         [::]                       !n   -1  1    25 lo
ip6-localhost/128              [::]                       Un   0   3   111 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::/128                     [::]                       Un   0   1     0 lo
fe80::618:d6ff:fef1:6eca/128   [::]                       Un   0   1     0 lo
fe80::618:d6ff:fef1:6eca/128   [::]                       Un   0   1     0 lo
fe80::618:d6ff:fef1:6eca/128   [::]                       Un   0   1     0 lo
fe80::618:d6ff:fef1:6eca/128   [::]                       Un   0   1     0 lo
fe80::618:d6ff:fef1:6eca/128   [::]                       Un   0   1     0 lo
fe80::618:d6ff:fef1:6eca/128   [::]                       Un   0   1     0 lo
fe80::618:d6ff:fef1:6eca/128   [::]                       Un   0   1     0 lo
fe80::618:d6ff:fef1:6ecb/128   [::]                       Un   0   1     0 lo
fe80::618:d6ff:fef1:6ecb/128   [::]                       Un   0   1     0 lo
fe80::618:d6ff:fef1:6ecb/128   [::]                       Un   0   2   112 lo
ip6-mcastprefix/8              [::]                       U    256 0     0 eth1
ip6-mcastprefix/8              [::]                       U    256 1   149 eth0
ip6-mcastprefix/8              [::]                       U    256 0     0 eth0.7
ip6-mcastprefix/8              [::]                       U    256 0     0 eth0.30
ip6-mcastprefix/8              [::]                       U    256 1    61 eth0.20
ip6-mcastprefix/8              [::]                       U    256 1     6 eth0.10
ip6-mcastprefix/8              [::]                       U    256 0     0 eth1.840
ip6-mcastprefix/8              [::]                       U    256 2   131 eth1.832
ip6-mcastprefix/8              [::]                       U    256 1    41 eth0.40
ip6-mcastprefix/8              [::]                       U    256 1     1 eth0.50
[::]/0                         [::]                       !n   -1  1    25 lo

Et j'ai ce message lorsque je restart dhclient6:

Citer
root@erliteFym:~# systemctl restart dhclient6
root@erliteFym:~# /sbin/dhclient -d -v -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832
Internet Systems Consortium DHCP Client 4.1-ESV-R15-P1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
 
Option new_ip requires an argument
Option old_ip requires an argument
Listening on Socket/eth1.832
Sending on   Socket/eth1.832
PRC: Soliciting for leases (INIT).
XMT: Forming Solicit, 0 ms elapsed.
XMT:  X-- IA_PD d6:f1:6e:cb
XMT:  | X-- Request renew in  +3600
XMT:  | X-- Request rebind in +5400
XMT: Solicit on eth1.832, interval 1090ms.
XMT: Forming Solicit, 1090 ms elapsed.
XMT:  X-- IA_PD d6:f1:6e:cb
XMT:  | X-- Request renew in  +3600
XMT:  | X-- Request rebind in +5400
XMT: Solicit on eth1.832, interval 2160ms.
XMT: Forming Solicit, 3250 ms elapsed.
XMT:  X-- IA_PD d6:f1:6e:cb
XMT:  | X-- Request renew in  +3600
XMT:  | X-- Request rebind in +5400
XMT: Solicit on eth1.832, interval 4290ms.
XMT: Forming Solicit, 7540 ms elapsed.
XMT:  X-- IA_PD d6:f1:6e:cb
XMT:  | X-- Request renew in  +3600
XMT:  | X-- Request rebind in +5400
XMT: Solicit on eth1.832, interval 8570ms.
XMT: Forming Solicit, 16110 ms elapsed.
XMT:  X-- IA_PD d6:f1:6e:cb
XMT:  | X-- Request renew in  +3600
XMT:  | X-- Request rebind in +5400
XMT: Solicit on eth1.832, interval 17770ms.
^C

Puis le 1er systemctl status dhclient6 :

Citer
root@erliteFym:~# systemctl status dhclient6
* dhclient6.service - dhclient for sending IPv6 DUID
   Loaded: loaded (/etc/systemd/system/dhclient6.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-06-27 11:51:03 CEST; 25s ago
  Process: 17572 ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832 (code=exite
  Process: 17560 ExecStartPre=/config/scripts/generate_dhcpv6_configfile.sh (code=exited, status=0/SUCCESS)
 Main PID: 17581 (dhclient)
   CGroup: /system.slice/dhclient6.service
           `-17581 /sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832
 
Jun 27 11:51:11 erliteFym dhclient[17581]: XMT: Request on eth1.832, interval 8130ms.
Jun 27 11:51:11 erliteFym dhclient[17581]: RCV: Reply message on eth1.832 from fe80::ba0:bab.
Jun 27 11:51:11 erliteFym dhclient[17581]: message status code UnspecFail.
Jun 27 11:51:14 erliteFym dhclient[17581]: RCV: Advertise message on eth1.832 from fe80::ba0:bab.
Jun 27 11:51:14 erliteFym dhclient[17581]: Packet received, but nothing done with it.
Jun 27 11:51:19 erliteFym dhclient[17581]: XMT: Request on eth1.832, interval 15480ms.
Jun 27 11:51:19 erliteFym dhclient[17581]: RCV: Reply message on eth1.832 from fe80::ba0:bab.
Jun 27 11:51:19 erliteFym dhclient[17581]: message status code UnspecFail.
Jun 27 11:51:22 erliteFym dhclient[17581]: RCV: Advertise message on eth1.832 from fe80::ba0:bab.
Jun 27 11:51:22 erliteFym dhclient[17581]: Packet received, but nothing done with it.
lines 1-19/19 (END)

et ensuite :

Citer
root@erliteFym:~# systemctl status dhclient6
* dhclient6.service - dhclient for sending IPv6 DUID
   Loaded: loaded (/etc/systemd/system/dhclient6.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-06-27 11:51:03 CEST; 38s ago
  Process: 17572 ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832 (code=exite
  Process: 17560 ExecStartPre=/config/scripts/generate_dhcpv6_configfile.sh (code=exited, status=0/SUCCESS)
 Main PID: 17581 (dhclient)
   CGroup: /system.slice/dhclient6.service
           `-17581 /sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832
 
Jun 27 11:51:14 erliteFym dhclient[17581]: RCV: Advertise message on eth1.832 from fe80::ba0:bab.
Jun 27 11:51:14 erliteFym dhclient[17581]: Packet received, but nothing done with it.
Jun 27 11:51:19 erliteFym dhclient[17581]: XMT: Request on eth1.832, interval 15480ms.
Jun 27 11:51:19 erliteFym dhclient[17581]: RCV: Reply message on eth1.832 from fe80::ba0:bab.
Jun 27 11:51:19 erliteFym dhclient[17581]: message status code UnspecFail.
Jun 27 11:51:22 erliteFym dhclient[17581]: RCV: Advertise message on eth1.832 from fe80::ba0:bab.
Jun 27 11:51:22 erliteFym dhclient[17581]: Packet received, but nothing done with it.
Jun 27 11:51:35 erliteFym dhclient[17581]: XMT: Request on eth1.832, interval 31640ms.
Jun 27 11:51:35 erliteFym dhclient[17581]: RCV: Reply message on eth1.832 from fe80::ba0:bab.
Jun 27 11:51:35 erliteFym dhclient[17581]: message status code UnspecFail.


Et j'ai le message status code UnspecFail en boucle


Si vous avez des idées je suis preneur

Excellente journée
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: poueck le 27 juin 2020 à 14:14:26

Si vous avez des idées je suis preneur


Hello,

Tu n'est pas loin. Le DHCP répond qu'il n'est pas content.

A voir d'où cela vient. Moi j'ai du modifier le script de génération, sinon, au boot, les variables n'étaient pas disponible et le fichier généré n'était pas bon. Mais une fois démarrer, un restart fonctionnait.

Je te propose mon script ci dessous:
#!/bin/bash
target_file="$1"

interface="$2"
vif="$3"

auth_string=$(/bin/cli-shell-api showCfg interfaces ethernet $interface vif $vif dhcp-options client-option | grep "send rfc3118-auth" | awk '{ print $4 }' | awk -F ";" '{print $1}')
mac_livebox=$(/bin/cli-shell-api showCfg interfaces ethernet $interface vif $vif dhcp-options client-option | grep "dhcp-client-identifier" | awk '{ print $4 }' | awk -F ";" '{print $1}')

if [ "$auth_string" == "" ] ; then
        exit 1
fi

if [ "$mac_livebox" == "" ] ; then
        exit 1
fi

read -r -d '' conffile <<EOF
# $target_file\n
option dhcp6.auth code 11 = string;\n
option dhcp6.vendorclass code 16 = string;\n
option dhcp6.userclass code 15 = string;\n
option dhcp6.vendor-specific-info code 17 = string;\n
\n
#External interface\n
interface "$interface.$vif" {\n
\t#Orange France specific options\n
\tsend dhcp6.vendor-specific-info 00:16:00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;\n
\tsend dhcp6.vendorclass 00:00:04:0e:00:05:73:61:67:65:6d;\n
\tsend dhcp6.userclass 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;\n
\tsend dhcp6.vendor-opts 00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;\n
\n
\t#Authentication for Orange France DHCP server (same value as for DHCPv4)\n
\tsend dhcp6.auth $auth_string;\n
\n
\tsend dhcp6.client-id 00:03:00:$mac_livebox;\n
\n
\trequest dhcp6.name-servers, dhcp6.vendorclass, dhcp6.userclass, dhcp6.auth;\n
}\n
EOF

echo -e $conffile > $target_file

La modification principale est le test des variables auth_string et mac_livebox qui ne sont pas disponible au boot.

Ensuite, le fichier de conf systemctl qui correspond:
#/etc/systemd/system/dhclient6.service
[Unit]
Description=dhclient for IPv6 on eth1.832
After=network.target

[Service]
Type=forking
ExecStartPre=/config/scripts/setDHCPv6COSto6.sh
ExecStartPre=/config/scripts/generate_dhcpv6_configfile.sh /var/run/dhclient6_eth1_832.conf eth1 832
ExecStart=/sbin/dhclient -6 -P -nw -cf /var/run/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832
ExecStopPost=/sbin/dhclient -6 -P -r -cf /var/run/dhclient6_eth1_832.conf -pf /var/run/dhclient6_eth1_832.pid -lf /var/run/dhclient6_eth1_832.leases eth1.832
NonBlocking=yes
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target


Mon interface WAN est eth1.832. Il y a deux scripts de pre-execution : la CoS et le lancement de la génération de la conf. Le post script c'est pour indiquer au serveur DHCP la liberation de l'adresse, pour faire joli.

Les réponses du serveur DHCP en erreur sont probablement dues a un problème dans la chaine d'authentification. Le script de génération le récupère de la conf IPv4.

Chez moi, cela correspond aux entrées suivantes:
admin@router# show interfaces ethernet eth1 vif 832
 address dhcp
 description "WAN 2 (Orange)"
 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 "request subnet-mask, routers, domain-name-servers, domain-name, broadcast-address, dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, rfc3118-auth;"
     client-option "send dhcp-client-identifier 01:xx:xx:xx:xx:xx:xx;"
     client-option "send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:1A:09:00:00:05:58:01:03:41:01:0D:66:74:69:2f: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;"
     default-route update
     default-route-distance 210
     global-option "option rfc3118-auth code 90 = string;"
     name-server update
 }
 firewall {
     in {
         ipv6-name WAN6_IN
         name WAN_IN
     }
     local {
         ipv6-name WAN6_LOCAL
         name WAN_LOCAL
     }
     out {
         ipv6-name WAN6_OUT
         name WAN_OUT
     }
 }
 ipv6 {
     address {
         autoconf
     }
     dup-addr-detect-transmits 1
 }
 mac xx:xx:xx:xx:xx:xx

J'espère que ça va aider.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: poueck le 27 juin 2020 à 14:31:14
De mon coté, je voulais éviter de mettre la route par défaut en dur comme dans l'extrait de conf:
set protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth1.832
En activant l'autoconfiguration IPv6 de l'interface WAN (eth1.832 chez moi), le routeur apprend tout seul la route. La conf est la suivante:
ipv6 {
     address {
         autoconf
     }
     dup-addr-detect-transmits 1
 }

Ensuite, pour distribuer les IPv6, j'ai préféré utiliser dnsmasq que j'utilise déjà pour distribuer les IPv4 et le cache DNS.

Pour ce faire, il faut bien entendu que la directive suivante dans service dhcp-server:
use-dnsmasq enable
Ensuite, j'utilise la configuration suivante dans service dns forwarding:
options enable-ra
 options dhcp-range=set:LAN,::,constructor:switch0,slaac,ra-names
 options ra-param=switch0,10

Mon interface LAN et switch0 et je demande à dnsmasq d'annoncer sa route toute les 10 secondes pour accélérer l'acquisition d'IPv6 sur le LAN, surtout pour les périphériques qui ne sont pas connectés en permanence.

J'ai aussi modifié le script dhcp "exit-hook" qui fixe l'adresse IPv6 de l'interface pour qu'il redémarre dnsmasq plutôt que radvd.

L'avantage de cette solution, c'est que les adresses IPv6 sont ajoutées dans les enregistrements DNS de dnsmasq

Ansi, la résolution de nom sur les périphériques locaux fonctionne:
# nslookup printer

Name:      printer
Address 1: 2a01:xxxx:xxxx:xxxx::xxxx printer.local
Address 2: 2a01:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx printer.local
Address 3: 192.168.x.x printer.local

# nslookup 2a01:xxxx:xxxx:xxxx::xxxx

Name:      2a01:xxxx:xxxx:xxxx::xxxx
Address 1: 2a01:xxxx:xxxx:xxxx::xxxx printer.local


Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fyme le 30 juin 2020 à 06:52:42
Bonjour,

Merci beaucoup poueck pour tes informations, je ne t'ai pas répondu car pour le moment j'ai laissé tombé, réinit du routeur et ajout des différents fichiers mais je suis retourné au point de départ.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: noway le 16 juillet 2020 à 17:12:29
Bonjour,

Merci pour ces informations, j'ai réussi à me débarrasser de dibbler et avoir mon ipv6 a chaque reboot du router !

Du coup, n'ayant pas de switch permettant de mettre la CoS à 6 pour dhcpv6 j'ai utilisé ip6tables qui fonctionne sans problème.

Question un peu HS : Je me demandais s'il était possible également d'utiliser iptables pour ipv4 pour mettre la CoS du dhclient3 à 6 pour d'éviter de devoir patcher celui-ci ? Ca permettrait de faciliter les migrations de firmwares :)

Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 16 juillet 2020 à 19:22:02
Bah non, sinon... on l’aurait fait depuis le début  ;)

Les sockets (RAW) utilisées en IPv4 par dhclient ne passent pas par iptables.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: noway le 17 juillet 2020 à 10:03:56
Bah non, sinon... on l’aurait fait depuis le début  ;)

Les sockets (RAW) utilisées en IPv4 par dhclient ne passent pas par iptables.

Ah ! Merci pour la réponse :) C'eut été trop facile autrement !

Encore HS mais par curiosité, je regardais le script que tu as fait pour automatiser les installs après upgrade du firmware, et je me demandais ce qu'il y avait dans ton fichier notifications_EOS_upgrade.sh ?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 17 juillet 2020 à 20:42:10
C’est pas de moi ce script...
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 17 juillet 2020 à 22:46:21
Ah ! Merci pour la réponse :) C'eut été trop facile autrement !

Encore HS mais par curiosité, je regardais le script que tu as fait pour automatiser les installs après upgrade du firmware, et je me demandais ce qu'il y avait dans ton fichier notifications_EOS_upgrade.sh ?

C'est mon script. Il sert à envoyer des messages à mon smartphone. C'est simplement un wrapper pour utiliser CURL pour appeler une API chez pushover.net
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: fttmeh le 21 juillet 2020 à 11:41:40
Bonjour,

fttmeh m'a un peu aidé mais malheureusement cela ne fonctionne pas chez moi car je dois mal m'y prendre, une âme charitable pourrait-elle regarder mon fichier de conf et me dire ce qui ne va pas, merci :



As-tu des logs/captures tcpdump pour voir où ça coince ? C'est le routeur qui n'accepte pas ta config ou il n'obtient pas d'adresse IP ?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 21 juillet 2020 à 11:57:56
En IPv6 normal de ne pas avoir d’adresse Sur l’interface WAN...
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: Lyrca le 21 juillet 2020 à 12:04:57
Merci à vous.

Voici ce que je vois :
(https://i.ibb.co/mhfBgZP/Capture-d-e-cran-2020-07-21-a-12-03-01.png)

Par contre si je fais un ping orange.fr depuis mon routeur :

ping orange.fr
ping: orange.fr: Temporary failure in name resolution

ping 1.1.1.1
connect: Network is unreachable

Il semblerait que j'obtienne donc bien une IPv6, par contre impossible de sortir. Vous auriez une idée ? Merci
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: Lyrca le 21 juillet 2020 à 13:22:57
fttmeh m'a répondu :

    Il me semble que tu n'as pas associé les rulesets (WAN_IN, etc.) aux intérfaces réseau. Selon ton ping, les paquets ne sortent pas du router faute d'une règle adaptée. Il manque, par exemple :

configure
set interfaces ethernet eth1.832 firewall in name WAN_IN
set interfaces ethernet eth1.832 firewall local name WAN_LOCAL
commit
save

    Dans le ruleset WANv6_IN, il te manque de permettre le traffic ICMPv6 passer. C'est nécessaire en IPv6, et tu pourras fermer davantage quand tout fonctionnera bien.
    Dans le ruleset WANv6_LOCAL, il est nécessaire de laisser passer TOUT le traffic ICMPv6 au début. Après tu pourras fermer davantage. Notamment, la route par défaut passer par un message RA qui passe par ICMPv6. Sinon tu auras bien ton adresse IP mais tu ne pourras pas envoyer des paquets vers Internet.

Mais j'avoue être perdu et ne sait pas comment faire. Je pense avoir les même règles en place que lorsque la config IPv4 fonctionnait et ne comprend pas ce qui manque.

Ma config:

firewall {
    all-ping enable
    broadcast-ping disable
    ipv6-name WANv6_IN {
        default-action drop
        description "WAN inbound traffic forwarded to LAN"
        enable-default-log
        rule 10 {
            action accept
            description "Allow established/related sessions"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
    }
    ipv6-name WANv6_LOCAL {
        default-action drop
        description "WAN inbound traffic to the router"
        enable-default-log
        rule 10 {
            action accept
            description "Allow established/related sessions"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
        rule 30 {
            action accept
            description "Allow IPv6 icmp"
            protocol ipv6-icmp
        }
        rule 40 {
            action accept
            description "allow dhcpv6"
            destination {
                port 546
            }
            protocol udp
            source {
                port 547
            }
        }
    }
    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 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.Livebox3&quot;;"
                client-option "send rfc3118-auth XXXXXXXXX;"
                client-option "request dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, domain-search, rfc3118-auth;"
                client-option "send dhcp-client-identifier 01:F8:08:4F:E4:10:DA;"
                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 {
                    name WAN_IN
                }
                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.10.1/24
        description "eth2 LOCAL LAN SWITCH"
        duplex auto
        speed auto
    }
    ethernet eth3 {
        disable
        duplex auto
        speed auto
    }
    loopback lo {
    }
}
protocols {
}
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 192.168.10.1
                domain-name local
                lease 86400
                start 192.168.10.3 {
                    stop 192.168.10.254
                }
                static-mapping Nas {
                    ip-address 192.168.10.10
                    mac-address 00:11:32:40:ef:f5
                }
                static-mapping Shield {
                    ip-address 192.168.10.11
                    mac-address 00:04:4b:f5:3b:a7
                }
            }
        }
        shared-network-name LIVEBOX {
            authoritative enable
            subnet 192.168.2.0/24 {
                default-router 192.168.2.1
                dns-server 80.10.246.134
                dns-server 81.253.149.5
                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 {
        forwarding {
            cache-size 200
            listen-on eth2
            name-server 1.1.1.1
            name-server 1.0.0.1
            name-server 8.8.8.8
            name-server 8.8.4.4
        }
    }
    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 {
    domain-name local
    host-name EdgeRouter
    login {
        user xxxxx {
            authentication {XXXXXX
                }
            }
            level admin
        }
    }
    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 {
        }
    }
    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:suspend@1:system@4:ubnt-pptp@1:ubnt-udapi-server@1:ubnt-unms@1:ubnt-util@1:vrrp@1:vyatta-netflow@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v2.0.8-hotfix.1.5278088.200305.1641 */




Merci à vous
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 21 juillet 2020 à 16:19:20
Même tes DNS ne fonctionnent plus là...

show interfaces
show ip route
show ipv6 route

Je vois aussi que tu joues avec apt-get. Je déconseille FORTEMENT de mettre à jour les paquets du système, c’est la meilleure façon de « casser » le firmware. D’ailleurs je conseille également de virer de la configuration tout ce qui concerne les packages Debian pour ne pas être tenté de faire une connerie...

Après, franchement, ça va être difficile de trouver pourquoi ça ne marche pas à ta place.

Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 21 juillet 2020 à 16:34:33
Ces commandes ne doivent pas être exécutées en mode « configure », mais en mode normal.

Accessoirement, merci de continuer ici, pas la peine de m’envoyer les mêmes questions en privé. Je ne fais généralement pas de support en privé car les problèmes et leur solution intéressent tout le monde.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 21 juillet 2020 à 16:38:56
Bon bah déjà là c’est IPv4 qui ne fonctionne plus tu n’as même pas la route IPv4 par défaut. La table de routage IPv6 est correcte.
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: zoc le 21 juillet 2020 à 16:43:43
Aucune idée de ce que tu as fait quand tu as mis en place IPv6 mais manifestement ça a eu pour conséquence de casser IPv4. En tout cas ce n’est pas le fichier de configuration du routeur qui est en cause mais plus probablement les scripts externes.

C’est le problème de recopier des tutos sans rien comprendre...

Prochaines étapes:
- réinitialiser les routeur en configuration usine et refaire fonctionner IPv4
- remettre le support d’IPv6 en essayant de comprendre ce que fait chaque ligne de chaque script externe utilisé

Comme je l’ai déjà dit(en privé) je n’utilise pas dhclient pour IPv6 mais dibbler, je ne peux donc pas fournir de support pour IPv6 sur un firmware 2.0.8
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: Lyrca le 21 juillet 2020 à 16:47:05
J'ai suivi la procédure de fttmeh ici : https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg684503/#msg684503 que je comprends parfaitement

Seule modification dans /etc/dhcp3/dhclient-exit-hooks.d/dhclient-ipv6-exit-hook

IPV6_INTERFACES=(eth2)

Je vais repasser le router dans la config IPv4 qui fonctionne et refaire les manips

Merci
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: Lyrca le 21 juillet 2020 à 22:21:59
J'ai publié un tuto sur la base de tout ce que j'ai pu récolter sur ce forum grâce aux nombreux contributeurs : https://lafibre.info/remplacer-livebox/tutot-er4-v2-0-8-ipv6-tv-et-tel-derriere-livebox/msg778389/#msg778389

Merci à vous
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: benoitc le 26 juillet 2020 à 11:18:20
quelqu'un a essay" de recuperer le prefix 56 et le passer directement sur un des ports?
Titre: Ubiquiti ER Ipv6 dhcp6 en 2.X
Posté par: ilco le 27 novembre 2022 à 17:39:20
Bonjour,

J'ai suivi le fil du sujet et je me suis enfin lancé dans la configuration de l'ipv6 sur mon ER-4.

Je pense que tous mes appareils obtiennent bien une ipv6 (je la vois dans leur config réseau), mais par contre le test ipv6 fail toujours ?
Le ping6 fonctionne depuis le routeur en ssh mais pas depuis mon Mac (ping6: UDP connect: No route to host)

Je n'ai rien dans la case routeur du Mac juste en dessous de son ipv6, pourtant j'ai bien setter la route par défaut :

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


Il me manquerait quoi ?

merci pour vos conseils!

Edit : ca marche !

J'ai du rajouter les DNS IPv6 de Quad9, et j'ai aussi mis çà dans dns --> forwarding :
options dhcp-range=::1000,::FFFF,constructor:eth2,slaac,ra-names,64,24h