Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: zax в Jul 03, 2005, 11:28



Титла: Traffic Routing, Shaper
Публикувано от: zax в Jul 03, 2005, 11:28
Някои може ли да удари едно рамо и да ми каже къде бъркам. Искам да огранича 2-ипта ...

tc qdisc add dev eth0 root handle 1: htb default 12
tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 30kbps ceil 100kbps
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 10kbps ceil 100kbps
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 60kbps ceil 100kbps

tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \
   match ip src 1.2.3.4 match ip dport 80 0xffff flowid 1:10
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \
   match ip src 1.2.3.4 flowid 1:11

Немога да разбера къде бъркам, за това моляви помогнете ...  ???


Титла: Traffic Routing, Shaper
Публикувано от: zarhi в Jul 03, 2005, 11:36
А eth0 интерфейса към юзерите ли е или към нета?


Титла: Traffic Routing, Shaper
Публикувано от: zax в Jul 03, 2005, 12:01
ми към юзерите ....


Титла: Traffic Routing, Shaper
Публикувано от: zarhi в Jul 03, 2005, 12:03
Цитат (zax @ Юли 03 2005,13:01)
ми към юзерите ....

Ми значи това дето си написал прави следното:

tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \
  match ip src 1.2.3.4 match ip dport 80 0xffff flowid 1:10

Това лимитира всичките ти юзери, когато телят от ип 1.2.3.4 и са отворили конекцията ОТ порт 80 на 30/100 кбпс

tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \
  match ip src 1.2.3.4 flowid 1:11

това лимитира юзерите които теглят ОТ 1.2.3.4 и не са от 80 порт на 10/100 кбпс

Във всички останали случаи юзерите ти теглят със 60/100 кбпс


Титла: Traffic Routing, Shaper
Публикувано от: zarhi в Jul 03, 2005, 12:10
Сега ако съм разбрал правилно идеята:

Юзера ти е на ип 1.2.3.4 и е зад eth0. Трябва да тегли http със минимална скорост 30 и максимална 100 кбпс, всичко останало трябва да тегли с минимална 10 и максимална 100 кбпс. Всички останали трябва да теглят със минимум 60 и максимум 100 кбпс. Ако това е вярно, то тогава правиш следното:

tc qdisc add dev eth0 root handle 1: htb default 12
tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 30kbps ceil 100kbps
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 10kbps ceil 100kbps
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 60kbps ceil 100kbps

tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \
  match ip dst 1.2.3.4 match ip sport 80 0xffff flowid 1:10
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \
  match ip dst 1.2.3.4 flowid 1:11


Титла: Traffic Routing, Shaper
Публикувано от: zarhi в Jul 03, 2005, 12:24
Още едно допълнение: За да е пълен шейпъра трябва да се добави:

tc qdisc add dev eth0 parent 1:1 sfq perturb 10
tc qdisc add dev eth0 parent 1:10 sfq perturb 10
tc qdisc add dev eth0 parent 1:11 sfq perturb 10
tc qdisc add dev eth0 parent 1:12 sfq perturb 10

Въпреки всичко тоя шейпър няма да работи добре. Скоростите са прекалено ниски.


Титла: Traffic Routing, Shaper
Публикувано от: saturn_vk в Jul 03, 2005, 12:50
Цитат (zarhi @ Юли 03 2005,13:24)
Още едно допълнение: За да е пълен шейпъра трябва да се добави:

tc qdisc add dev eth0 parent 1:1 sfq perturb 10
tc qdisc add dev eth0 parent 1:10 sfq perturb 10
tc qdisc add dev eth0 parent 1:11 sfq perturb 10
tc qdisc add dev eth0 parent 1:12 sfq perturb 10

Въпреки всичко тоя шейпър няма да работи добре. Скоростите са прекалено ниски.

то не е задължително. ако го няма, по подразбиране ще сложи fifo qdisc.


Титла: Traffic Routing, Shaper
Публикувано от: zax в Jul 03, 2005, 19:24
някои би ли ми разяснил какво правят редовете
( особено sfq perturb 10 )
tc qdisc add dev eth0 parent 1:1 sfq perturb 10
tc qdisc add dev eth0 parent 1:10 sfq perturb 10
tc qdisc add dev eth0 parent 1:11 sfq perturb 10
tc qdisc add dev eth0 parent 1:12 sfq perturb 10
  
казва на tc да премина къъм TBF алгоритама ли ?


Титла: Traffic Routing, Shaper
Публикувано от: zax в Jul 03, 2005, 19:38
Добре значи nz защо но пак не иска да ограничава... посредством зададените параметри.. ограничава си както иска...


tc qdisc add dev eth0 root handle 1: 0 htb default 12
tc class add dev eth0 parent 1: 0 classid 1:1 htb rate 1024kbps ceil 1024kbps
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 256kbps ceil 256kbps
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 256kbps ceil 256kbps
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 256kbps ceil 256kbps

tc qdisc add dev eth0 parent 1:1 sfq perturb 10
tc qdisc add dev eth0 parent 1:10 sfq perturb 10
tc qdisc add dev eth0 parent 1:11 sfq perturb 10
tc qdisc add dev eth0 parent 1:12 sfq perturb 10

tc filter add dev eth0 protocol ip parent 1: 0 prio 1 u32 \
 match ip dst 60.0.0.2 match ip sport 80 0xffff flowid 1:10
tc filter add dev eth0 protocol ip parent 1: 0 prio 1 u32 \
 match ip dst 60.0.0.3 flowid 1:11


Като съответно би трябвало 60.0.0.2 и 60.0.0.3 трябва да бъдат ограничени на 256kbps-->32KB, да обаче не и двете ип-та теглят с по 80KB...

Някакви идеи, защо става тека


 ???  ???  ???  ???  ???


Титла: Traffic Routing, Shaper
Публикувано от: zarhi в Jul 04, 2005, 08:32
Има един лаф че компютрите правят каквото си им казал, а не каквото си мислиш че си им казал.

Ето малко инфо от http://lartc.org/lartc.html

Цитат
Chapter 9. Queueing Disciplines for Bandwidth Management

Now, when I discovered this, it really blew me away. Linux 2.2/2.4 comes with everything to manage bandwidth in ways comparable to high-end dedicated bandwidth management systems.

Linux even goes far beyond what Frame and ATM provide.

Just to prevent confusion, tc uses the following rules for bandwith specification:

mbps = 1024 kbps = 1024 * 1024 bps => byte/s
mbit = 1024 kbit => kilo bit/s.
mb = 1024 kb = 1024 * 1024 b => byte
mbit = 1024 kbit => kilo bit.

Internally, the number is stored in bps and b.

But when tc prints the rate, it uses following :

1Mbit = 1024 Kbit = 1024 * 1024 bps => byte/s


kbps == kilo (1024) bytes per second.

Шейпъра прави точно каквото си му казал, а именно реже 1-вото ип на 256 килобайта/сек при хттп даунлоад, 2-рото ип на 256 килобайта/сек при всякакъв даунлоад и целия останал трафик на 256 килобайта/сек.
Ако имаше достатъчно скорост ( към 10 Мбит/с ) щеше да ти закове тия скорости при над 10 секунди средно премерено.


Титла: Traffic Routing, Shaper
Публикувано от: zax в Jul 04, 2005, 09:10
Сигурно е тека ... ще пробвам .... благодаря за уточнението и помоща на всички  :)