📚 Tutorial

# Optimiser sa bande passante avec Bandwidth Manager

Par Gandalf • 22 décembre 2024 • 12 min de lecture

Votre connexion rame pendant que quelqu'un regarde Netflix ? Les jeux en ligne lag quand un téléchargement est en cours ? Le module Bandwidth Manager de SecuBox résout ces problèmes avec une gestion intelligente de la QoS, des quotas et une détection automatique des types de trafic.

## 1. Introduction à la QoS

La Quality of Service (QoS) permet de prioriser certains types de trafic sur votre réseau. Sans QoS, tous les paquets sont traités de la même manière : un téléchargement massif peut donc monopoliser toute la bande passante et rendre les appels vidéo inutilisables.

Bandwidth Manager utilise CAKE (Common Applications Kept Enhanced), le qdisc le plus moderne et efficace disponible sur Linux. Il gère automatiquement le bufferbloat et offre une distribution équitable de la bande passante.

#### ⚡ Priorité temps réel

VoIP et gaming toujours fluides, même sous charge maximale.

#### 📊 8 classes de priorité

Classification fine du trafic selon vos besoins.

#### 🎯 Détection automatique

Netflix, YouTube, Zoom identifiés automatiquement.

#### 📉 Quotas intelligents

Limites journalières/mensuelles avec throttling.

## 2. Installation

Installez le module via opkg :

    # Mise à jour des paquets
    opkg update

    # Installation du module
    opkg install luci-app-bandwidth-manager

    # Dépendances (installées automatiquement)
    # - kmod-sched-cake
    # - kmod-sched-fq-codel
    # - tc

    # Redémarrer les services
    /etc/init.d/rpcd reload

Accédez ensuite à l'interface via `LuCI → Network → Bandwidth Manager`.

## 3. Configuration des classes QoS

Bandwidth Manager propose 8 classes de priorité préconfigurées. Chaque classe a un pourcentage garanti (rate) et un maximum autorisé (ceil) :

    # /etc/config/bandwidth

    config class 'realtime'
        option name 'Real-time'
        option priority '1'
        option rate '30'      # 30% garanti
        option ceil '100'     # Peut utiliser jusqu'à 100%
        option description 'VoIP, Video calls'

    config class 'interactive'
        option name 'Interactive'
        option priority '2'
        option rate '20'
        option ceil '100'
        option description 'Gaming, SSH, DNS'

    config class 'streaming'
        option name 'Streaming'
        option priority '3'
        option rate '20'
        option ceil '90'
        option description 'Netflix, YouTube'

    config class 'bulk'
        option name 'Bulk'
        option priority '6'
        option rate '5'
        option ceil '50'
        option description 'P2P, Backups'

💡 Conseil : La somme des rates ne doit pas dépasser 100%. Les classes de haute priorité peuvent emprunter la bande passante non utilisée par les classes inférieures.

## 4. Gestion des quotas

Les quotas permettent de limiter la consommation par client ou par groupe. Quand le quota est atteint, vous pouvez choisir de throttler (réduire la vitesse) ou bloquer complètement l'accès.

    config quota 'kids_devices'
        option daily_limit '5000'     # 5 GB par jour
        option monthly_limit '100000'  # 100 GB par mois
        option throttle_speed '1000'   # 1 Mbps après dépassement
        option action 'throttle'       # ou 'block'
        list mac 'AA:BB:CC:DD:EE:01'
        list mac 'AA:BB:CC:DD:EE:02'

Cas d'usage typiques :

- Appareils des enfants : quota journalier pour encourager la modération
- Invités WiFi : limite mensuelle pour éviter les abus
- Appareils IoT : détection d'anomalies (trafic anormal = compromission potentielle)

## 5. Détection automatique des médias

Le module identifie automatiquement les types de trafic grâce à l'analyse des ports, protocoles et domaines. Chaque type est associé à une classe QoS :

    config media 'voip'
        option name 'VoIP'
        option class 'realtime'
        list port '5060'          # SIP
        list port '5061'          # SIP TLS
        list port '10000-20000'   # RTP
        list protocol 'sip'
        list protocol 'rtp'

    config media 'gaming'
        option name 'Gaming'
        option class 'interactive'
        list port '3074'          # Xbox Live
        list port '3478-3480'     # PlayStation
        list port '27015-27030'   # Steam
        option dscp 'ef'          # Expedited Forwarding

    config media 'streaming'
        option name 'Streaming'
        option class 'streaming'
        list domain 'netflix.com'
        list domain 'nflxvideo.net'
        list domain 'youtube.com'
        list domain 'googlevideo.com'

⚠️ Note : La détection par domaine nécessite que le DNS passe par le routeur. Si vos clients utilisent DoH (DNS over HTTPS), la détection sera moins efficace.

## 6. Planification horaire

Adaptez les limites selon l'heure de la journée. Parfait pour réduire la bande passante pendant les heures de pointe :

    config schedule 'peak'
        option name 'Heures de pointe'
        option enabled '1'
        option days 'mon tue wed thu fri'
        option start '18:00'
        option end '23:00'
        option download_limit '80'  # 80% de la bande passante max
        option upload_limit '80'

    config schedule 'night'
        option name 'Nuit'
        option enabled '1'
        option days 'mon tue wed thu fri sat sun'
        option start '00:00'
        option end '07:00'
        option download_limit '100'
        option upload_limit '100'
        # Backups nocturnes en classe 'bulk' prioritaire

## 7. Configuration avancée

### Ajuster les paramètres CAKE

    # Activer manuellement CAKE avec des paramètres optimisés
    tc qdisc replace dev br-lan root cake bandwidth 100mbit \
        diffserv4 nat wash ack-filter split-gso

### Marquage DSCP personnalisé

    # Marquer le trafic VoIP avec DSCP EF (46)
    iptables -t mangle -A POSTROUTING -p udp --dport 5060 \
        -j DSCP --set-dscp 46

### Monitoring en temps réel

    # Voir les statistiques tc
    tc -s qdisc show dev br-lan

    # Surveiller le trafic par classe
    watch -n 1 'tc -s class show dev br-lan'

### 🚀 Prêt à optimiser votre réseau ?

Téléchargez SecuBox et installez Bandwidth Manager dès maintenant.

Installer SecuBox

## Conclusion

Bandwidth Manager transforme votre routeur OpenWrt en un contrôleur de trafic intelligent. Avec la QoS basée sur CAKE, les quotas par client et la détection automatique des médias, vous avez tous les outils pour garantir une expérience optimale à tous les utilisateurs de votre réseau.

Pour aller plus loin, consultez nos autres guides sur Auth Guardian pour l'authentification et VHost Manager pour héberger vos propres services.