La Fibre

Datacenter et équipements réseaux => Routeurs => Bouygues Telecom Remplacer la Bbox par un routeur => Discussion démarrée par: butler_fr le 07 novembre 2023 à 16:19:40

Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: butler_fr le 07 novembre 2023 à 16:19:40
Hello

Je suis entrain de virer ma bbox pour la remplacer par un micro serveur hp gen10 en debian10 (upgrade à faire sur du 12 quand j'aurais le temps ^^)

donc l'ipv4 0 soucis.
par contre l'ipv6 je sèche.

de ce que je lis de vos différents sujets il me faudrait:
- set un DUID avec l'adresse mac de la box
- faire du dhcpv6-PD
-passer les paquets en P6? (ne semble pas obligatoire)

le hic c'est que j'ai un peu de mal à trouver comment faire sur debian

pour l'instant j'en suis la:
auto enp4s0f1.100
iface enp4s0f1.100 inet dhcp
  vlan-raw-device enp4s0f1
iface enp4s0f1.100 inet6 auto
  vlan-raw-device enp4s0f1

j'ai éssayé avec dhcp à la place de auto mais il ne récupère rien
Titre: ipv6 sur debian
Posté par: kgersen le 07 novembre 2023 à 17:16:39
ne pas confondre dhcpv6 et dhcpv6-pd. le premier sert a configurer l'ipv6 d'une interface l'autre a obtenir un prefixe IPv6 et faire en sorte que le routage arrive au bon endroit.

dans le cas, tu n'a pas besoin d'IPv6 public sur l'interface enp4s0f1.100 autre que la link-local par défaut.
Il faut par contre que cette interface fasse une requete dhcpv6-pd pour obtenir le /60 que Bytel affecte a ta bbox (ou au mini un /64).

y'a pas de facon simple de faire cela sur Debian. la config réseau basique (/etc/network/interfaces) c'est "vieux" et pour les config tres simples. Le mieux ici est d'utiliser systemd.

j'ai fait un tuto pour systemd ici (dans un autre contexte): https://lafibre.info/scaleway/comment-activer-lipv6-sur-son-serveur-dedie-chez-oneprovider-ubuntu-18/msg709345/#msg709345

edit: dhclient étant obsolete , je pense qu'il est plus simple de faire en full systemd si possible (et mon tuto n'est pas adapté complement a ton cas)



Titre: ipv6 sur debian
Posté par: kgersen le 07 novembre 2023 à 18:01:25
avec systemd ca devrait donné un truc du genre:

interface wan: enp4s0f1.100
interface lan: eth0 (a changer si besoin):

crée le ficher /etc/systemd/network/10-wan.network  et mettre dedans:
[Match]
Name=enp4s0f1.100

[Network]
IPv6AcceptRA=true
DHCP=ipv6 #mettre 'yes' si besoin aussi en IPv4

[IPv6AcceptRA]
UseDNS=false #ou yes si bytel envoi des infos dns

[DHCPv6]
UseAddress=no
WithoutRA=solicit
ClientIdentifier=duid-only
DUIDType=link-layer
DUIDRawData=00:01:XX:XX:XX:XX:XX:XX
IAID=1


adapter a l'@ mac.

le LAN (adapté le nom de l'interface):

# /etc/systemd/network/20-lan.network
[Match]
Name=eth0

[Network]
DHCPPrefixDelegation=yes
IPForward=yes
IPv6SendRA=yes
IPv6AcceptRA=no

[DHCPPrefixDelegation]
SubnetId=1
Announce=yes

j'ai mis que la partie IPv6 dans ces 2 fichiers, idéalement il faut aussi configurer IPv4 dedans.

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

pour voir ce qui se passe:
sudo networkctl status
(eventuellement suivi du nom d'une interface pour plus de log)

Apres chaque modif des fichiers .network
sudo networkctl reload

pour forcer une reconfiguration d'une interface:
sudo networkctl reconfigure <nom de l'interface>
Titre: ipv6 sur debian
Posté par: butler_fr le 07 novembre 2023 à 22:20:57
et un tuto sur mesure!
je vais tester tout ça!
merci beaucoup :)
Titre: ipv6 sur debian
Posté par: butler_fr le 14 novembre 2023 à 23:04:53
bon je dois avouer je m'arrache un peu les cheveux avec systemd  :P
bon déjà je me suis vautré un paquet de fois le temps d'appréhender le truc (quelques reboot à la clé pour récupérer la main ;D )

je pense avoir une version trop ancienne de systemd pour que ça marche
#systemctl --version
systemd 241 (241)

plusieurs option ne sont pas reconnus que j'ai du transformer en me basant sur la doc debian : https://manpages.debian.org/buster/systemd/systemd.network.5.en.html

systemd-networkd[4706]: /etc/systemd/network/20-lan.network:4: Unknown lvalue 'DHCPPrefixDelegation' in section 'Network', ignoring
systemd-networkd[4706]: /etc/systemd/network/20-lan.network:6: Unknown lvalue 'IPv6SendRA' in section 'Network', ignoring
systemd-networkd[4706]: /etc/systemd/network/20-lan.network:10: Unknown section 'DHCPPrefixDelegation'. Ignoring.
systemd-networkd[4706]: /etc/systemd/network/10-wan-enp4s0f1.100.network:9: Unknown section 'DHCPv6'. Ignoring.

du coup pour l'instant ça donne ça:
enp4s0f1 : wan
enp4s0f0 : lan

/etc/systemd/network/enp4s0f1.network

[Match]
Name=enp4s0f1
Type=ether

[Link]
MACAddress=34:53:d2:0d:xx:xx

[Network]
Description=The unconfigured physical ethernet device
VLAN=enp4s0f1.100
DHCP=no

/etc/systemd/network/enp4s0f1.100.netdev

[NetDev]
Name=enp4s0f1.100
Kind=vlan
MACAddress=34:53:d2:0d:xx:xx

[VLAN]
Id=100

/etc/systemd/network/10-enp4s0f1.100.network

[Match]
Name=enp4s0f1.100
Type=vlan

[Network]
IPv6AcceptRA=true
DHCP=yes

[IPv6AcceptRA]
UseDNS=no

[DHCP]
#UseAddress=no
ClientIdentifier=duid-only
DUIDType=link-layer
DUIDRawData=00:01:34:53:d2:0d:xx:xx
IAID=1

/etc/systemd/network/20-lan.network

[Match]
Name=enp4s0f0

[Network]
IPv6PrefixDelegation=yes
IPForward=yes
IPv6SendRA=yes
IPv6AcceptRA=no
Address=192.168.X.10/24

[IPv6PrefixDelegation]
Managed=yes

J'ai 2 erreurs principales :
/etc/systemd/network/20-lan.network:6: Unknown lvalue 'IPv6SendRA' in section 'Network', ignoringet l'adresse mac de mon interface ne se change pas par celle de la box (toujours celle d'origine)

du coup a priori je ne récupère pas d'ipv6

sinon en ipv4 ça marche niquel après quelques murs

NetworkManager
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service

l'histoire du netdev pour réussir à récupérer un vlan qui fonctionne
Titre: ipv6 sur debian
Posté par: kgersen le 14 novembre 2023 à 23:55:37
effectivement c'est peut-etre ta version de systemd qui est ancienne. Je suis sur Archlinux et c'est la 254.
la doc officielle: https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html
indique la version qui a introduit un mot clé. Pour IPv6SendRA c'est  247

pour l'@ mac avec systemd il faut creer un .link : https://wiki.archlinux.org/title/MAC_address_spoofing#systemd.link
Titre: ipv6 sur debian
Posté par: kgersen le 15 novembre 2023 à 16:35:45
par curiosité tu peux tester voir si l'@ mac a besoin d'etre changé ou pas au niveau de l'interface ou si c'est juste le bon DUID a passer.

j'ai mis a jour https://github.com/kgersen/testdhcpv6pd pour pouvoir passer en parametre une @ mac.

sudo ./testdhcpv6pd -cid xx:xx:xx:xx:xx:xx enp4s0f1.100
voir si tu recois une réponse avec un prefix.

le binaire est dispo la: https://github.com/kgersen/testdhcpv6pd/releases/tag/v1.0.4 suivant ton os.

si tu ne veux pas sudo, tu peux juste donner les droits d'ouvrir un port <1024 (nécessaire pour écouter la réponse dhcpv6-pd):
sudo setcap  'cap_net_bind_service=+ep' ./testdhcpv6pd
Titre: ipv6 sur debian
Posté par: butler_fr le 16 novembre 2023 à 12:42:08
je test ça dès que j'ai un moment
Titre: ipv6 sur debian
Posté par: wobble le 29 janvier 2025 à 00:24:40
par curiosité tu peux tester voir si l'@ mac a besoin d'etre changé ou pas au niveau de l'interface ou si c'est juste le bon DUID a passer.

j'ai mis a jour https://github.com/kgersen/testdhcpv6pd pour pouvoir passer en parametre une @ mac.

sudo ./testdhcpv6pd -cid xx:xx:xx:xx:xx:xx enp4s0f1.100
voir si tu recois une réponse avec un prefix.

le binaire est dispo la: https://github.com/kgersen/testdhcpv6pd/releases/tag/v1.0.4 suivant ton os.

si tu ne veux pas sudo, tu peux juste donner les droits d'ouvrir un port <1024 (nécessaire pour écouter la réponse dhcpv6-pd):
sudo setcap  'cap_net_bind_service=+ep' ./testdhcpv6pd

Je te confirme qu'il n'est pas nécessaire de changer la MAC, seul le DUID compte. D'ailleurs, si j'ai bien compris, 00:01 c'est DUID-LLT ? Pourtant toutes les configurations que je vois sur le forum parlent de DUID-LL.

Par contre, la conf networkd donnée ne fonctionne pas telle quelle chez moi, tout d'abord ClientIdentifier ne semble plus s'appliquer à l'IPv6 :
Unknown key 'ClientIdentifier' in section [DHCPv6], ignoring.
Ensuite, pour recevoir une réponse "Advertise XID", il faut que je mette dans le .network :
[Match]
Name=enp2s0.100

[Network]
IPv6AcceptRA=true
DHCP=true

[IPv6AcceptRA]
UseDNS=false

[DHCPv6]
UseAddress=no
WithoutRA=solicit
DUIDType=link-layer-time
DUIDRawData=<La MAC, sans préfixe, le préfixe est généré en fonction de DUIDType>
IAID=1

Par contre, même si je vois une réponse du routeur Bouygues, je n'ai pas d'IPv6 sur mon interface, est-ce normal ?

Le Solicit doit être malformé, dans la réponse, il y a "Status Message: No prefixes have been assigned", chose que je n'ai pas quand je teste avec dhclient. Je reposterai plus tard si je réussis à tour faire fonctionner.
Les logs avec systemd-networkd en debug :
systemd-networkd[23869]: enp2s0.100: DHCPv6 client: Sent Solicit
systemd-networkd[23869]: enp2s0.100: DHCPv6 client: Next retransmission in 4s
systemd-networkd[23869]: enp2s0.100: DHCPv6 client: Received an IA option with non-zero status: No prefixes have been assigned: No prefix available
systemd-networkd[23869]: enp2s0.100: DHCPv6 client: Failed to parse IA_PD option, ignoring: Invalid argument
systemd-networkd[23869]: enp2s0.100: DHCPv6 client: No IA_PD prefix or IA_NA address received. Ignoring.
systemd-networkd[23869]: enp2s0.100: DHCPv6 client: Failed to process received Advertise message, ignoring: Invalid argument
Titre: ipv6 sur debian
Posté par: jeremyp3 le 29 janvier 2025 à 02:48:39
Par contre, même si je vois une réponse du routeur Bouygues, je n'ai pas d'IPv6 sur mon interface, est-ce normal ?

Oui. quand tu demande un PD (prefix delegation), bouygues t'assigne / route le prefix vers ton accès. après, à toi d'utiliser le prefix que tu veux dans le /56 délégué.
Généralement on prends le premier /64 du /56, mais ce n'est pas du tout obligatoire

par contre, pour les annonces RA, (qui apporte la gateway), de mon expérience, pour que ça fonctionne il faut mettre la mac de sa bbox sur l'interface réseau. en tout cas, tant que je l'avais pas fait, j'avais aucune configuration RA, alors que j'en recevais (vérifié avec tcpdump à l'époque).

voilà mon expérience
Titre: ipv6 sur debian
Posté par: wobble le 29 janvier 2025 à 03:47:13
Oui. quand tu demande un PD (prefix delegation), bouygues t'assigne / route le prefix vers ton accès. après, à toi d'utiliser le prefix que tu veux dans le /56 délégué.
Généralement on prends le premier /64 du /56, mais ce n'est pas du tout obligatoire
Je n'arrive pas à voir à quoi ressemble une configuration networkd pour faire ça, tu peux me donner un exemple ? J'imagine que l'idée n'est pas de mettre manuellement une IP fixe sur le WAN, si ?
Ou alors mon interface LAN va automatiquement prendre une IP du préfixe délégué et ça sera celle-ci qui sera utilisée pour contacter le routeur ?

Citer
par contre, pour les annonces RA, (qui apporte la gateway), de mon expérience, pour que ça fonctionne il faut mettre la mac de sa bbox sur l'interface réseau. en tout cas, tant que je l'avais pas fait, j'avais aucune configuration RA, alors que j'en recevais (vérifié avec tcpdump à l'époque).
voilà mon expérience

Merci, je fais tester ça et aussi l'ajout de PrefixDelegationHint qui semble être nécessaire si j'en crois les autres retours sur le forum.
Titre: ipv6 sur debian
Posté par: kgersen le 29 janvier 2025 à 11:10:08
Je te confirme qu'il n'est pas nécessaire de changer la MAC, seul le DUID compte. D'ailleurs, si j'ai bien compris, 00:01 c'est DUID-LL-T ? Pourtant toutes les configurations que je vois sur le forum parlent de DUID-LL.

Par contre, la conf networkd donnée ne fonctionne pas telle quelle chez moi, tout d'abord ClientIdentifier ne semble plus s'appliquer à l'IPv6 :
Unknown key 'ClientIdentifier' in section [DHCPv6], ignoring.

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).

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.
Titre: ipv6 sur debian
Posté par: wobble 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 (https://lafibre.info/remplacer-bbox/ipv6-bouygues/msg1013646/#msg1013646) et sur Mikrotik RouterOS (https://lafibre.info/remplacer-bbox/tuto-remplacement-bbox-fibre-par-mikrotik-ipv4-ipv6-et-tvreplay/). 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 (https://lafibre.info/remplacer-bbox/ipv6-bouygues/msg1013646/#msg1013646) et celui sur Ubiquiti (https://lafibre.info/remplacer-bbox/aide-pour-la-delegation-de-prefixe-ipv6/msg728587/#msg728587), 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 (https://github.com/kgersen/testdhcpv6pd/blob/bed752723e23e235c2d8edb9a3a96c5ec348cbad/main.go#L163). Est-ce que le routeur Bouygues accepterait les deux types de DUID ? Faut-il en préférer un ?

Titre: ipv6 sur debian
Posté par: kgersen 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.
Titre: ipv6 sur debian
Posté par: wobble 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.
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: wobble 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 ?
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: kgersen 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.
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: wobble 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/
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: kgersen 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) (https://datatracker.ietf.org/doc/html/rfc8415#section-11.1) 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.

Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: butler_fr 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.
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: butler_fr 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
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: butler_fr 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
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: wobble 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 !
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: butler_fr le 22 avril 2025 à 12:13:57
non chez moi ça ne marche pas malheuresement :-\
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: butler_fr le 22 avril 2025 à 14:28:59
je vais tester ce soir de rebrancher la bbox voir si je recupère un bloc avec elle
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: wobble le 22 avril 2025 à 18:24:40
Pardon j'ai lu trop vite le "pas plus de succès" en "j'ai du succès" !

Quand j'ai débranché la box, il a fallu attendre un certain temps, plus d'une heure il me semble, avant que le routeur réponde. testdhcpv6pd ne fonctionne toujours pas ? Est-ce qu'il a un jour fonctionné pour toi ?
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: butler_fr le 22 avril 2025 à 21:26:50
jamais fonctionné
je n'ai jamais réussi à avoir une IPv6 depuis que j'ai viré la bbox et je ne suis plus sur de si j'en avais une ou pas avec la bbox
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: kgersen le 23 avril 2025 à 10:56:19
ca 'devrait marcher' avec testdhcpv6pd au moins... Question basique mais tu ne bloques pas les ICMPv6 entrant par hasard ? t'es certain de l'@ mac ?

a priori a relire ce sujet, il faudrait aussi que l'interface utilise l'@mac de la bbox pour bien recevoir les RA ? (ca semble bizarre, wobble pourra confirmer/infirmer).

je commencerai par la donc: changer l'@ MAC wan de ton equipment en mettant celle de la bbox.
en principe ca suffit pour faire un DUID correct mais par précaution tu peux aussi forcer le DUID pour qu'il soit en LL.
ensuite test avec testdhcpv6pd, tant qu'il ne passe pas, pas la peine de chercher plus.

si ca passe et que tu obtiens bien un préfixe reste a voir ensuite si tu geres  bien la route par défaut (il faut accept_ra=2 (https://sysctl-explorer.net/net/ipv6/accept_ra/) sur l'interface wan)
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: butler_fr le 23 avril 2025 à 12:22:12
bingo kgersen

putain quand je pense au temps que j'y ai passé alors que c'était juste l'iptables pas ouvert
le boulet...

maintenant faut que je trouve la bonne règle pour autoriser ça sans me mettre à poil sur le net
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: butler_fr le 23 avril 2025 à 12:33:12
du coup a priori il faut ouvrir en udp sur le port 546 pour que ça marche
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: butler_fr le 23 avril 2025 à 12:36:08
Citer
avril 23 12:34:24 - systemd-networkd[531]: enp4s0f1.100: DHCP: received delegated prefix 2001:861:****::/60
avril 23 12:34:24 - systemd-networkd[531]: enp4s0f1.100: DHCP-PD address 2001:861:****/64 (valid for 1h 59min 59s, preferred for 1h 29min 59s)

reste plus qu'à le propager :)
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: kgersen le 23 avril 2025 à 12:44:42
du coup a priori il faut ouvrir en udp sur le port 546 pour que ça marche

oui et il faut aussi les ICMPv6  (toutes ou une selection) pour recevoir la route par défaut et gérer correctement les MTU.

ICMPv6 types a laisser passer:

   o  Destination Unreachable (Type 1) - All codes
   o  Packet Too Big (Type 2)
   o  Time Exceeded (Type 3) - Code 0 et 1
   o  Parameter Problem (Type 4) - all codes
   o  Router Solicitation (Type 133) --> Ca sort en principe
   o  Router Advertisement (Type 134) --> TRES IMPORTANT c'est la réponse pour obtenir la route par défaut
   o  Neighbor Solicitation (Type 135)
   o  Neighbor Advertisement (Type 136)
   o  Redirect (Type 137)
   o  Inverse Neighbor Discovery Solicitation (Type 141)
   o  Inverse Neighbor Discovery Advertisement (Type 142)

optionnel (pour ping/mtr):
   o  Echo Request (Type 128)
   o  Echo Response (Type 129)

cf https://datatracker.ietf.org/doc/html/rfc4890#section-4.3.1
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: wobble le 23 avril 2025 à 13:20:55
De mon côté, j'ai autorisé tout ICMPv6 en input, je trouve ça poli de répondre au ping :) Et je ne pense pas que des paquets ICMPv6 reçus puissent être très dangereux pour le routeur.
Voilà mes deux règles nft pour le DHCPv6 et l'ICMPv6 :
        iifname wan ip6 daddr fe80::/64 udp sport 547 udp dport 546 ct state new accept comment "DHCPv6"
        meta l4proto ipv6-icmp accept
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: butler_fr le 23 avril 2025 à 13:49:52
et bah clairement je me coucherais moins con ce soir  :)

merci pour toute les infos
et j'arrive à ping l'extérieur maintenant grâce à ça.
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: Paul le 23 avril 2025 à 13:57:46
a priori a relire ce sujet, il faudrait aussi que l'interface utilise l'@mac de la bbox pour bien recevoir les RA ? (ca semble bizarre, wobble pourra confirmer/infirmer).

je commencerai par la donc: changer l'@ MAC wan de ton equipment en mettant celle de la bbox.
en principe ca suffit pour faire un DUID correct mais par précaution tu peux aussi forcer le DUID pour qu'il soit en LL.

C'est plus propre d'imiter au maximum le routeur opérateur, mais pas besoin de clonage ni de DUID chez Bouygues.
Titre: Bbox remplacée par un serveur Debian: comment configurer IPv6 ?
Posté par: wobble le 23 avril 2025 à 13:58:53
Je confirme, j'ai obtenu un préfixe même quand j'avais oublié de cloner la MAC et de changer le DUID.