Traffic Shaping

Fórumok

Sziasztok!

Arra gondoltam ,hogy beállítok egy debian tükröt és, hogy munka idő alatt szedje ftp a csomagokat.

Viszont jó lenne, ha mindezt csak max 256k-val tenné.
Erre szeretnék valami traffic shapinget debian sarge alá.
Csak a 21-est szeretném shapingelni.
Melyiket ajánlanátok? Van egy pár ahogy láttam.

Köszi

Hozzászólások

http://www.roback.cc/howtos/bandwidth.php

Erről az oldalról ki tudsz indulni. A lényeg az, hogy iptables-el jelöld meg azokat a csomagokat amiket szabályozni akarsz, aztán az oldalon lévő scriptet felhasználva meg tudod oldani, hogy a megjelölt csomagok csak annyival jöjjenek, amennyivel neked kellene.

#!/bin/bash

modprobe imq numdevs=1
ip link set imq0 up

#letoltes

tc qdisc add dev imq0 handle 1: root htb default 11

tc class add dev imq0 parent 1: classid 1:1 htb rate 1024kbps

tc class add dev imq0 parent 1:1 classid 1:10 htb rate 10kbps ceil 1024kbps prio 0
tc class add dev imq0 parent 1:1 classid 1:20 htb rate 10kbps ceil 256kbps prio 1

tc qdisc add dev imq0 parent 1:10 handle 11: sfq perturb 10
tc qdisc add dev imq0 parent 1:20 handle 12: sfq perturb 10

tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 11 fw flowid 1:10
tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 12 fw flowid 1:20

iptables -t mangle -N MYSHAPER-IN
iptables -t mangle -I PREROUTING -i eth0 -j MYSHAPER-IN

iptables -t mangle -A MYSHAPER-IN -p tcp --sport 21 -j MARK --set-mark 12
iptables -t mangle -A MYSHAPER-IN -p tcp --dport 21 -j MARK --set-mark 12

iptables -t mangle -A MYSHAPER-IN -j IMQ

#feltoltes
ip link set eth0 qlen 30

tc qdisc add dev eth0 handle 1: root htb default 13

tc class add dev eth0 parent 1: classid 1:1 htb rate 30kbps burst 1k

tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10kbps ceil 30kbps prio 0
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 10kbps ceil 20kbps prio 1
tc class add dev eth0 parent 1:1 classid 1:30 htb rate 10kbps ceil 10kbps prio 2

tc qdisc add dev eth0 parent 1:10 handle 11: sfq perturb 10
tc qdisc add dev eth0 parent 1:20 handle 12: sfq perturb 10
tc qdisc add dev eth0 parent 1:30 handle 13: sfq perturb 10

tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 11 fw flowid 1:10
tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 12 fw flowid 1:20
tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 13 fw flowid 1:30

iptables -t mangle -N MYSHAPER-OUT
iptables -t mangle -I POSTROUTING -o eth0 -j MYSHAPER-OUT

iptables -t mangle -A MYSHAPER-OUT -p tcp --sport 0:1024 -j MARK --set-mark 12
iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 0:1024 -j MARK --set-mark 12
iptables -t mangle -A MYSHAPER-OUT -p tcp --sport ssh -j MARK --set-mark 11
iptables -t mangle -A MYSHAPER-OUT -p tcp --dport ssh -j MARK --set-mark 11

------------------------------------------------
http://www.linuximq.net/
Kell: iptables source + iptables imq patch az oldalról + kernelpatch imq-val ez is onnan
Gyors és egyszerű.

IMQ csak kimenőt tud korlátozni emiat át kell minden bejövő forgalmat (eth0=internet) irányítani egy vir. kártyára (imq0), hogy szabályozni tudjad.