Le DUID (Identifiant unique de client DHCP) est un identifiant utilisé en IPv6, unique à chaque client, qui sert à identifier le client et le serveur lors d'une négociation DHCP. La modification du DUID n'est pas une opération courante, car il y a peu de scénarios où cela est absolument nécessaire.
Cependant, il y a des cas où une modification du DUID peut être requise. Par exemple, un besoin de mettre en cohérence l'adresse MAC utilisée par le client DHCP IPv4 et le DUID utilisé par le client DHCP IPv6 en préparation du durcissement du contrôle de l'option 90/11 et de la conformité protocolaire en cours de déploiement chez Orange. Ajouter manuellement l'option '1' avec un DUID modifié ne fonctionnera pas parce que malgré que le DUID modifié sera bien envoyé, routerOS va ignorer la réponse du serveur DHCP.
Il existe plusieurs types de DUID. Celui utilisé par RouterOS et Orange est le type 3, DUID basé sur l'adresse de couche de liaison (DUID-LL). Le DUID a la forme : 000300010 + [adresse MAC interface], par exemple : 00030001085531a59c27. Pour plus d'informations, vous pouvez consulter la RFC3315 :
https://www.ietf.org/rfc/rfc3315.txt.Dans RouterOS, le DUID est généré lors de la première utilisation du client DHCP IPv6 à partir de l'adresse MAC de l'interface utilisée. Ensuite, toute modification est impossible en console ou GUI. Il y a
deux trois possibilités (la troisièmme ne semble pas fonctionner pour tout le monde) pour modifier ce DUID:
1- La première consiste à réinitialiser le routeur et à modifier l'adresse MAC de l'interface avant toute utilisation du client DHCP IPv6 : /interface ethernet set yourport mac-address=xx:xx:xx:xx:xx:xx
ou, pour un bridge :
/interface bridge set yourbridge admin-mac=11:22:33:DD:EE:FF auto-mac=no
2- Il y a une autre méthode, plus rapide mais avec un peu plus de risque en cas d'erreur dans la manipulation : Tout d'abord, effectuez une sauvegarde de la configuration :
/file
/system/backup/save dont-encrypt=yes name=nomdelasauvegarde
Transférez cette sauvegarde sur un PC avec un éditeur hexadécimale. J'utilise Linux avec GHex, mais il existe de nombreuses alternatives pour tous les systèmes d'exploitation.
Dans l'éditeur HEX, recherchez l'ancien DUID et remplacez-le par le nouveau DUID. Pour que la valeur soit valide, elle doit respecter la structure 000300010 + [adresse MAC interface]. Dans mon cas, le DUID était en position 0x22E36
Il ne reste qu'à copier ce fichier modifié dans routerOS et en faire un 'RESTORE'.
Après un reboot, le client dhcp6 doit désormais utiliser le nouveau DUID
3- Méthode 'Use Interface DUID' (testé avec succès par @Lucy-Han @PackTu @cyayon/ testé sans succès par @GnuByte): 'Use Interface DUID' dans le dhcp-client permet d'utiliser l'adresse MAC de l'interface, sans avoir besoin de modifier le DUID par défaut.