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

0 Membres et 7 Invités sur ce sujet

bigboo

  • Abonné Orange Fibre
  • *
  • Messages: 40
  • Bordeaux 33
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1320 le: Hier à 19:49:23 »
Bon j'ai passé pas mal de temps à optimiser la configuration de la version Openwrt 25.12 pour mettre à jour le tuto de ubune du premier post.

1. Dans /etc/network :
On rajoute à l'interface wan6 les marquages dscp et skprio de la nouvelle version odhc6c, ce qui permet de tagguer directement le dhcpv6 et les icmpv6 en priorité 6:
config interface 'wan6'
(...)
option dscp '6'
option skpriority '6'

Pour le device wan.832 on simplifie avec un seul egress 6:6, pour tout le reste c'est 0:0 par defaut pas besoin de le préciser.
config device
option name 'wan.832'
option type '8021q'
option ifname 'wan'
option vid '832'
option macaddr '*****'
list egress_qos_mapping '6:6'


2. kmod-nft-netdev
Ensuite on installe le paquet kmod-nft-netdev dans un terminal ou dans luci (je ne suis pas sûr que ce soit nécessaire, j'avais l'impression que la table marchait même sans ca, à confirmer)
apk add kmod-nft-netdev

3. Dans /etc/config/firewall
On va configurer la table netdev (il faut complètement remplacer celle de ubune du premier post), qui sera placée après la table fw4 (uniquement ip/ip6) de Openwrt:
config include 'orange-prio'
option enabled '1'
option type 'nftables'
option path '/etc/nftables.d/orange-prio.include'
option position 'ruleset-post'


4. /etc/nftables.d/orange-prio.include
Enfin on crée le fichier /etc/nftables.d/orange-prio.include qui contient la table netdev, elle est conçue pour traiter les flux les plus importants d'abord, pour minimiser la charge cpu (pas d'accélération hardware du firewall sur la table netdev). Elle sera relancée automatiquement à chaque redémarrage du firewall. Elle nettoie tout le flux ip en dscp 0 pour éviter le bridage à 5mbit/s (facultatif mais au moins on est tranquille) et gère le dhcpv4 en pcp 6. (table conçue sur les conseils de Google Gemini Pro :P )
table netdev orange-rules
flush table netdev orange-rules

table netdev orange-rules {
chain orange-rules-chain {
type filter hook egress device "wan" priority 0; policy accept;
vlan type ip6 ip6 dscp set cs0 counter accept # paquets ip6 nettoyés en cs0 pour éviter le bridage orange, accept permet de ne pas retraiter ce flux ensuite
vlan type ip ip dscp set cs0 counter # paquets ip4 nettoyés en cs0 pour éviter le bridage orange
vlan type ip udp dport 67 vlan pcp set 6 ip dscp set cs6 counter accept # flux infime pour la connexion DHCPv4
vlan type arp vlan pcp set 6 counter accept # flux infime pour la connexion DHCPv4
}
}


5. Pour tester tout ca on retourne dans le terminal et on relance le network, on redémarre le firewall et on regarde les compteurs de la table

service network restart
/etc/init.d/firewall reload
nft list ruleset
Chez moi ça fonctionne nickel et j'ai vraiment l'impression que ça a réduit la latence!  8)

EDIT: règles simplifiées, j'hésite encore à inverser les règles 2 et 3 et ajouter accept pour la meilleure performance possible.
« Modifié: Aujourd'hui à 12:09:26 par bigboo »

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 895
    • Mon dépôt GitHub
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1321 le: Aujourd'hui à 09:26:11 »
@bigboo :

La moindre erreur dans un fichier de configuration inclus peut casser firewall4. C'est très dangereux lorsque cela passe inaperçu.

Il faut une connaissance approfondie pour réduire les risques d'erreur, au moins contrôler que les règles sont bien appliquées,
pour éviter une catastrophe.

Je n'ai pas le temps de réaliser des tests pour signaler ce bogue à OpenWrt.


bigboo

  • Abonné Orange Fibre
  • *
  • Messages: 40
  • Bordeaux 33
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1322 le: Aujourd'hui à 10:18:11 »
@basilix Je ne comprends pas de quel bug tu parles ?

Si tu as une message d'erreur en tapant /etc/init.d/firewall reload tu sauras si le fw4 a bien redémarré ou pas, donc aucun risque que ca passe inaperçu. Par contre quand il ne dit rien c'est que tout est bon. Quel message t'affiche-t-il ?

Et si en tapant nft list ruleset tu vois les règles et les compteurs bouger c'est que ca fonctionne

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 895
    • Mon dépôt GitHub
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1323 le: Aujourd'hui à 11:01:50 »
Il s'avère que l'importation d'un fichier dans firewall4 est pratique mais fragile. On peut casser son pare-feu sans le détecter et plus facilement qu'on ne le pense.

bigboo

  • Abonné Orange Fibre
  • *
  • Messages: 40
  • Bordeaux 33
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1324 le: Aujourd'hui à 11:12:11 »
@basilix, ok mais comme je l'ai indiqué précédemment il y a des commandes pour vérifier donc on peut bien détecter les problèmes.

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 895
    • Mon dépôt GitHub
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1325 le: Aujourd'hui à 11:36:24 »
Voici ce qu'on m'a répondu.

Citer
The firewall is a rather complex piece of software, it's very easy to get that wrong. The defaults using fw4 (the abstracted zone based rule sets) are secure and work for the vast majority of use cases - and the rules can be extended as needed. If you diverge from this, or completely forego this in favor of your own nftables based rules, you need to be aware what you're doing. Failure cases range from the device being inaccessible, 'internet not working', gaping security issues or even subtle issues of any kind. It's very easy to get it wrong, easier than getting it right.

OpenWrt allows you to do 'anything', but the more you diverge from 'normal' operations, the more you need to take the responsibility for your actions.

Des problèmes peuvent apparaître et cela peut surprendre ou passer inaperçu. Si mon propos ne convaincs pas, je vais en rester là. Je suis affairé.

bigboo

  • Abonné Orange Fibre
  • *
  • Messages: 40
  • Bordeaux 33
Remplacement de la Livebox par un routeur Openwrt
« Réponse #1326 le: Aujourd'hui à 11:52:17 »
@basilix

1. Tu as parfaitement raison, il faut faire attention.

2. Il y a des commandes pour vérifier que tout fonctionne, je ne les ai pas sorties du chapeau mais de https://openwrt.org/docs/guide-user/firewall/firewall_configuration
Je confirme que la moindre erreur empêche le chargement de fw4, cependant quand on le relance via le terminal il indique bien où se situe l'erreur et on peut donc la corriger puis le relancer ensuite jusqu'à ce qu'il ne dise plus rien et que tout fonctionne.

3. On va en rester là oui, je partage juste des connaissances issues de mes tests, si tu ne veux pas t'en servir parce que tu as peur de faire une erreur c'est ton droit le plus strict.