Je suis pas sûr Florian : c'est peut être juste les RA...
J'ai quand même mis un ND sur le WAN mais j'ai pas l'impression que ce soit nécessaire :
/ipv6 nd
set [ find default=yes ] disabled=yes
add advertise-dns=yes hop-limit=64 interface="Root bridge" managed-address-configuration=yes other-configuration=yes ra-interval=20s-1m
add advertise-dns=yes hop-limit=64 interface="Guest bridge" managed-address-configuration=yes other-configuration=yes ra-interval=20s-1m
add hop-limit=64 interface=eth1
Du coup dans les neighbors on a l'Pv6 LL de la box :
/ipv6 neighbor print
Flags: R - router
0 R address=fe80::e69e:12ff:feXX:XXXX interface=eth1 mac-address=E4:9E:12:XX:XX:XX status="stale"
(...)
Note 1 : le "stale" m'inquiétait au début, on devrais avoir "reachable"mais ca semble OK...
Note 2 : elle apparaît également sans ND sur le WAN, mais j'ai pas eu la patiente de rebooter pour purger les caches des bidouilles précédentes pour confirmer, alors je laisse le ND comme cela...
Et les routes dynamiques vers chaque préfixe :
/ipv6 route print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, o - ospf, b - bgp, U - unreachable
# DST-ADDRESS GATEWAY DISTANCE
0 ADC 2a01:e0a:XXX:XXX0::/64 eth1 0
1 ADC 2a01:e0a:XXX:XXX1::/64 Root bridge 0
2 ADC 2a01:e0a:XXX:XXX2::/64 Guest bridge 0
=> On note qu'il ny 'a pas de gateway par défaut, mais ca fonctionne.
Coté client j'ai le préfixe (pas son IP !!) IPv6 en GW dans mes routes (clients Linux/Android configurés soit en statique soit en SLAAC avec private extensions) :
# ip -6 r
2a01:e0a:XXX:XXXX::/64 dev enp0s31f6 proto kernel metric 256 pref medium
fe80::/64 dev enp0s31f6 proto kernel metric 256 pref medium
default via fe80::4e5e:cff:feYY:YYYY dev enp0s31f6 proto ra metric 1024 expires 1759sec hoplimit 64 pref medium
Certainement des packets RA qui doivent annoncer tout cela, faudrait capturer et analyser mais ca marche très bien comme ca... puis je préfère passer mon temps à creuser le bypass de la box : je verrais si y'a un cable SFP-SFP qui traîne chez les collègues du rézo au boulot pour avancer sur ce point
Sinon, en reconfigurant le RB941 (aka "hAP lite") qui me sert de spare et de point d'accès mobile, j'ai fini par le "flinguer" et j'ai donc fait un reset (pas un netinstall, juste un reset). A ma grande surprise il y avait des règles de firewall IPv6 par défaut que je n'ai pas eu dans le RB2011 à l'activation du package IPv6 (et j'ai pas eu le temps de voir pour le RB940
)...
J'ai donc revu mes règles et intégré quelques unes du package de base, voici ce que ca donne (sans mes règles perso) :
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
add address=::224.0.0.0/100 comment="defconf: other" list=bad_ipv6
add address=::127.0.0.0/104 comment="defconf: other" list=bad_ipv6
add address=::/104 comment="defconf: other" list=bad_ipv6
add address=::255.0.0.0/104 comment="defconf: other" list=bad_ipv6
add address=fe80::/16 list=allowed
add address=ff02::/16 comment=multicast list=allowed
/ipv6 firewall filter
add action=accept chain=input comment="INPUT : Accept established, related" connection-state=established,related
add action=drop chain=input comment="INPUT : Drop invalid" connection-state=invalid in-interface-list=WAN
add action=accept chain=input comment="INPUT : Accept ICMPv6" protocol=icmpv6
add action=accept chain=input comment="defconf : allow allowed addresses" src-address-list=allowed
add action=drop chain=input comment="INPUT : Drop everything else"
add action=accept chain=forward comment="FWD : Accept established, related" connection-state=established,related
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="FWD : Accept ICMPv6" protocol=icmpv6
add action=drop chain=forward comment="FWD : Drop everything else" in-interface-list=WAN
=> Tout semble bien fonctionner comme cela : 19/20 sur
https://ipv6-test.com.