🔹 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