Auteur Sujet: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?  (Lu 8452 fois)

0 Membres et 1 Invité sur ce sujet

wobble

  • Abonné Bbox fibre
  • *
  • Messages: 176
  • XGS-PON Bougyues / Rhône (69)
ipv6 sur debian
« Réponse #12 le: 29 janvier 2025 à 13:11:13 »
suivant la version de systemd, les options peuvent changer avec le temps.

regarde la doc: https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html

ClientIdentifier est spécifique a DHCPv4 (donc le truc que j'ai posté en 2023 est faux ou fonctionnait a l'époque).
Oui pas de soucis, j'ai bien vu la doc. Je postais pour prévenir les gens que la conf n'était pas parfaitement fonctionnelle.

Citer
si tu n'as pas de 2 eme interface qui a "DHCPPrefixDelegation=yes" il faut forcer la demande de préfix en ajoutant sur ton interface wan:

[Network]
DHCPPrefixDelegation=yes
[DHCPPrefixDelegation]
UplinkInterface=:self

sinon par défaut ca fait une requête d'adresse (IA_NA) et une requete de prefixe (IA_PD) d'ou la réponse recu.

Dans le paquet Solicit envoyé, il y a ça, c'est déjà IA_PD, non ?
Identity Association for Prefix Delegation
    Option: Identity Association for Prefix Delegation (25)
    Length: 12
    IAID: <un ID>
    T1: 0
    T2: 0

Je retesterai tout à l'heure les options que tu donnes mais aussi en ajoutant un prefix hint car il est mentionné sur OpenWRT et sur Mikrotik RouterOS. J'ajouterai aussi une délégation sur une seconde interface pour voir ce que ça donne.

Concernant le DUID, dans le topic le topic OpenWRT et celui sur Ubiquiti, il est question de mettre un préfixe de 00:03:00:01, ce qui correspond à du DUID-LL avec hardware type ethernet 00:01. Pourtant, dans testdhcpv6pd, tu utilises DUID-LLT. Est-ce que le routeur Bouygues accepterait les deux types de DUID ? Faut-il en préférer un ?


kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 542
  • Paris (75)
ipv6 sur debian
« Réponse #13 le: 29 janvier 2025 à 15:42:55 »
Est-ce que le routeur Bouygues accepterait les deux types de DUID ? Faut-il en préférer un ?

je ne sais pas ,j'ai toujours été derriere une bbox, jamais a la place d'un bbox.

derriere une bbox les 2 sont supportés.

testdhcpv6pd permet l'un ou l'autre (option -cll) donc tu peux éventuellement tester directement avec pour savoir la bonne config. ensuite la mettre dans systemd (DUIDType).

apres si les autres solutions fonctionnent avec LL dans ce cas autant faire en LL aussi.

wobble

  • Abonné Bbox fibre
  • *
  • Messages: 176
  • XGS-PON Bougyues / Rhône (69)
ipv6 sur debian
« Réponse #14 le: 29 janvier 2025 à 22:06:43 »
testdhcpv6pd permet l'un ou l'autre (option -cll) donc tu peux éventuellement tester directement avec pour savoir la bonne config. ensuite la mettre dans systemd (DUIDType).
Même avec l'option -cll, le script utilise DUID-LLT, jamais DUID-LL :
./testdhcpv6pd -cll 9C:24:72:XX:XX:XX enp2s0.100
2025/01/29 21:44:35 Sending a DHCPv6-PD Solicit on interface enp2s0.100
[dhcpv6] 2025/01/29 21:44:35 sent message: Message{
  MessageType=SOLICIT
  TransactionID=0x47771f
  Options: [
    Client ID: DUID-LLT{HWType=Ethernet HWAddr=9c:2d:cd:xx:xx:xx Time=791498675}
    Requested Options: DNS, Domain Search List
    Elapsed Time: 0s
    IAPD: IAID=0x01000000 T1=0s T2=0s Options=[
      IA Prefix: {PreferredLifetime=0s, ValidLifetime=0s, Prefix=::/64, Options={[]}}
    ]
    Client Link-Layer Address: Type=Ethernet LinkLayerAddress=9c:24:72:xx:xx:xx
  ]
}

La seule différence est qu'il ajoute l'option Client Link-Layer Address.

J'ai patché vite fait mal fait le code pour qu'il envoie un DUID-LL et ça fonctionne aussi.
diff --git a/main.go b/main.go
index 7723f93..cc6c58d 100644
--- a/main.go
+++ b/main.go
@@ -160,9 +160,8 @@ func main() {
                if err != nil {
                        log.Fatal(err)
                }
-               modifiers = append(modifiers, dhcpv6.WithClientID(&dhcpv6.DUIDLLT{
+               modifiers = append(modifiers, dhcpv6.WithClientID(&dhcpv6.DUIDLL{
                        HWType:        iana.HWTypeEthernet,
-                       Time:          dhcpv6.GetTime(),
                        LinkLayerAddr: mac,
                }))
        }
@@ -202,9 +201,8 @@ func main() {
 // derive the IAID in the IA_NA option.
 // same as nclient6/NewSolicit but without IAID
 func NewSolicit(hwaddr net.HardwareAddr, modifiers ...dhcpv6.Modifier) (*dhcpv6.Message, error) {
-       duid := &dhcpv6.DUIDLLT{
+       duid := &dhcpv6.DUIDLL{
                HWType:        iana.HWTypeEthernet,
-               Time:          dhcpv6.GetTime(),
                LinkLayerAddr: hwaddr,
        }
        m, err := dhcpv6.NewMessage()

D'ailleurs ça marche même avec ma vraie MAC dans le DUID. On dirait qu'une fois que j'ai reçu un préfixe avec un DUID, il faut attendre un certain temps pour que le routeur me répondre à nouveau si je prends un autre DUID.

wobble

  • Abonné Bbox fibre
  • *
  • Messages: 176
  • XGS-PON Bougyues / Rhône (69)
Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
« Réponse #15 le: 29 janvier 2025 à 22:49:54 »
Avec ce .network, j'ai bien une configuration fonctionnelle. J'ai mis à l'interface la MAC de la Bbox mais je ne suis pas certain que ça soit nécessaire.
Pas besoin de passer DUIDRawData, il est généré correctement avec la MAC de l'interface et l'option DUIDType.

[Match]
Name=enp2s0.100

[Network]
IPv6AcceptRA=yes
DHCP=yes
# Pour tester, je délègue sur moi-même
DHCPPrefixDelegation=yes

[DHCPPrefixDelegation]
# Idem, pour tester
UplinkInterface=:self
# Pour fixer les dernier bits de l'adresse reçue
Token=::feed

[IPv6AcceptRA]
# On ignore les serveurs DNS reçus
UseDNS=no

[DHCPv6]
# Pour ne pas envoyer IA_NA
UseAddress=no
WithoutRA=solicit
DUIDType=link-layer
PrefixDelegationHint=::/64
IAID=1

J'imagine que quand j'aurai le routeur, avec la délégation sur la patte LAN, ce sera le LAN qui portera l'IPv6 publique pour y accéder ? Je ne vais pas faire de la délégation à la fois sur le LAN et sur le WAN juste pour une seule IP ?
« Modifié: 01 février 2025 à 14:34:05 par wobble »

kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 542
  • Paris (75)
Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
« Réponse #16 le: 31 janvier 2025 à 12:06:59 »
J'imagine que quand j'aurai le routeur, avec la délégation sur la patte LAN, ce sera le LAN qui portera l'IPv6 publique pour y accéder ? Je ne vais pas faire de la délégation à la fois sur le LAN et sur le WAN juste pour une seule IP ?

oui en principe y'a pas besoin de GUA (ip public) sur le wan.

pour testdhcpv6pd y'a surement un bug merci du retour.

wobble

  • Abonné Bbox fibre
  • *
  • Messages: 176
  • XGS-PON Bougyues / Rhône (69)
Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
« Réponse #17 le: 19 février 2025 à 03:24:17 »
Je viens de créer un topic dédié pour partager ma config avec IPv6 fonctionnelle sous Debian : https://lafibre.info/remplacer-bbox/retour-dexperience-ont-externe-debian-sur-ikoolcore-r2-max-2x10g-2x2-5g/msg1106691/

kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 542
  • Paris (75)
Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
« Réponse #18 le: 26 février 2025 à 11:03:58 »
pour info, mise a jour de testdhcpv6p en version 1.0.5, l'url a aussi changé: https://github.com/nspeed-app/testdhcpv6pd

on peut maintenant spécifier correctement le DUID selon la norme ((type 1, 3 ou 4) et aussi demander plusieurs préfixes en meme temps (pas testé avec une bbox mais ca "fonctionne" avec une livebox).

non mis en oeuvre le type 2 (entreprise) et supprimer le 'client link layer option" (rfc6939) qui est plutot utilisé pour les relais dhcpv6.

« Modifié: 26 février 2025 à 18:46:25 par kgersen »

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 618
  • bzh
Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
« Réponse #19 le: 22 avril 2025 à 10:12:38 »
j'avais raté tout ça
je n'avais jamais réussi à avoir de réponse de mon coté et j'avais finis par lâcher le morceau.

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 618
  • bzh
Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
« Réponse #20 le: 22 avril 2025 à 11:52:58 »
bon je viens de tenter les nouvelles conf mais je n'ai pas plus de succès

par rapport à ta conf wobble
j'ai juste une erreur sur l'option IPv6Forwarding qui n'éxiste pas sur debian12 (v252 de systemd) mais de ce que j'en comprend ça ne devrait pas pose de soucis

ma conf :
[Match]
Name=enp4s0f1.100
Type=vlan

[Network]
DHCP=yes
IPv6Forwarding=yes
IPv6AcceptRA=yes
DHCPPrefixDelegation=yes

[DHCPPrefixDelegation]
UplinkInterface=:self

[DHCPv6]
# Ne pas envoyer IA_NA
UseAddress=no
WithoutRA=solicit
DUIDType=link-layer
PrefixDelegationHint=::/64
IAID=1

[IPv6AcceptRA]
UseDNS=no

3: enp4s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 34:53:d2:0d:**** brd ff:ff:ff:ff:ff:ff permaddr 54:80:28:4f:****
    inet6 fe80::3653:d2ff:****/64 scope link
       valid_lft forever preferred_lft forever
4: enp4s0f1.100@enp4s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 34:53:d2:0d:**** brd ff:ff:ff:ff:ff:ff
    inet 89.81.****/20 metric 1024 brd 89.81.**** scope global dynamic enp4s0f1.100
       valid_lft 7194sec preferred_lft 7194sec
    inet6 fe80::3653:d2ff:****/64 scope link
       valid_lft forever preferred_lft forever

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 618
  • bzh
Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
« Réponse #21 le: 22 avril 2025 à 11:57:34 »
et le résultat de testdhcpv6pd :
root@srv-tux-fns1:~# ./testdhcpv6pd -dll 34:53:d2:0d:**** enp4s0f1.100
2025/04/22 11:54:08 Sending a DHCPv6-PD Solicit on interface enp4s0f1.100
[dhcpv6] 2025/04/22 11:54:08 sent message: Message{
  MessageType=SOLICIT
  TransactionID=0x84dc6b
  Options: [
    Client ID: DUID-LL{HWType=Ethernet HWAddr=34:53:d2:0d:****}
    Requested Options: DNS, Domain Search List
    Elapsed Time: 0s
    IAPD: IAID=0x00000001 T1=0s T2=0s Options=[
      IA Prefix: {PreferredLifetime=0s, ValidLifetime=0s, Prefix=::/64, Options={[]}}
    ]
  ]
}
2025/04/22 11:54:10 no matching response packet received

wobble

  • Abonné Bbox fibre
  • *
  • Messages: 176
  • XGS-PON Bougyues / Rhône (69)
Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
« Réponse #22 le: 22 avril 2025 à 12:09:51 »
bon je viens de tenter les nouvelles conf mais je n'ai pas plus de succès

par rapport à ta conf wobble
j'ai juste une erreur sur l'option IPv6Forwarding qui n'éxiste pas sur debian12 (v252 de systemd) mais de ce que j'en comprend ça ne devrait pas pose de soucis

En effet, ajouté en v256 dit https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html#IPv6Forwarding=
Si tu as mis les sysctl à la main, ça revient au même. J'ai juste décidé de faire plus « moderne » en laissant SystemD le faire :)

Content qu'on soit deux chez qui ça fonctionne !

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 618
  • bzh
Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
« Réponse #23 le: 22 avril 2025 à 12:13:57 »
non chez moi ça ne marche pas malheuresement :-\