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

0 Membres et 2 Invités sur ce sujet

Kana-chan

  • Abonné Orange Fibre
  • *
  • Messages: 557
  • Antibes (06)
Remplacement de la Livebox par un routeur Openwrt
« Réponse #804 le: 11 février 2023 à 23:20:28 »
#!/bin/sh

if [ "${ACTION}" == "add" ] && [ "${DEVICENAME}" == "eth0.832" ]; then
  /etc/config/tc.sh eth0.832
fi

C'est du sh ... et dans sh "==" est un alias de "=" et && un raccourci entre deux tests mais n'est pas un vrai test avec un vrai "and".
Normalement votre bout de code doit s'écrire :
#!/bin/sh

if [ "${ACTION}" = "add" -a "${DEVICENAME}" = "eth0.832" ]; then
  /etc/config/tc.sh eth0.832
fi

My 2 cents ...

Electrocut

  • Abonné Orange Fibre
  • *
  • Messages: 512
  • Pont-Péan (35)
Remplacement de la Livebox par un routeur Openwrt
« Réponse #805 le: 12 février 2023 à 00:09:01 »
Il y a plusieurs moyen de vérifier si les rules sont chargées :
Exemple (en page 1) :
nft list ruleset | grep "set 0:"

Et tu avais bien "include" dans la configuration 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'

Merci pour ta réponse :)

Je viens de refaire la manip pour vérifier.
Le fichier de config /etc/config/firewall est bien renseigné comme tel.

Comportement immédiatement après le démarrage :

root@OpenWrt:~# nft list ruleset | grep "set 0:"
                oifname "eth1.832" counter packets 137 bytes 9421 meta priority set 0:1
                oifname "eth1.832" ip protocol icmp counter packets 14 bytes 840 meta priority set 0:6
                oifname "eth1.832" ip protocol igmp counter packets 0 bytes 0 meta priority set 0:6
                oifname "eth1.832" udp dport 67 counter packets 0 bytes 0 meta priority set 0:6
                oifname "eth1.832" udp dport 547 counter packets 0 bytes 0 meta priority set 0:6
                oifname "eth1.832" ip protocol ipv6-icmp counter packets 0 bytes 0 meta priority set 0:6

Mais malgré ça :
  • Flag 802.1Q "PRI: 6" sur tous les paquets sortants :(
  • Débit 5 Mbps en upload.

J'ai donc rebasculé sur la solution /etc/config/tc.sh, même si elle nécessite des paquets supplémentaires (ce qui risque de compliquer un peu les futures MAJ  le jour où le Cos 6 deviendra obligatoire sur ma connexion ... puisque sans accès WAN il faudra que je télécharge les ipk à la main à l'aide d'une connexion Internet de backup ;D)

Je viens de lui associer le script /etc/hotplug.d/net/10-tc de @Aize147 retouché par @Kana-chan :

C'est du sh ... et dans sh "==" est un alias de "=" et && un raccourci entre deux tests mais n'est pas un vrai test avec un vrai "and".
Normalement votre bout de code doit s'écrire :
#!/bin/sh

if [ "${ACTION}" = "add" -a "${DEVICENAME}" = "eth0.832" ]; then
  /etc/config/tc.sh eth0.832
fi

Tout fonctionne dorénavant parfaitement ! 8)
  • Au démarrage : PRI:6 + DSCP:CS6 sur les paquets DHCP/ARP ... les autres en priorité 0
  • Toujours OK après un /etc/init.d/network restart
  • Upload @300 Mbps

Un grand merci !
« Modifié: 12 février 2023 à 00:34:43 par Electrocut »

Fibroberto

  • Abonné Orange Fibre
  • *
  • Messages: 17
  • 06110
Remplacement de la Livebox par un routeur Openwrt
« Réponse #806 le: 12 février 2023 à 08:40:28 »
C'est du sh ... et dans sh "==" est un alias de "=" et && un raccourci entre deux tests mais n'est pas un vrai test avec un vrai "and".

Oh purée merci beaucoup. Effectivement j'ai été perturbé par le fait je fais quelquefois plutôt du bash (avec les [[ ) et le fait que dans d'autres langages = à la place de == ça marche moins bien :)
Comme Electrocut, j'ai mis à jour !

Kana-chan

  • Abonné Orange Fibre
  • *
  • Messages: 557
  • Antibes (06)
Remplacement de la Livebox par un routeur Openwrt
« Réponse #807 le: 12 février 2023 à 10:53:56 »
Je dirai même que si vous avez qu'une seule ligne dans votre partie then et rien dans else alors votre code peut se résumer à cela :
#!/bin/sh

[ "${ACTION}" = "add" -a "${DEVICENAME}" = "eth0.832" ] && /etc/config/tc.sh eth0.832
Mais cela dépend des versions de sh, de mémoire.
En sh, le "&&" veut dire "then" et le "||" veux dire "else" !
Comme si vous tapez sur une  ligne de commande :
[ "$test" = "test" ] && echo "OK" || echo "KO"
Si $test = test alors cela affiche OK sinon KO.

ubune

  • Abonné Orange Fibre
  • *
  • Messages: 317
Remplacement de la Livebox par un routeur Openwrt
« Réponse #808 le: 12 février 2023 à 11:13:42 »
Merci pour ta réponse :)

Je viens de refaire la manip pour vérifier.
Le fichier de config /etc/config/firewall est bien renseigné comme tel.

Comportement immédiatement après le démarrage :

root@OpenWrt:~# nft list ruleset | grep "set 0:"
                oifname "eth1.832" counter packets 137 bytes 9421 meta priority set 0:1
                oifname "eth1.832" ip protocol icmp counter packets 14 bytes 840 meta priority set 0:6
                oifname "eth1.832" ip protocol igmp counter packets 0 bytes 0 meta priority set 0:6
                oifname "eth1.832" udp dport 67 counter packets 0 bytes 0 meta priority set 0:6
                oifname "eth1.832" udp dport 547 counter packets 0 bytes 0 meta priority set 0:6
                oifname "eth1.832" ip protocol ipv6-icmp counter packets 0 bytes 0 meta priority set 0:6

Mais malgré ça :
  • Flag 802.1Q "PRI: 6" sur tous les paquets sortants :(
  • Débit 5 Mbps en upload.

Dernier point car il n'y a pas de raison que ça ne fonctionne pas chez toi mais chez tous les autres.

Tu avais bien ces trois lignes egress dans ton fichier network (ton eth1.832) ?
config device
option name 'eth1.832'
option type '8021q'
option ifname 'eth1'
option vid '832'
        list egress_qos_mapping '1:0'
        list egress_qos_mapping '0:6'
        list egress_qos_mapping '6:6'

Electrocut

  • Abonné Orange Fibre
  • *
  • Messages: 512
  • Pont-Péan (35)
Remplacement de la Livebox par un routeur Openwrt
« Réponse #809 le: 12 février 2023 à 11:26:52 »
Elles y étaient bien (sinon les paquets seraient sortis en priorité 0 et non en priorité 6).

Dans /etc/network/firewall, j'ai config flow_offloading '1' et config flow_offloading_hw '1' (pour une meilleure performance de routage sur mon TP-Link Archer C7).

Ça pourrait peut-être expliquer que les règles nftables mangle_postrouting ne fonctionnent pas, bien qu'elles soient actives ?

Aize147

  • Abonné Orange Fibre
  • *
  • Messages: 985
  • Orange FTTH 2G/800M - Free FTTH 8G/700M
Remplacement de la Livebox par un routeur Openwrt
« Réponse #810 le: 12 février 2023 à 16:54:48 »
J'ai donc rebasculé sur la solution /etc/config/tc.sh, même si elle nécessite des paquets supplémentaires (ce qui risque de compliquer un peu les futures MAJ  le jour où le Cos 6 deviendra obligatoire sur ma connexion ... puisque sans accès WAN il faudra que je télécharge les ipk à la main à l'aide d'une connexion Internet de backup ;D)

Pas besoin, tu peux utiliser https://firmware-selector.openwrt.org/ pour créer une image avec les paquets déjà inclus.

Il faut juste ajouter dans la liste les 3 paquets nécessaire, à savoir tc-tiny | kmod-sched | kmod-sched-prio. Cela va d'ailleurs télécharger automatiquement les dépendances et ainsi compiler l'image.


Electrocut

  • Abonné Orange Fibre
  • *
  • Messages: 512
  • Pont-Péan (35)
Remplacement de la Livebox par un routeur Openwrt
« Réponse #811 le: 12 février 2023 à 18:11:27 »
Merci pour l'astuce, je ne savais pas que c'était possible  8)

ubune

  • Abonné Orange Fibre
  • *
  • Messages: 317
Remplacement de la Livebox par un routeur Openwrt
« Réponse #812 le: 12 février 2023 à 21:26:23 »
Merci pour l'astuce, je ne savais pas que c'était possible  8)

Et encore + sympa, utiliser l'image builder directement !
L'avantage c'est que tu peux te preinstaller les packages, mais même le /etc avec ta config.

Exemple ce lien pour dl l'image builder correspondant à ton ath79, il contiendra tous les profil pour tous les device avec ce soc.
https://downloads.openwrt.org/releases/22.03.3/targets/ath79/generic/openwrt-imagebuilder-22.03.3-ath79-generic.Linux-x86_64.tar.xz

Petite astuce pour générer une image en quelques secondes (encore + fun si tu as déjà un routeur openwrt fonctionnel !)

Voici ma conf pour générer l'image (exemple en x86) !

cd openwrt-imagebuilder-22.03.3-x86-64.Linux-x86_64/
mkdir -p files/etc/
scp root@192.168.229.1:/etc/* files/etc/
FILES="files"
make image PROFILE="generic" PACKAGES="htop luci-ssl luci-app-sqm tcpdump nano iperf3 luci-app-wireguard prometheus-node-exporter-lua prometheus-node-exporter-lua-nat_traffic prometheus-node-exporter-lua-netstat prometheus-node-exporter-lua-openwrt" FILES="files"

Dans ton cas,
tu remplaces :
openwrt-imagebuilder-22.03.3-x86-64.Linux-x86_64par : nom du rep dezippé de ton imagebuilder pour soc ath79 téléchargé via le lien
scp root@192.168.229.1:/etc/* files/etc/
Tu remplaces 192.168.229.1 par l'ip de ton routeur qui tourne actuellement. # En gros ici on copie tout le /etc du routeur fonctionnel vers le /etc qui ira dans l'img à build
image PROFILE="generic"Tu remplaces "generic" par le profil correspondant à ton routeur, (l'image builder contiendra de base tous les profil pour soc ath79).

Et ensuite tu personnalises les packages par rapport à tes besoins.

Et la tu obtiens carrément un .img qui peut s'installer sur tous TP-Link Archer C7 et qui contient directement toute la configuration et les packages que tu as choisi ;).
L'avantage c'est que du coup tu peux juste envoyer un .img à quelqu'un qui n'ira pas trop bidouiller et hop openwrt installé avec la bonne conf.
Pour x86 c'est top aussi, ça permet d'ecrire l'img directement sur un ssd et au premier boot tout fonctionnera !

Et donc bien entendu, si vous n'avez pas encore de routeur openwrt fonctionnel, rien ne vous empêche de prendre le /etc du github, le personnaliser et l'inclure dans l'img ;).
« Modifié: 12 février 2023 à 22:16:54 par ubune »

Electrocut

  • Abonné Orange Fibre
  • *
  • Messages: 512
  • Pont-Péan (35)
Remplacement de la Livebox par un routeur Openwrt
« Réponse #813 le: 13 février 2023 à 09:37:13 »
Merci pour ces précieux conseils ;)

ochbob

  • Abonné Orange Fibre
  • *
  • Messages: 231
  • Beauzelle (31)
Remplacement de la Livebox par un routeur Openwrt
« Réponse #814 le: 13 février 2023 à 13:41:58 »
Je valide, merci Ubune !

Drakal

  • Abonné Orange Fibre
  • *
  • Messages: 21
Remplacement de la Livebox par un routeur Openwrt
« Réponse #815 le: 13 février 2023 à 20:24:28 »
Bonjour, je possède actuellement un ASUS RT-AC88U sous DDWRT, une veille version car le tuto n'est pas à jour pour les version récentes et cela ne fonctionne plus, j'ai donc envie de passer sous OpenWRT.

Quelqu'un a déjà essayé avec ce routeur et pourrait me confirmer que tout roule en suivant le tuto à la lettre ?

Merci ! :)