Retourner au contenu associé (entrée de forum : Limitation de la bande passante avec tc)
Posté par Spack le 24 janvier 2011 à 18:26. En réponse au message Limitation de la bande passante avec tc. Évalué à 3.
if [ $(tc -d qdisc show dev eth0 | wc -l) != "1" ]; then tc qdisc del dev eth0 root fi iptables -t mangle -F tc qdisc add dev eth0 root handle 1: htb default 99 r2q 5 # Classe HTTP = 40 tc class add dev eth0 parent 1:0 classid 1:40 htb rate 256kbit burst 2k prio 4 tc qdisc add dev eth0 parent 1:40 handle 140: sfq perturb 10 tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 40 fw flowid 1:40 # Marquage des paquets HTTP iptables -t mangle -A POSTROUTING -o eth0 -p tcp --tcp-flags SYN,ACK SYN,ACK --sport 80 -j CONNMARK --set-mark 40 # Restore la marque sur les paquets identiques iptables -t mangle -A POSTROUTING -j CONNMARK --restore-mark
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# Chez moi
Posté par Spack . En réponse au message Limitation de la bande passante avec tc. Évalué à 3.
J'utilise aussi tc et après quelques tests je pense que ça fonctionne chez moi. Voici par exemple comment je limite le trafic HTTP:
if [ $(tc -d qdisc show dev eth0 | wc -l) != "1" ]; then
tc qdisc del dev eth0 root
fi
iptables -t mangle -F
tc qdisc add dev eth0 root handle 1: htb default 99 r2q 5
# Classe HTTP = 40
tc class add dev eth0 parent 1:0 classid 1:40 htb rate 256kbit burst 2k prio 4
tc qdisc add dev eth0 parent 1:40 handle 140: sfq perturb 10
tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 40 fw flowid 1:40
# Marquage des paquets HTTP
iptables -t mangle -A POSTROUTING -o eth0 -p tcp --tcp-flags SYN,ACK SYN,ACK --sport 80 -j CONNMARK --set-mark 40
# Restore la marque sur les paquets identiques
iptables -t mangle -A POSTROUTING -j CONNMARK --restore-mark
En débit instantané je dépasse parfois les 256Kbps définis mais en débit moyen ça à l'air d'être environ 256Kbps.
Pour information, l'attribut mbit est aussi compris par tc.