|
|
ВНИМАНИЕ: Използвайте форумите на сайта за дa зададете вашите въпроси.
Въпрос |
От: mitrev |
Дата: 07/12/2006 |
Имам един въпрос .. как мога да огранича уплоад скоростта на
определени ип-та.
Мисля че това трябва да стане с htb но незнам точно как.
Или примерно да огранича уплоад-а на даден клас .. при мен
са class 200 i 300
Какво ли не съм чел вече и .. немога да се справя.
|
Отговор #2 |
От: mitrev (mitrev __@__ hotmail __точка__ com) |
Дата: 07/13/2006 |
#!/bin/bash
. /root/htb.conf
tc qdisc del dev $lan root
if [ "$1" = "stop" ] ; then
exit ; fi
tc qdisc add dev $lan root handle 1 htb default 100
tc class add dev $lan parent 1: classid 1:1 htb rate $maks
tc class add dev $lan parent 1: classid 1:60 htb rate 10Mbit
ceil 100Mbit
# default class (unclassified packets)
tc class add dev $lan parent 1:1 classid 1:100 htb rate
24Kbit ceil 1Mbit
tc qdisc add dev $lan parent 1:100 handle 100: sfq perturb
10
# class for limited trafic clients (200) and unlimited
trafic (300)
tc class add dev $lan parent 1:1 classid 1:200 htb rate
$lrate ceil $maks
tc class add dev $lan parent 1:1 classid 1:300 htb rate
$urate ceil $urate
#client classes from /root/htb.dbf
cat /root/iprule.conf |grep -v -e ^# | while read a ; do
if [ "x$a" != "x" ] ; then
ip=`echo $a | cut -f1 -d':'`
rate=`echo $a | cut -f2 -d':'`
if [ "x$rate" = "x" ] ; then
rate=240
fi
ceil=$rate
host=`echo $ip | cut -f4 -d'.'`
net=`echo $ip | cut -f3 -d'.'`
mclass=`echo $a | cut -f3 -d';'`
# if [ "$mclass" = "300" ] ; then
rate="2"
# fi
class=$(($host+1000))
if [ "$net" = "1" ] ; then
class=$(($host+2000))
elif [ "$net" = "2" ] ; then
class=$(($host+3000))
elif [ "$net" = "3" ] ; then
class=$(($host+4000))
fi
tc class add dev $lan parent 1:$mclass classid 1:$class
htb rate ${rate}Kbit ceil ${ceil}Kbit prio 5
tc qdisc add dev $lan parent 1:$class handle $class sfq
perturb 10
tc filter add dev $lan parent 1:0 protocol ip prio 0 u32
match ip dst $ip classid 1:$class
fi
done
# add ip telephone class
tc class add dev $lan parent 1:300 classid 1:240 htb rate
64Kbit ceil 64Kbit prio 4
tc qdisc add dev $lan parent 1:240 handle 240 sfq perturb
10
tc filter add dev eth0 parent 1:0 protocol ip prio 0 u32
match ip dst xx.xxx.xxx.xxx classid 1:243
надявам се да разбереш кое какво е ...
значи имам едно малко скриптче което съм написъл за да чете
от един файл каква скорост да задава за даден ип аддрес ама
като довнлоад.
проблема е уплоад-а.незнам как да го дефинирам в хтб-то.
ако можеш да ми кажеш какво да добавя към скрипта си че на
цяло се обърках вече ...
а файла от който че ип руле изглежда така.
172.16.2.43:256:;00:20:ed:55:23:64;200;--> Robi
да кажем това е примерен ред. чете .. ип скорост мак .. като
съм дефинирал да не чете : ; и тн.
|
Отговор #3 |
От: Kliment (kimby< at >abv[ точка ]bg) |
Дата: 07/13/2006 |
Не знам дали това ще ти помогне, но това което знам за HTB
е, че се може да се ограничава само изходящата скорост от
даден интерфейс, но не и входящата. Т.е. в твоя случай
политиките, които ще слагаш трябва да са ти на изходния
интерфейс. Всичко останало трябва да ти е същото, като за
download, само правилата за филтриране трябва да са ти
подобни:
tc filter add dev $out_if parent 1:0 protocol ip prio 0 u32
match ip src $ip classid 1:$class
Надявам се да съм ти полезен, макар че не съм се опитвал да
разчета скрипта ти за четене от файла със дефинициите за
скоростта на всеки клиент, но се надявам да е добре.
|
Отговор #4 |
От: mitrev |
Дата: 07/13/2006 |
факт е че този рутер работи от години .. и че работи всичко
освен ... контрола над уплоад.нямам проблеми за сега.
значи късно снощи вечерта като се зачетох видях някакво
преплитане ... смисъл че като имаш 2 интерфейса .. етх1 етх0
... правиш заявките от даден клас .. от етх0 към етх1 да са
с ограничен довнлоад /етх1/ .. и по този начин .. става вс.
едно довнлоад от етх0 /локалната/ към етх1 изходящата
платка.
По този начин .. се шеипва довнлоад-а от етх0 и съответно
уплоада към етх1.изходящият от етх0 /уплоад/който отива към
етх1 /довнлоад/ който е интерфеис за връзка с нет-а .. и
става шеипване на уплоад-а.
това става с помоща на iptables PREROUTING FORWARD maangle и
маркиране на пакетите.
|
Отговор #6 |
От: n |
Дата: 07/14/2006 |
Poneje nikyde ne spomenavash za NAT, priemame, che takyv
nqma.
Ogranichavat se samo izhodqshtite trafici ot koito i da e
interfeis, t.e. ako iskash da ogranichish uploada na klient
192.168.0.100 koito e zakachen za eth0 to sloji pravilo
ogranichavashto skorostta na trafika idvasht ot adres
192.168.0.100 na eth1 (koqto ti e vhodqshtata karta).
Prostichko, no s NAT ne raboti, poneje NATnatite adresi
veche ne syshtestvuvat na izhodqshtata karta.
|
Отговор #7 |
От: female |
Дата: 01/04/2007 |
добре а каква е командата за уграничаване на дадено ип към
даден интерфейс ?
да кажем или на клас ?
|
<< Firebird problem (3
) | Коя дистрибуция на Linux? (3
) >>
|
|
|
|
|