Auteur Sujet: Remplacement de la Livebox par un routeur Openwrt  (Lu 363235 fois)

0 Membres et 2 Invités sur ce sujet

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 670
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1080 le: 26 février 2025 à 14:43:31 »
@fatpat : Je me suis trompé dans ma réflexion.

Citation de: cyayon
When you switch hardware (new router / ONU / ONT) you have to wait a few minutes with DISCONNECTED fiber link. DHCP IAID are dynamically generated by hardware equipments and Orange is waiting for a single IAID per client.
To force expiration, the only way is to disconnect fiber 15-30 minutes and wait… The issue is that you will NOT get DHCPv6 prefix (NoPrefixAvail) from Orange.

Si l'on attribue le même DUID alors le nouveau client pourrait générer automatiquement un IAID différent. Mais si le changement provient du réseau Orange et non pas du client, alors le contexte est différent.
De ce fait, il est compréhensible que le réseau Orange renvoie un message « NoPrefixAvail » car l'abonné ne se verrait attribuer qu'un seul préfixe délégué dans l'état « préférentiel ». Néanmoins, bien que
cela deviennent complexe, je pense que la méthode de débrancher la fibre ne soit pas la meilleure. Cela serait plutôt une bonne pratique que ce soit le protocole DHCP qui gère cela de façon transparente.

La question qui se serait posée aurait été :

Pourquoi le serveur DHCP ne renvoie t'il pas le préfixe auparavant alloué ?

Finalement, j'ai été confronté à de nombreuses reprises au problème de DUID, MAC & IAID lors de la substitution de la Livebox tel que mentionné par @cyayon dans son article.
C'est la seule explication car ma configuration fonctionnait un jour mais ne fonctionnait plus un autre jour, après rebranchement immédiat du routeur sans délai d'attente.

Je vois que l'IAID généré par la Livebox est composé des derniers chiffres de son adresse MAC. Il me semble que odhcp6c de OpenWrt génère son premier IAID avec le chiffre 0.

La bonne nouvelle est que l'on peut spécifier son IAID dans sa configuration. Ce n'est pas indiqué dans la documentation (c.f. Custom IAID in IA_PD/IA_NA requests).

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 670

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 670
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1082 le: 26 février 2025 à 15:48:19 »
Re : Je n'ai pas encore beaucoup d'expérience en C. En fait, strtoul est la bonne fonction.

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <arpa/inet.h>

int main (void) {
  char *str_iaid = "23f1ebd1";
  printf("%x\n", (uint32_t)strtoul(str_iaid, NULL, 16));
  return 0;
}


J'avais vérifié le résultat avec le mauvais code de conversion : lu (unsigned long).

73VW

  • Abonné Orange Fibre
  • *
  • Messages: 4
  • Paris 20ème (75)
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1083 le: 03 mars 2025 à 01:02:31 »
Bonsoir,

Savez-vous s'il existe un moyen de libérer le bail DHCPv4 afin de renouveler volontairement son IP publique avec udhcpc sous OpenWRT ?

J'ai essayé la commande udhcpc -i eth1.832 -n et je perds bien l'adresse IP, mais elle ne se renouvelle pas malgré un udhcpc -i eth1.832 et après reboot du routeur, l'ancienne IP revient malgré tout.

Si vous avez des idées, je suis preneur.

Cordialement.


renaud07

  • Abonné Orange adsl
  • *
  • Messages: 4 271
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1084 le: 03 mars 2025 à 01:41:49 »
Ça ne marche plus de cette manière. Il faut désormais aller dans l'espace client orange pour renouveler son IP.

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 670
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1085 le: 03 mars 2025 à 08:52:59 »
J'ai parcouru les informations sur la conformité protocolaire en diagonale. Je me suis aperçu que plusieurs infos m'avaient échappés.

Citer
Les messages DHCP4/6 supportés :
Se limiter aux messages

    IPv4 : DORA + RENEW / REBIND + RELEASE
    IPv6 : SARR + RENEW / REBIND + RELEASE

Respecter les cycle de vie définis dans les RFC idoines et relancer depuis le DORA / SARR en cas de perte de la connectivité montante (à tester avec ARP et ICMPv6 NS/NA) comme le fait la LiveBox
Si le fait que l'on ne donne pas de DNS en DHCP6 ne plait pas à votre stack, faire attention à ne pas flooder le réseau avec des DHCP6 INFORM ou autre.

Attention: l'option DHCPv6 "Rapid Commit" n'est PAS supportée.

Citation de: 73VW
J'ai essayé la commande : udhcpc -i eth1.832 -n

Il me semble qu'on peut piloter l'ensemble avec Ubus.

root@OpenWrt:~# ubus list network.interface.*
network.interface.lan
network.interface.loopback
network.interface.wan
network.interface.wan6


root@OpenWrt:~# ubus -v list network.interface.wan
'network.interface.wan' @f8bcc471
   "up":{}
   "down":{}
   "renew":{}
   "status":{}
   "prepare":{}
   "dump":{}
   "add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
   "remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
   "notify_proto":{}
   "remove":{}
   "set_data":{}


root@OpenWrt:~# ubus -v list network.interface.wan6
'network.interface.wan6' @771d1404
   "up":{}
   "down":{}
   "renew":{}
   "status":{}
   "prepare":{}
   "dump":{}
   "add_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
   "remove_device":{"name":"String","link-ext":"Boolean","vlan":"Array"}
   "notify_proto":{}
   "remove":{}
   "set_data":{}


root@OpenWrt:~# ubus list
[...]
hotplug.dhcp
hotplug.firmware
hotplug.ieee80211
hotplug.iface
hotplug.leds
hotplug.neigh
hotplug.net
[...]

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 670
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1086 le: 03 mars 2025 à 08:59:50 »
udhcp client scripts
-------------------

When an event occurs, udhcpc calls the action script. The script by
default is /usr/share/udhcpc/default.script but this can be changed via
the command line arguments. The three possible arguments to the script
are:

   deconfig: This argument is used when udhcpc starts, and
   when a leases is lost. The script should put the interface in an
   up, but deconfigured state, ie: ifconfig $interface 0.0.0.0.
   
   bound: This argument is used when udhcpc moves from an
   unbound, to a bound state. All of the paramaters are set in
   enviromental variables, The script should configure the interface,
   and set any other relavent parameters (default gateway, dns server,
   etc).
   
   renew: This argument is used when a DHCP lease is renewed. All of
   the paramaters are set in enviromental variables. This argument is
   used when the interface is already configured, so the IP address,
   will not change
, however, the other DHCP paramaters, such as the
   default gateway, subnet mask, and dns server may change.

   nak: This argument is used with udhcpc receives a NAK message.
   The script with the deconfig argument will be called directly
   afterwards, so no changes to the network interface are neccessary.
   This hook is provided for purely informational purposes (the
   message option may contain a reason for the NAK).

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 4 271
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1087 le: 07 mars 2025 à 18:15:41 »
P'tite question sur le mode hybride IPv6 dans les options DHCP : je pensais que ça combinait le mode serveur et relay mais à priori c'est:

-Relay only
-Hybride : relay OU server, mais pas les 2 en même temps

Et je ne sais pas si c'est à cause de ça, mais le préfixe ULA n'est plus annoncé... Y'aurait pas une option pour faire relais et annoncer le préfixe comme en mode serveur ? (rien trouvé de documenté en tout cas, et même l'option hybride n'est pas super bien expliquée)

Car c'est assez handicapant lorsque je veux mettre mon routeur 4G en backup, ça casse tout mon adressage en ULA (genre j'annonce mon DNS en ULA et il n'est plus accessible), heureusement qu'il me reste l'ipv4...

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 670
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1088 le: 07 mars 2025 à 19:05:48 »
@renaux07 :

Je ne comprends pas les choses. Il semblerait que le mode soit défini par l'interface maître.

config.c

avl_for_each_element_safe(&interfaces, i, avl, tmp) {
        if (i->inuse && i->ifflags & IFF_RUNNING) {
                /* Resolve hybrid mode */
                if (i->dhcpv6 == MODE_HYBRID)
                        i->dhcpv6 = (master && master->dhcpv6 == MODE_RELAY) ?
                                        MODE_RELAY : MODE_SERVER;

                if (i->ra == MODE_HYBRID)
                        i->ra = (master && master->ra == MODE_RELAY) ?
                                        MODE_RELAY : MODE_SERVER;

                if (i->ndp == MODE_HYBRID)
                        i->ndp = (master && master->ndp == MODE_RELAY) ?
                                        MODE_RELAY : MODE_DISABLED;

                reload_services(i);
                } else
                close_interface(i);
}


   /* Evaluate hybrid mode for master */
   avl_for_each_element(&interfaces, i, avl) {
      if (!i->master)
         continue;

      enum odhcpd_mode hybrid_mode = MODE_DISABLED;
#ifdef WITH_UBUS
      if (!ubus_has_prefix(i->name, i->ifname))
         hybrid_mode = MODE_RELAY;
#endif


Conclusion :

Si l'interface maître n'a pas de préfixe alors elle est en mode relais. C'est un OU exclusif.

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 4 271
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1089 le: 07 mars 2025 à 20:29:42 »
Merci pour la recherche, donc c'est bien ce qu'il me semblait, ça ne fait que serveur ou relais, impossible de combiner les deux à moins de modifier le code sans doute... Le seul truc qui marche, c'est l'annonce des DNS perso malgré le relais.

simon

  • Abonné Orange Fibre
  • *
  • Messages: 1 548
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1090 le: 11 mars 2025 à 09:54:19 »
Si c'est resté comme cela aussi longtemps, on peut penser que c'est bel et bien intentionnel pour segmenter les offres...
Dans ce cas, je me demande juste pourquoi la livebox répond positivement à une seconde requête de délégation.

Orange gagnerait certainement à communiquer sur le sujet, c'est sûr. Mais de manière générale, j'ai l'impression que pour des usages plus avancés, ils sont de moins en moins opposés à l'utilisation d'un routeur tiers (c.f. les interventions de LeVieux sur ce forum).

simon

  • Abonné Orange Fibre
  • *
  • Messages: 1 548
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1091 le: 11 mars 2025 à 09:58:56 »
Si tu obtiens tous les /64, tu as bien un /56 routé en intégralité.
Si tu configures odhcpd pour distribuer des préfixes dans le /56, ca ne marche pas? Il faudra peut-être scripter pour reconfigurer ce /56 en cas de changement de préfixes délégués par la livebox.

J'aime l'ingéniosité, mais ca fait quand même bricole :)