Foto von Mike Norris: https://www.pexels.com/de-de/foto/31109645/

🔹 Warum dieses Skript?

Manchmal braucht man mehr Kontrolle über die eigene Netzwerkbandbreite – sei es, um bestimmte Dienste zu priorisieren oder Limits für einzelne Verbindungen zu setzen. Statt komplizierte tc-Befehle von Hand zu schreiben, erstellt dieser Generator eine passende Traffic-Shaping-Konfiguration für dich.

Mit wenigen Klicks kannst du:

  • Die Bandbreite eines Interfaces begrenzen (z. B. eth0, vmbr0)
  • Prioritäten für Verbindungen setzen
  • Langsame, mittlere oder schnelle Limits wählen
  • Eine fertige tc-Konfiguration generieren, die sofort genutzt werden kann

🛠️ Features des Traffic Shaping Generators

  • Automatische Generierung von tc-Regeln
  • Einfache Web-Oberfläche – kein Terminal notwendig
  • Vordefinierte Geschwindigkeitsprofile (Langsam, Mittel, Schnell, Unbegrenzt)
  • Prioritätensteuerung – gebe bestimmten Verbindungen Vorrang

📈 Beispiel: Generierte Traffic Shaping Konfiguration

Angenommen, du willst folgende Einstellungen setzen:

  • Netzwerkschnittstelle: eth0
  • Geschwindigkeit: 5 Mbit/s Download, 3 Mbit/s Upload
  • Priorität: 2 (mittlere Priorität)

Das Skript generiert automatisch folgende tc-Konfiguration:

auto eth0
iface eth0 inet manual
    tc qdisc add dev eth0 root handle 1: htb default 10
    tc class add dev eth0 parent 1: classid 1:1 htb rate 5000kbit
    tc filter add dev eth0 protocol ip prio 2 u32 match ip src 0.0.0.0/0 flowid 1:1
    tc class add dev eth0 parent 1: classid 1:2 htb rate 3000kbit
    tc filter add dev eth0 protocol ip prio 2 u32 match ip dst 0.0.0.0/0 flowid 1:2

💡 Diese Datei kann direkt auf deinem Server verwendet werden!

🔎 Code-Analyse – Wichtige Abschnitte erklärt

1️⃣ Eingaben aus dem Formular verarbeiten

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $interface = $_POST['interface'];
    $speedOption = $_POST['speed_option'];

👉 Hier werden die Nutzereinstellungen aus dem Formular übernommen.

2️⃣ Bandbreite je nach Auswahl definieren

switch ($speedOption) {
    case 'slow':
        $maxBandwidthIngress = '1000kbit';
        $maxBandwidthEgress = '500kbit';
        break;

👉 Je nach gewählter Option wird die Bandbreite automatisch gesetzt.

3️⃣ Erstellung der Traffic-Shaping-Konfiguration

$generatedTrafficShapingConfig .= "auto {$interface}\n";
$generatedTrafficShapingConfig .= "iface {$interface} inet manual\n";
$generatedTrafficShapingConfig .= "    tc qdisc add dev {$interface} root handle 1: htb default 10\n";

👉 Hier wird das Interface mit den Traffic-Klassen konfiguriert.

📝 Download & Nutzung

💾 Download: traffic_shaping_generator.php

📌 Lizenz: Open-Source – Feel free to use & modify!

💚 Hast du Fragen oder Verbesserungsvorschläge? Schreib mir! 🚀

💡 Fazit – Warum ist das Skript nützlich?

  • Erhöht die Kontrolle über die Bandbreite – Keine ungewollten Engpässe mehr
  • Spart Zeit – Kein mühsames Schreiben von tc-Regeln
  • Anpassbar für Einsteiger & Profis – Einfach per Web-Oberfläche

Von Daniel Mattick

Ich bin Daniel, Technik-Enthusiast mit einer Vorliebe für Automatisierung, Skripting und alles, was IT-Prozesse einfacher macht. Ich bastle gerne an Lösungen, die den Alltag in der IT erleichtern – egal ob für Profis oder Neugierige, die sich in die Materie einarbeiten wollen. Dabei teile ich mein Wissen und meine Skripte in der IT Toolbox, weil ich finde: Gute Lösungen sollte man nicht für sich behalten!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert