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

0 Membres et 4 Invités sur ce sujet

Jojolejobar

  • Abonné Orange Fibre
  • *
  • Messages: 18
  • Aix-en-Provence (13)
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1404 le: 25 septembre 2026 à 10:15:02 »
Hello si je comprends bien depuis la 25.12 on peut remplacer cela:

/etc/nftables.d/nft-prio6-rules.include
oifname "eth0.832" counter meta priority set 0:1
oifname "eth0.832" ip protocol icmp counter meta priority set 0:6
oifname "eth0.832" ip protocol igmp counter meta priority set 0:6
oifname "eth0.832" udp dport 67 counter meta priority set 0:6
oifname "eth0.832" udp dport 547 counter meta priority set 0:6
oifname "eth0.832" ip protocol icmpv6 counter meta priority set 0:6

/etc/config/firewall
config include 'orange_rules'
option enabled '1'
option type 'nftables'
option path '/etc/nftables.d/nft-prio6-rules.include'
option position 'chain-append'
option chain 'mangle_postrouting'

par

/etc/nftables.d/orange-prio.include
table netdev orange-rules
flush table netdev orange-rules

table netdev orange-rules {
        chain orange-rules-chain {
                type filter hook egress device "eth0" priority 0; policy accept;
                vlan id 832 ip6 udp dport 547 vlan pcp set 6 ip6 dscp set cs6 counter accept
                vlan id 832 ip6 icmpv6 type { echo-request, echo-reply, nd-neighbor-solicit, nd-neighbor-advert, nd-router-solicit } vlan pcp set 6 ip6 dscp set cs6 counter accept
                vlan id 832 ip6 ip6 dscp set cs0 counter accept
                vlan id 832 ip udp dport 67 vlan pcp set 6 ip dscp set cs6 counter accept
                vlan id 832 ip ip dscp set cs0 counter accept
                vlan id 832 arp vlan pcp set 6 counter accept
        }
}

/etc/config/firewall
config include 'orange_rules'
        option enabled '1'
        option type 'nftables'
        option path '/etc/nftables.d/orange-prio.include'
        option position 'ruleset-post'

Avec les options
option dscp '6'
        option skpriority '6'

sur le wan6 ?

unipo

  • Abonné Orange Fibre
  • *
  • Messages: 51
  • 32
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1405 le: 25 septembre 2026 à 22:28:51 »
@unipo :

Je pense que l'info d'authentification est générée puis envoyée par ubus à odhcp6c. Il semblerait que ton script de régénération ne soit pas appliqué.


Si tu suis l'ordre les scripts sont appelés:
1 Test de vie, si échoue => ifdown de l'interface, sleep pendant 3 secondes puis ifup
2 Si ifdown de wan4 => re-génération de la chaine d'auth (/etc/config/97-orange-config qui appelle /etc/config/orange-gen-auth.sh) (les 3s que dort le script de test de vie sont suffisante à la re-génération de la chaine)


@Jojolejobar

Oui, mais parcequ'on utilise "type filter hook egress device "eth0" priority 0; policy accept;", pense bien à installer kmod-nft-netdev
Pis un petit /etc/init.d/firewall reload suivit de nft list ruleset pour vérifier que les règles soient bien présentes et que le pare-feu ne soit pas planté au cas ou 👍

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 973
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1406 le: Hier à 05:57:57 »
@unipo :

Effectivement, j'avais mal compris les choses. Je n'aime pas tellement le procédé faisant appel à Hotplug car il me paraît sinueux
voire peu évident et source d'erreurs. La gestion entrecroisée des interfaces et la succession des up/down me paraît terrible.

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 973
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1407 le: Hier à 11:18:16 »
Est-ce que vous avez une méthode pour réaliser vos tests ?

Auparavant, je flashais l'image personnalisée sur la carte SD de mon routeur. Mais ce n'est pas efficace.
Je me suis mis à la virtualisation. J'essaye de fabriquer un laboratoire éphémère avec libvirt / KVM en
x86_64. Cela évite aussi de couper le réseau intempestivement.

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 973
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1408 le: Hier à 16:28:42 »
L'IA recommande de créer un emballage autour de udhcpc dans la définition du protocole.

#!/bin/sh

AUTH="$(generate-wan-authentication)" || exit 1

exec /sbin/udhcpc \
    "$@" \
    -x "90:${AUTH}"

Cela paraît plus logique car il s'agit d'un paramètre variable.

odhcp6c peut modifier son état avec un appel de procédure distant par ubus.

17:12 L'ennui c'est qu'il faut synchroniser les deux processus DHCP pour garantir qu'ils utilisent la même info d'authentification.
« Modifié: Hier à 17:14:00 par basilix »

unipo

  • Abonné Orange Fibre
  • *
  • Messages: 51
  • 32
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1409 le: Aujourd'hui à 10:42:43 »
@basilix
J'avais suivis le guide de chat_roux pour la gestion de la chaine d'authentification, et puisqu'on en parle, plus le temps passait plus la logique me dérangeait sur l'utilisation des hotplugs:
- Pourquoi ne régénérer  la chaine qu'en cas de ifdown de wan4 pour par la suite faire tomber wan6?
- Ça nous rend donc dépendant d'un second qui gère l'état de wan6 en fonction de wan4
- Je ne pense pas que de devoir établir wan4 en premier => attendre 3s => établir wan6 soit obligatoire, sur mes premières années sous openwrt j'avais les deux wan lancées au démarrage du routeur sans jamais avoir rencontré le moindre soucis. Et d'autant plus que levieuxatorange confirme bien que le réseau supporte tout autant ipv4-only, ipv6-only que dual-stack

Hier soir je me suis donc débarrassé des hotplugs, et je ne dépends plus que des test de vie, qui désormais appellent le script de  génération de chaine d'auth

Maintenant les options 11 & 90 sont regen au démarrage du routeur et si wan4 & wan6 sont en échec depuis plus de 150s

Est-ce que vous avez une méthode pour réaliser vos tests ?

Auparavant, je flashais l'image personnalisée sur la carte SD de mon routeur. Mais ce n'est pas efficace.
Je me suis mis à la virtualisation. J'essaye de fabriquer un laboratoire éphémère avec libvirt / KVM en
x86_64. Cela évite aussi de couper le réseau intempestivement.
Personnellement j'attends que tout le monde dorme à la maison pour faire mes essais  ;D
Et si je casse tout... Autant te dire que je dors peu, imagine bien le scandale si internet ne fonctionne pas au réveille !

L'IA recommande de créer un emballage autour de udhcpc dans la définition du protocole..
[...]
odhcp6c peut modifier son état avec un appel de procédure distant par ubus.

Même si je vois ou tu veux en venir, je ne sais pas si je suis un grand fan de cette solution, enlever la dépendance à hotplug pour maintenant en rajouter une à un wrapper autour de udhcpc & utiliser ubus pour odhcp6c....
Non pas que je soit faignant mais plutôt adepte de KISS.  ::)

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 973
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1410 le: Aujourd'hui à 11:28:20 »
@unipo :

Il faut être opérateur dans l'âme mais ce n'est pas forcément complexe.

On a deux solutions alternatives.

odhcp6c permet de modifier son état interne mais udhcpc ne le permet pas. @levieuxatorange recommande de renouveler l'info d'authentification à chaque cycle DHCP
et spécifie qu'elle doit être identique en DHCPv4 et DHCPv6. udhcpc et odhcp6c sont contrôlés par netifd.

UCI est une abstraction pour lancer les clients démons DHCP en ligne de commande avec leurs arguments. Lors d'une relance de udhcpc, on régénère l'info d'authentification.
La proposition de l'IA est simple en principe. udhcpc est lancé avec un argument dont la valeur diffère à chaque reprise. Mais c'est une tâche commune en informatique.

Pour la solution basée sur ubus, je ne connais pas les modalités. On a un processus qui génère l'info d'authentification puis la transfère à odhcp6c. Logiquement, cette
info n'est prise en compte que lorsque le processus envoie de nouveaux messages. Il faudrait voir exactement les messages. Dans odhcp6c, on a deux protocoles :
Token ... et RKAP. L'IA suggérait d'accéder au même fichier pour lire l'info d'authentification et rendre le processus atomique. Comment savoir si udhcpc ne lit pas une info.
d'authentification qui changerait momentanément après afin d'actualiser celle qui sera transmise à odhcp6c ?


Un processus externe génère l'info d'authentification de référence à intervalle convenable. Avant de générer l'événement, l'info est enregistrée dans un fichier. Ce fichier est
bloqué pendant la modif. Ensuite seulement, on génère un événement. Ainsi, les deux processus reçoivent la même info.

1. La connexion tombe.
2. L'info d'authentification est renouvelée.
3. On redémarre la connexion.
« Modifié: Aujourd'hui à 12:12:21 par basilix »

unipo

  • Abonné Orange Fibre
  • *
  • Messages: 51
  • 32
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1411 le: Aujourd'hui à 13:27:24 »
Imaginons...

La recommandation de levieuxatorange:

[...]
Concernant le CHAP challenge et idéalement le changer à chaque cycle complet DHCP quand on change le TransactionID DHCP4/6 (voir RFC)
[...]

Ça veut bien dire nouveau cycle complet DHCP = Génération d'une nouvelle AUTH. On parle pas de renew/rebind si?

Je pense donc qu'il faudrait se baser sur DORA/SARR = nouveau cycle donc nouvelle AUTH, et RENEWS = même cycle = on change rien, il me semble que le script d'init orange-auth + le script de test de vie font bien cela. J'ai du mal a saisir l'intérêt de passer par udhcp en lui passant un argument et Token/RKAP pour le même résultat final

Mais je me trompe peut-être sur l'interprétation de "cycle complet DHCP" et son rapport avec le Transaction ID.
« Modifié: Aujourd'hui à 13:59:38 par unipo »

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 973
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1412 le: Aujourd'hui à 14:17:44 »
Dans ma capture réseau, l'info. d'authentification ne change que lors d'un nouveau cycle DORA ou SARR.

Pour l'identifiant de transaction, c'est assez curieux. Il change à chaque nouveau message client en DHCPv6 tandis qu'en DHCPv4 il ne change que lors d'un nouveau cycle.

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 973
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1413 le: Aujourd'hui à 14:31:39 »
L'intérêt est d’homogénéiser le fonctionnement.

Une perte de connexion sur le réseau Orange produirait conformément un nouveau cycle. Dans tous les cas, l'information d'authentification
serait renouvelée.

C'est plus compliqué que ce je pensais.