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

0 Membres et 1 Invité sur ce sujet

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 611
  • bzh
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

kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 534
  • Paris (75)
ipv6 sur debian
« Réponse #1 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)




kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 534
  • Paris (75)
ipv6 sur debian
« Réponse #2 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>

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 611
  • bzh
ipv6 sur debian
« Réponse #3 le: 07 novembre 2023 à 22:20:57 »
et un tuto sur mesure!
je vais tester tout ça!
merci beaucoup :)

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 611
  • bzh
ipv6 sur debian
« Réponse #4 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

kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 534
  • Paris (75)
ipv6 sur debian
« Réponse #5 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
« Modifié: 15 novembre 2023 à 14:02:01 par kgersen »

kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 534
  • Paris (75)
ipv6 sur debian
« Réponse #6 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

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 611
  • bzh
ipv6 sur debian
« Réponse #7 le: 16 novembre 2023 à 12:42:08 »
je test ça dès que j'ai un moment

wobble

  • Abonné Bbox fibre
  • *
  • Messages: 172
  • XGS-PON Bougyues / Rhône (69)
ipv6 sur debian
« Réponse #8 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
« Modifié: 29 janvier 2025 à 13:12:19 par wobble »

jeremyp3

  • Abonné Orange Fibre
  • *
  • Messages: 773
  • Pau (64)
ipv6 sur debian
« Réponse #9 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

wobble

  • Abonné Bbox fibre
  • *
  • Messages: 172
  • XGS-PON Bougyues / Rhône (69)
ipv6 sur debian
« Réponse #10 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.

kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 534
  • Paris (75)
ipv6 sur debian
« Réponse #11 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.