Es gibt verschiedene Alternativen, um das zu erreichen, wonach Sie suchen. Aber zuallererst ist es ja möglich. Viele der Möglichkeiten sind jedoch recht komplex.
Eine der einfachsten Optionen könnte darin bestehen, den Torrent-Daemon unter einem eigenen Benutzer \ group auszuführen. Verwenden Sie dann iptables, um den gesamten Datenverkehr von diesem Benutzer \ Gruppe mit einem Flag zu markieren. Lassen Sie dann später das tc nach diesem Flag filtern und stellen Sie es in die Warteschlange mit niedriger Priorität. Am Ende dieses Wikis finden Sie eine Idee.
Für das, was Sie fragen, benötigen Sie nur zwei Warteschlangen ( Abb. 1 ), eine mit niedriger und eine mit hoher Priorität. Es ist jedoch möglicherweise besser, sich an etwas zu halten, das diesem Beispiel näher kommt . Sie können das Beispiel an Ihre Bedürfnisse anpassen, das Teil einfach mit nat löschen und die Standardmarke auf einen niedrigeren Wert setzen als die Marke, die Sie für den vom Dämon generierten Datenverkehr verwenden.
Für meinen Vorschlag können Sie also so etwas wie iptables -A OUTPUT -t mangle -m owner --uid-owner ZZZZ -j MARK --set-mark 6
ZZZZ als Benutzerkennung verwenden.
Eine Alternative zum Setzen eines Flags könnte darin bestehen, iptables -A OUTPUT -t mangle -m owner --uid-owner ZZZZ -j CLASSIFY --set-class X:Y
X und Y als Klassenkennung und ZZZZ als Benutzerkennung zu verwenden.
Abb. 1:
+---------+
| root 1: |
+---------+
|
+------------+
| class 1:1 |
+------------+
| |
+----+ +----+
|1:10| |1:11|
+----+ +----+
Am besten ist es, für jede fw-Marke ein Blatt zu haben. Aber mein bester Rat ist jetzt, das oben genannte Beispiel zu lesen und zu verstehen , um es an Ihre Bedürfnisse anzupassen. Wenn Sie Fragen haben, fügen Sie diese hinzu.
In dem oben genannten Beispiel ist es wichtig, dass Sie diesen Teil verstehen ( Abb. 2 ), wenn Sie iptables-Regeln zum Markieren oder Klassifizieren von Datenverkehr schreiben möchten. Eine kurze Erklärung dazu mit einem etwas anders aussehenden Diagramm finden Sie hier .
Abb. 2:
First you have to understand how packet traverse the filters with iptables:
+------------+ +---------+ +-------------+
Packet -| PREROUTING |--- routing-----| FORWARD |-------+-------| POSTROUTING |- Packets
input +------------+ decision +---------+ | +-------------+ out
| |
+-------+ +--------+
| INPUT |---- Local process -| OUTPUT |
+-------+ +--------+
Dies zeigt Ihnen die richtige Richtung:
Regeln, Richtlinien und Ansätze
Linux Advanced Routing & Traffic Control HOWTO: Ratenbegrenzung für einen einzelnen Host oder eine Netzmaske
Eine Reise zur Verkehrskontrolle: reale Szenarien
Iptables Tutorial 1.2.2