secubox-openwrt/package/secubox/luci-app-traffic-shaper/README.fr.md
CyberMind-FR ccfb58124c docs: Add trilingual documentation (French and Chinese translations)
Add complete French (fr) and Chinese (zh) translations for all documentation:

- Root files: README, CHANGELOG, SECURITY, BETA-RELEASE
- docs/: All 16 core documentation files
- DOCS/: All 19 deep-dive documents including embedded/ and archive/
- package/secubox/: All 123+ package READMEs
- Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/

Total: 346 translation files created

Each file includes language switcher links for easy navigation between
English, French, and Chinese versions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-20 10:00:18 +01:00

9.6 KiB

Traffic Shaper - Controle QoS avance

English | Francais | 中文

Version : 0.4.0 Derniere mise a jour : 2025-12-28 Statut : Actif

Application LuCI pour la gestion avancee du traffic shaping et de la qualite de service (QoS) utilisant Linux Traffic Control (TC) et le qdisc CAKE.

Fonctionnalites

  • Gestion des classes de trafic : Creer et gerer les classes d'allocation de bande passante avec limites garanties (rate) et maximales (ceil)
  • Planification basee sur les priorites : Systeme de priorite a 8 niveaux pour une priorisation fine du trafic
  • Regles de classification : Systeme de regles flexible pour classifier le trafic par :
    • Numeros de port (source/destination)
    • Adresses IP (source/destination)
    • Marquages DSCP
    • Type de protocole
  • Statistiques en temps reel : Surveiller les compteurs de paquets, octets et drops par classe
  • Presets rapides : Application en un clic de configurations optimisees :
    • Gaming et faible latence
    • Streaming video
    • Teletravail
    • Equilibre (defaut)
  • Tableau de bord visuel : Diagramme de flux de trafic avec codage couleur par priorite
  • Support multi-interfaces : Configurer la QoS sur WAN, LAN ou toute interface reseau

Installation

opkg update
opkg install luci-app-traffic-shaper
/etc/init.d/rpcd restart
/etc/init.d/uhttpd restart

Dependances

  • luci-base : Framework d'interface web LuCI
  • rpcd : Daemon RPC pour la communication backend
  • tc : Utilitaire Linux traffic control
  • kmod-sched-core : Modules noyau de planification du trafic
  • kmod-sched-cake : Module noyau qdisc CAKE

Utilisation

Acceder a l'interface

Naviguer vers : Reseau -> Traffic Shaper

L'interface propose 5 vues principales :

  1. Vue d'ensemble : Tableau de bord avec cartes de statut et visualisation du flux de trafic
  2. Classes de trafic : Interface CRUD pour les classes de bande passante
  3. Regles de classification : Interface CRUD pour les regles de correspondance de trafic
  4. Statistiques : Statistiques en temps reel pour toutes les classes de trafic
  5. Presets : Appliquer rapidement des configurations optimisees

Creer des classes de trafic

  1. Aller dans Reseau -> Traffic Shaper -> Classes de trafic
  2. Cliquer sur Ajouter pour creer une nouvelle classe
  3. Configurer :
    • Nom : Nom descriptif (ex. "Streaming video")
    • Priorite : 1 (la plus haute) a 8 (la plus basse)
    • Debit garanti : Bande passante minimum (ex. "5mbit")
    • Debit maximum (Ceil) : Bande passante maximale autorisee (ex. "50mbit")
    • Interface : Interface reseau (wan, lan, etc.)
    • Activer : Activer la classe
  4. Cliquer sur Sauvegarder et appliquer

Guide des priorites

  • Priorite 1-2 : Trafic critique (VoIP, gaming, applications temps reel)
  • Priorite 3-4 : Trafic important (streaming video, VPN)
  • Priorite 5-6 : Trafic normal (navigation web, email)
  • Priorite 7-8 : Trafic de masse (telechargements, sauvegardes)

Creer des regles de classification

  1. Aller dans Reseau -> Traffic Shaper -> Regles de classification
  2. Cliquer sur Ajouter pour creer une nouvelle regle
  3. Configurer :
    • Classe de trafic : Selectionner la classe de destination
    • Type de correspondance : Port, IP, DSCP ou Protocole
    • Valeur de correspondance : Valeur a faire correspondre
    • Activer : Activer la regle
  4. Cliquer sur Sauvegarder et appliquer

Exemples de regles

Type de correspondance Valeur Description
Port destination 80,443 Trafic web HTTP/HTTPS
Port destination 22 Connexions SSH
Port destination 53 Requetes DNS
IP source 192.168.1.0/24 Tout le trafic du sous-reseau LAN
IP destination 8.8.8.8 Trafic vers Google DNS
DSCP EF Expedited Forwarding (VoIP)
Protocole udp Tout le trafic UDP

Utiliser les presets

  1. Aller dans Reseau -> Traffic Shaper -> Presets
  2. Examiner les presets disponibles et leurs configurations
  3. Cliquer sur Appliquer ce preset sur le profil souhaite
  4. Confirmer l'action (cela remplacera la configuration existante)

Configuration

Configuration UCI

La configuration est stockee dans /etc/config/traffic-shaper :

config class 'gaming'
	option name 'Gaming Traffic'
	option priority '1'
	option rate '10mbit'
	option ceil '50mbit'
	option interface 'wan'
	option enabled '1'

config rule 'gaming_ports'
	option class 'gaming'
	option match_type 'dport'
	option match_value '3074,27015,25565'
	option enabled '1'

Options des classes de trafic

  • name : Nom d'affichage de la classe
  • priority : Niveau de priorite (1-8)
  • rate : Bande passante minimum garantie (format : <nombre>[kmg]bit)
  • ceil : Bande passante maximale autorisee (format : <nombre>[kmg]bit)
  • interface : Nom de l'interface reseau
  • enabled : Activer/desactiver la classe (0/1)

Options des regles de classification

  • class : ID de la classe de trafic (nom de section UCI)
  • match_type : Type de correspondance (dport, sport, dst, src, dscp, protocol)
  • match_value : Valeur a faire correspondre
  • enabled : Activer/desactiver la regle (0/1)

API Backend

Le backend RPCD (luci.traffic-shaper) fournit ces methodes :

Methodes de statut

  • status() : Obtenir le statut actuel du systeme QoS
  • list_classes() : Lister toutes les classes de trafic
  • list_rules() : Lister toutes les regles de classification
  • get_stats() : Obtenir les statistiques par classe depuis TC

Methodes de gestion

  • add_class(name, priority, rate, ceil, interface) : Creer une nouvelle classe
  • update_class(id, name, priority, rate, ceil, interface, enabled) : Mettre a jour une classe
  • delete_class(id) : Supprimer une classe
  • add_rule(class, match_type, match_value) : Creer une regle de classification
  • delete_rule(id) : Supprimer une regle

Methodes de presets

  • list_presets() : Obtenir les presets disponibles
  • apply_preset(preset_id) : Appliquer une configuration preset

Details techniques

Implementation du controle de trafic

Le module utilise Linux Traffic Control (TC) avec la hierarchie suivante :

  1. Qdisc racine : CAKE (Common Applications Kept Enhanced)
  2. Hierarchie de classes : HTB (Hierarchical Token Bucket) pour l'allocation de bande passante
  3. Filtres : Filtres U32 pour la classification du trafic basee sur les regles

Fonctionnalites CAKE

  • Smart queuing : Gestion automatique des tailles de file d'attente
  • Isolation de flux : Empeche les flux uniques de monopoliser la bande passante
  • Reduction de latence : Minimise le bufferbloat
  • Equite par hote : Assure une distribution equitable de la bande passante

Collecte des statistiques

Les statistiques sont collectees en utilisant tc -s class show et parsees pour fournir :

  • Compteurs de paquets par classe
  • Compteurs d'octets par classe
  • Compteurs de drops (paquets supprimes a cause de la limitation de debit)

Les donnees sont rafraichies toutes les 5 secondes dans la vue Statistiques.

Exemples

Exemple 1 : Configuration bureau a domicile

Classes :

  • Appels video : Priorite 1, 8mbit garanti, 50mbit max
  • Trafic VPN : Priorite 2, 10mbit garanti, 60mbit max
  • Navigation web : Priorite 4, 5mbit garanti, 40mbit max

Regles :

  • Ports Zoom (8801-8810) -> Appels video
  • Port 443 avec plage IP VPN -> Trafic VPN
  • Ports 80,443 -> Navigation web

Exemple 2 : Gaming + Streaming

Classes :

  • Gaming : Priorite 1, 5mbit garanti, 40mbit max
  • Streaming : Priorite 3, 15mbit garanti, 70mbit max
  • Telechargements : Priorite 7, 2mbit garanti, 30mbit max

Regles :

  • Ports gaming (3074, 27015, etc.) -> Gaming
  • Port 443 vers IPs Netflix/YouTube -> Streaming
  • Port 80 -> Telechargements

Exemple 3 : Foyer multi-utilisateurs

Utiliser le preset Equilibre ou creer des classes personnalisees :

  • Haute priorite : 10mbit -> 60mbit (Priorite 2)
  • Normal : 15mbit -> 80mbit (Priorite 5)
  • Masse : 5mbit -> 50mbit (Priorite 7)

Depannage

Le traffic shaping ne fonctionne pas

  1. Verifier que le module CAKE est charge :

    lsmod | grep sch_cake
    
  2. Verifier la configuration TC :

    tc qdisc show
    tc class show dev wan
    tc filter show dev wan
    
  3. Verifier le nom de l'interface :

    ip link show
    

Les classes n'apparaissent pas

  1. Redemarrer RPCD :

    /etc/init.d/rpcd restart
    
  2. Verifier la configuration UCI :

    uci show traffic-shaper
    
  3. Verifier que la classe est activee :

    uci get traffic-shaper.<class_id>.enabled
    

Les statistiques ne se mettent pas a jour

  1. Verifier les statistiques TC :

    tc -s class show dev wan
    
  2. Verifier que le polling est actif (verifier la console du navigateur)

  3. S'assurer que les classes sont activees et que l'interface est correcte

Considerations de performance

  • Utilisation CPU : Le traitement TC utilise un CPU minimal sur les routeurs modernes
  • Memoire : Chaque classe utilise ~1-2KB de memoire noyau
  • Latence : CAKE reduit significativement la latence pour le trafic interactif
  • Debit : Impact minimal sur le debit total (<1% d'overhead)

Licence

Apache License 2.0

Mainteneur

SecuBox Project secubox@example.com

Voir aussi