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

0 Membres et 1 Invité sur ce sujet

ubune

  • Abonné Orange Fibre
  • *
  • Messages: 317
Remplacement de la Livebox par un routeur Openwrt
« Réponse #660 le: 04 décembre 2022 à 09:48:54 »
J'ai un souci que je n'arrive pas à cerner sur ma VM OpenWRT (sur NUC N5105). J'ai aucun package custo installé, c'est quasi 100 % le tuto. J'ai juste un Adguard en upstream hosté sur un container LXC.

Il est dans une VM virtualisée sur Proxmox et de manière aléatoire, après 24 à 72 heures, la VM ne répond plus et CPU passe à 100% sur proxmox.
J'ai essayé de rebooter une fois par jour la nuit, pas de différence. J'ai regardé si ça correspondait à une expiration de bail DHCP Orange, pas de rapport non plus.
J'ai extrait les logs avec rsyslog sur mon NAS, j'ai essayé de faire des top réguliers ou juste avant que ça pète, tout est à 0. Rien dans le journal ou le dmesg du OpenWRT avant que ça crash.

Je ne suis pas sûr que ça soit le CPU de la VM elle-même mais ça pourrait être aussi un problème d'IO sur la VM, ça fait aussi 100 % si je simule des IO via stress sur la VM OpenWRT. Pas de prob de température sur le NUC lui-même. Juste un doute sur le M2 qui indique des erreurs dans smartd mais visiblement c'est "courant".
J'ai cherché plein de trucs. J'ai vu qu'il y avait un bug dans dnsmasq qui pouvait le faire monter à 100 % de CPU si pas de réponse de l'upstream. J'ai mis exprès une version plus récente et non, ça ne semble pas venir de ça non plus...

Dès que l'OpenWRT part en sucette, tout le réseau tombe. Le seul workaround que j'ai, c'est de monitorer le CPU de la VM sur Proxmox via l'API et de stop/start la VM dès que le CPU > 80 %. La VM et Internet remontent en 30 secondes.

J'ai un autre container LXC qui n'a aucun problème et le Proxmox lui-même est bien stable. Juste cette VM OpenWRT qui déconnne périodiquement. :-/

Si jamais ça parle à quelqu'un...

Vraiment curieux comme problème, personnellement j'ai du X86 Esxi avec vm openwrt qui tourne impec depuis un moment.

ubune

  • Abonné Orange Fibre
  • *
  • Messages: 317
Remplacement de la Livebox par un routeur Openwrt
« Réponse #661 le: 04 décembre 2022 à 10:26:21 »
J'ai maj le tuto pour ajouter la partie TV (22.03) + explication.
Le github est à jour également avec au choix : 22.03 Internet uniquement ou 22.03 Internet + TV.

Aize147

  • Abonné Orange Fibre
  • *
  • Messages: 985
  • Orange FTTH 2G/800M - Free FTTH 8G/700M
Remplacement de la Livebox par un routeur Openwrt
« Réponse #662 le: 04 décembre 2022 à 12:56:41 »
Hello,
Sip est un protocole applicatif, ça passe dans NFT donc il suffirait de faire une règle comme celle presente dans le tuto.

Exemple : oifname "eth0.832" udp dport 3060 counter meta priority set 0:5
Attention également, ne pas confondre priorité L2 (cos) et L3 (dscp)**.
Chez Orange par exemple, seul la priorité L2 est requise, pourtant par défaut la livebox modifie également le dscp.

A+

**Ça je l'ai compris au moment où j'ai refais une capture sans le tag du VLAN dans l'option -i de tcpdump.

Par contre la règle nftables que tu indiques pour l'exemple du SIP ne modifiera pas la priorité, si ? J'ai cru comprendre que seul le réglage du egress mapping dans le VLAN faisait ça.

Est ce que tu penses qu'un tel SoC pourra gérer cette manipulation : https://www.mediatek.com/products/home-networking/mediatek-filogic-830

ubune

  • Abonné Orange Fibre
  • *
  • Messages: 317
Remplacement de la Livebox par un routeur Openwrt
« Réponse #663 le: 06 décembre 2022 à 07:10:26 »
**Ça je l'ai compris au moment où j'ai refais une capture sans le tag du VLAN dans l'option -i de tcpdump.

Par contre la règle nftables que tu indiques pour l'exemple du SIP ne modifiera pas la priorité, si ? J'ai cru comprendre que seul le réglage du egress mapping dans le VLAN faisait ça.

Est ce que tu penses qu'un tel SoC pourra gérer cette manipulation : https://www.mediatek.com/products/home-networking/mediatek-filogic-830

Pour résumer,
on mappe en prio 6 sur l'egress de l'interface, car ici ça va agir sur tous les flux (même le dhcp).
On se sert de NFTtables pour remettre des priorités cohérente, lui agit sur tous les flux SAUF la première requete dhcp. (ça passe bien par nft en renew, cf screenshot).
Donc si, la règle UDP port 3060 fonctionnera, tu peux tester facilement et vérifier avec un tcpdump.

En faite la règle dport67 est necessaire, mais seulement pour le renew ! qui lui passe bien par fw3/fw4.

cf screenshot

simon

  • Abonné Orange Fibre
  • *
  • Messages: 935
Remplacement de la Livebox par un routeur Openwrt
« Réponse #664 le: 06 décembre 2022 à 08:29:14 »
config device
option name 'eth0.832'
option type '8021q'
option ifname 'eth0'
option vid '832'
        list egress_qos_mapping '0:0'
        list egress_qos_mapping '2:2'       
        list egress_qos_mapping '3:3'                                                                                                                   
        list egress_qos_mapping '4:4'
        list egress_qos_mapping '5:5'
        list egress_qos_mapping '6:6'
        list egress_qos_mapping '7:7'
        list egress_qos_mapping '1:0'
        list egress_qos_mapping '0:6'

Tu as deux entrees list egress_qos_mapping '0: (1ere et dernière ligne), c'est volontaire ?

FYI à mon sens, mettre icmpv4 en CoS 6 n'est pas utile (icmpv4 n'est pas utilisé pour la comm avec le BNG).
C'est même potentiellement déléraire, car faire passer imcpv4 dans la CoS 6 va potentiellement compter dans le rate limiting de CoS 6 fait par l'OLT/BNG (et diminuer la capacité du BNG de filtrer le traffic en fonction des priorités).

Fuli10

  • Abonné Free fibre
  • *
  • Messages: 1 006
  • Conflans Sainte Honorine (78)
Remplacement de la Livebox par un routeur Openwrt
« Réponse #665 le: 06 décembre 2022 à 10:11:59 »
Tu as deux entrees list egress_qos_mapping '0: (1ere et dernière ligne), c'est volontaire ?

FYI à mon sens, mettre icmpv4 en CoS 6 n'est pas utile (icmpv4 n'est pas utilisé pour la comm avec le BNG).
C'est même potentiellement déléraire, car faire passer imcpv4 dans la CoS 6 va potentiellement compter dans le rate limiting de CoS 6 fait par l'OLT/BNG (et diminuer la capacité du BNG de filtrer le traffic en fonction des priorités).

Perso j'utilise que ça pour le WAN:
config device                       
        option name 'eth0.832'
        option type '8021q'
        option ifname 'eth0'
        option vid '832'
        list egress_qos_mapping '1:0'                                                                                                                                                                                     
        list egress_qos_mapping '0:6'
        list egress_qos_mapping '6:6'
Ce qui n'est pas passé par nftable (donc dhcp) et donc reste en priorité 0 est sorti en priorité 6 "0:6".
Ce qui est passé par nftable et est déjà marqué priorité 6 (dhcp mais pas les paquets raw) est laissé en priorité 6 "6:6".
Ce qui est passé par nftable et mis en priorité 1 (tout le reste pas raw socket) est sorti en priorité 0 "1:0".


ubune

  • Abonné Orange Fibre
  • *
  • Messages: 317
Remplacement de la Livebox par un routeur Openwrt
« Réponse #666 le: 06 décembre 2022 à 13:38:25 »
Tu as deux entrees list egress_qos_mapping '0: (1ere et dernière ligne), c'est volontaire ?

FYI à mon sens, mettre icmpv4 en CoS 6 n'est pas utile (icmpv4 n'est pas utilisé pour la comm avec le BNG).
C'est même potentiellement déléraire, car faire passer imcpv4 dans la CoS 6 va potentiellement compter dans le rate limiting de CoS 6 fait par l'OLT/BNG (et diminuer la capacité du BNG de filtrer le traffic en fonction des priorités).

Pour l'icmp Il me semble que c'était pour reproduire le comportement de la livebox nn ?

Perso j'utilise que ça pour le WAN:
config device                       
        option name 'eth0.832'
        option type '8021q'
        option ifname 'eth0'
        option vid '832'
        list egress_qos_mapping '1:0'                                                                                                                                                                                     
        list egress_qos_mapping '0:6'
        list egress_qos_mapping '6:6'
Ce qui n'est pas passé par nftable (donc dhcp) et donc reste en priorité 0 est sorti en priorité 6 "0:6".
Ce qui est passé par nftable et est déjà marqué priorité 6 (dhcp mais pas les paquets raw) est laissé en priorité 6 "6:6".
Ce qui est passé par nftable et mis en priorité 1 (tout le reste pas raw socket) est sorti en priorité 0 "1:0".

Oui, tes trois lignes sont bien présentes dans le network du tuto, en effet on pourrait supprimer le reste.

gaiusbaltar

  • Abonné Orange Fibre
  • *
  • Messages: 25
Remplacement de la Livebox par un routeur Openwrt
« Réponse #667 le: 07 décembre 2022 à 14:22:42 »
root@OpenWrt:~# udhcpc -p /var/run/udhcpc-eth1.832.pid -t 0 -i eth1.832 -x hostname:OpenWrt -V sagem -C -B -R -O 1 -O 15 -O 28 -O 51 -O 58 -O 59 -O 90  -x 77:2b46535644534c5f6c697665626f782e496e7465726e65742e736f66746174686f6d652e4c697665626f7834 -x 90:XXX

XXX transformé avec https://jsfiddle.net/kgersen/3mnsc6wy/

udhcpc: started, v1.33.2
udhcpc: sending discover
udhcpc: sending select for 172.16.54.215

 :'(  :'( :'( :'(

simon

  • Abonné Orange Fibre
  • *
  • Messages: 935
Remplacement de la Livebox par un routeur Openwrt
« Réponse #668 le: 07 décembre 2022 à 14:24:04 »
> -x hostname:OpenWrt

si tu enlèves ca, ca aide ?

simon

  • Abonné Orange Fibre
  • *
  • Messages: 935
Remplacement de la Livebox par un routeur Openwrt
« Réponse #669 le: 07 décembre 2022 à 14:32:32 »
J'ai ca dans mon fichier /etc/config/network, au cas où :
# ip6 WAN
config interface 'wan6'
        option device 'eth4.832'
option proto 'dhcpv6'
option force_link '1'
option norelease '1'
option reqprefix 'auto'
option reqaddress 'none'
option defaultreqopts '0'
option sendopts '11:00000000000000000000001a0900000<redacted> 15:FSVDSL_livebox.Internet.softathome.livebox3 16:0000040e0005736167656d'
option reqopts '11 17 23 24'
option mtu '1500'

# ip4 WAN
config interface 'wan4'
        option device 'eth4.832'
        option proto 'dhcp'
option force_link '1'
        option broadcast '1'
        option vendorid 'sagem'
        option sendopts '0x4d:2b46535644534c5f6c697665626f782e496e7465726e65742e736f66746174686f6d652e4c697665626f7833 0x5a:00000000000000000000001a<redacted> 0x3d:01a43e5109537d'
        option reqopts '1 3 6 15 28 51 58 59 90 119 120 125'
        option mtu '1500'

simon

  • Abonné Orange Fibre
  • *
  • Messages: 935
Remplacement de la Livebox par un routeur Openwrt
« Réponse #670 le: 07 décembre 2022 à 14:39:34 »
Pour l'icmp Il me semble que c'était pour reproduire le comportement de la livebox nn ?

Ah, la livebox fait ca ? Ok, je savais pas. Ceci dit, levieuxatorange semble lui aussi dire qu'icmpv4 n'est pas à mettre en CoS6 :

La COS6 sert à prioriser les pkts DHCP(4/6), ARP et ICMP NS/NA entre la boxe et la BNG (premier routeur qui gère les IPs)  qui gère le contexte client.

Fuli10

  • Abonné Free fibre
  • *
  • Messages: 1 006
  • Conflans Sainte Honorine (78)
Remplacement de la Livebox par un routeur Openwrt
« Réponse #671 le: 07 décembre 2022 à 17:07:20 »
Bon, j'ai repris cette solution là telle que, et j'ai enfin compris ce qui déconnait.
Tout d'abord, il faut absolument installer les packages tc-tiny (pour avoir la commande 'tc') ainsi que kmod-sched (pour avoir le qdisc 'prio'). Si on oubli le module kmod-sched, on se retrouve avec une erreur abscons de 'tc' dès la première commande.
Ensuite, j'ai un problème d'ordre: je ne sais pas pourquoi mais au ifup, le script tc se lance après le dhcp. Du coup ça ne récupère pas une IP correcte. Faut que je relance juste l'interface et c'est bueno. Un peu relou.
Bref, ça marchotte.
Et sinon en terme de perf CPU, j'ai à peu près pareil. Le CPU est chargé d'IRQ tout autant et j'arrive à 50% de charge (sur 2 coeurs) lorsque je charge la ligne à 2.2Gbps.