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

Linux секция за начинаещи => Настройка на програми => Темата е започната от: saturn_vk в Apr 28, 2003, 12:27



Титла: Някой използвал ли е пакета iproute2?
Публикувано от: saturn_vk в Apr 28, 2003, 12:27
Опитвам се да настроя използването на кабелния модем да бъде малко равно, защото изглежда че Widows компютрите в малката ми мрежа на блока се мъчат да използват възможно най-много бързина, и успяват на туй отгоре! Затова след много търсене из интернета намерих пакета iproute2, който изглежда е стандарт за traffic shaping. След дълго четене на howtos (най-вече lartc.org) реших да използвам HTB QoS за traffic shaping. Ето ми скипта за настойки:
Примерен код

#!/bin/sh                      
tc qdisc add dev eth1 root handle 1: htb default 100
tc class add dev eth1 parent 1: classid 1:1 htb rate 256kbit ceil 256kbit
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 120kbit ceil 256kbit prio 1  #maya
tc class add dev eth1 parent 1:1 classid 1:20 htb rate 90kbit ceil 256kbit prio 0  #sat
tc class add dev eth1 parent 1:1 classid 1:30 htb rate 80kbit ceil 256kbit prio 2  #kapi
tc class add dev eth1 parent 1:1 classid 1:40 htb rate 30kbit ceil 256kbit prio 2  #xp1400
tc class add dev eth1 parent 1:1 classid 1:50 htb rate 80kbit ceil 256kbit burst 2k  
                                
tc qdisc add dev eth1 parent 1:10 handle 100: sfq perturb 10
tc qdisc add dev eth1 parent 1:20 handle 200: sfq perturb 10
tc qdisc add dev eth1 parent 1:30 handle 300: sfq perturb 10
tc qdisc add dev eth1 parent 1:40 handle 400: sfq perturb 10
tc qdisc add dev eth1 parent 1:50 handle 500: sfq perturb 10
                                
U32="tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32"
U33="tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32"
$U32 match ip src 192.168.0.1 flowid 1:10
$U32 match ip src 192.168.0.2 flowid 1:20
$U33 match ip src 192.168.0.7 flowid 1:30
$U33 match ip src 192.168.0.6 flowid 1:40

$U32 match ip dst 192.168.0.1 flowid 1:10
$U32 match ip dst 192.168.0.2 flowid 1:20
$U33 match ip dst 192.168.0.7 flowid 1:30
$U33 match ip dst 192.168.0.6 flowid 1:40
tc qdisc show


както се вижда от скипта, съм се опитал да дам най-много бързина на "maya" и "sat" (те са slackware компютри), като съм дал най-малко бързина на "xp1400" (win2k компютър), който е активен използвач на интернета. Въпреки това, незнам защо но тези правила не се спазват. xp1400 винаги взима възможно най-много бързина, и понякога оставя първите два компютъра въобще без никаква бързина.

Ще може ли някой да ми каже защо това става. И ако ви трябва iptables скрипта ми или настойката на ядрото, моля кажете, и веднага ще ви я покажа.


Титла: Някой използвал ли е пакета iproute2?
Публикувано от: mrvoland в Apr 28, 2003, 13:10
аз позлвам CBQ скриптовете...
може би трябва да сложиш bounded и isolated за да са на твърд shape иначе уплътняват автоматично линията ето пример на cbq
Примерен код
bash-2.05a# cat cbq-1280.eth1
DEVICE=eth1,100Mbit,10Mbit
RATE=600Kbit
WEIGHT=60Kbit
PRIO=5
LEAF=tbf
ISOLATED=yes
BOUNDED=yes
RULE=192.168.0.2,
RULE=,192.168.0.2


Титла: Някой използвал ли е пакета iproute2?
Публикувано от: saturn_vk в Apr 28, 2003, 16:11
в lartc howtoто се казва че не всичко което е много сложно и много малко документирано е много добро, майче го казваха за cbq :).  Пък ти изглежда използваш не само cbq, но и cbq.init скрипта. Аз използвам HTB, без htb.init скрипта (гледам при възможност да не използвам скиптове които не идват със системата)(път и като пробвах .init скриптовете, ми изплю тон грешки :)).
но по едно време се пробвах със cbq, пак без успех. ето ми cbq скрипта.
Примерен код

tc qdisc add dev eth1 root handle 1:0 cbq bandwidth 256Kbit avpkt 1000 cell 8
tc class add dev eth1 parent 1:0 classid 1:1 cbq bandwidth 256Kbit rate 256Kbit weight 25Kbit prio 8 allot 1514 cell 8 maxburst 10 avpkt 1000 bounded

tc class add dev eth1 parent 1:1 classid 1:10 cbq bandwidth 256Kbit rate 120Kbit weight 12Kbit prio 5 allot 1514 cell 8 maxburst 10 avpkt 1000
tc class add dev eth1 parent 1:1 classid 1:20 cbq bandwidth 256Kbit rate 90Kbit weight 9Kbit prio 5 allot 1514 cell 8 maxburst 10 avpkt 1000
tc class add dev eth1 parent 1:1 classid 1:30 cbq bandwidth 256Kbit rate 80Kbit weight 8Kbit prio 5 allot 1514 cell 8 maxburst 5 avpkt 1000
tc class add dev eth1 parent 1:1 classid 1:40 cbq bandwidth 256Kbit rate 60Kbit weight 6Kbit prio 5 allot 1514 cell 8 maxburst 3 avpkt 1000

tc qdisc add dev eth1 parent 1:10 handle 100: sfq
tc qdisc add dev eth1 parent 1:20 handle 200: sfq
tc qdisc add dev eth1 parent 1:30 handle 300: sfq
tc qdisc add dev eth1 parent 1:40 handle 400: sfq
                                
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip src 192.168.0.1 flowid 1:10
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip src 192.168.0.2 flowid 1:20
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip src 192.168.0.7 flowid 1:30
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip src 192.168.0.6 flowid 1:40
                                
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.1 flowid 1:10
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.2 flowid 1:20
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.7 flowid 1:30
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.6 flowid 1:40
                                
tc qdisc show                  


е и това не пробачка. Не че ми даде грешки, просто Windows цомпютрите пак си помпаха интернет безразборно. И май ако използвам isolated, тези компютри няма да могат да взимат бързина която никой друг не използва, аз аз искам всяка капка бързина да се използва, ако не е разпределена.

но ще си разгърна хоризонта. ако можеш да ми помогнеш със CBQ/HTB със радост ще приема (път и да ти кажа честно, нямам представа тази информация която изписа каде трябва да я ръгна :)).


Титла: Някой използвал ли е пакета iproute2?
Публикувано от: mrvoland в Apr 29, 2003, 09:16
мда, всичко е въпрос на стил :) както казва един мой приятел и пише tc редове в неусвес :) то си е едно и също :) само дето скриптовете ги правят да изглеждат по-простички и прегледни :)
вярно е че и аз имах проблеми докато го подкарам (трябва да се чете определено)
/etc/shaper/
се прави файл с по-горните редове който името му започва с cbq-xxxx.eth1 примерно важното е да започва с cbq-число.нещо_си, в зависимост от дистрото може да поиска да се намира в /etc/shaper/cbq/ по принцип всичко го пише в документцията но има примери и в i-net
сега като си мисля можеш да пробваш един трик, да намалиш скоростта на устройството на входа (modem, wierless, cable modem) ако искаш win pc-ta да уплътняват "правилно" линията, може би трябва да погледнеш какво има пуснато в ядрото за QoS (да не си пропуснал нещо) 90% от опциите съм ги пуснал (2.4.19) в docs има какво трябва да има пуснато за да проработи нормално shaper-a
ползвам debian3.0 (updated)


Титла: Някой използвал ли е пакета iproute2?
Публикувано от: saturn_vk в Apr 29, 2003, 11:38
какво ли не съм пуснал в ядрото за QoS(чети: всичко!;). То толкова пъти трябваще да го рекомпилирам, че накрая пуснах всичко което може да се пусне за да не забравя нещо. :).

междо другото, пробвах още по два начина да въведа ред, е пак не стана. ето го първия:

Примерен код

tc qdisc add dev eth1 root handle 1: htb default 12
tc class add dev eth1 parent 1: classid 1:1 htb rate 30kbps ceil 30kbps burst 2k
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 20kbps ceil 30kbps burst 2k
tc class add dev eth1 parent 1:1 classid 1:11 htb rate 15kbps ceil 30kbps burst 2k
tc class add dev eth1 parent 1:1 classid 1:12 htb rate 4kbps ceil 15kbps burst 2k
tc class add dev eth1 parent 1:1 classid 1:13 htb rate 8kbps ceil 30kbps burst 2k

tc filter add dev eth1 parent 1: protocol ip prio 3 handle 1 fw classid 1:10
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 2 fw classid 1:11
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 3 fw classid 1:12
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 4 fw classid 1:13

iptables -A PREROUTING -t mangle -s 192.168.0.1 -j MARK --set-mark 1
iptables -A PREROUTING -t mangle -s 192.168.0.2 -j MARK --set-mark 2
iptables -A PREROUTING -t mangle -s 192.168.0.6 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -s 192.168.0.7 -j MARK --set-mark 4

iptables -A FORWARD -t mangle -s 192.168.0.1 -j MARK --set-mark 1
iptables -A FORWARD -t mangle -s 192.168.0.2 -j MARK --set-mark 2
iptables -A FORWARD -t mangle -s 192.168.0.6 -j MARK --set-mark 3
iptables -A FORWARD -t mangle -s 192.168.0.7 -j MARK --set-mark 4

iptables -A OUTPUT -t mangle -s 192.168.0.1 -j MARK --set-mark 1
iptables -A OUTPUT -t mangle -s 192.168.0.2 -j MARK --set-mark 2
iptables -A OUTPUT -t mangle -s 192.168.0.6 -j MARK --set-mark 3
iptables -A OUTPUT -t mangle -s 192.168.0.7 -j MARK --set-mark 4


iptables -A POSTROUTING -t mangle -s 192.168.0.1 -j MARK --set-mark 1
iptables -A POSTROUTING -t mangle -s 192.168.0.2 -j MARK --set-mark 2
iptables -A POSTROUTING -t mangle -s 192.168.0.6 -j MARK --set-mark 3
iptables -A POSTROUTING -t mangle -s 192.168.0.7 -j MARK --set-mark 4

iptables -A INPUT -t mangle -s 192.168.0.1 -j MARK --set-mark 1
iptables -A INPUT -t mangle -s 192.168.0.2 -j MARK --set-mark 2
iptables -A INPUT -t mangle -s 192.168.0.6 -j MARK --set-mark 3
iptables -A INPUT -t mangle -s 192.168.0.7 -j MARK --set-mark 4

Този отначало наистина мислех че е пробачкал. То се оказа че 192.168.0.6 не е почнал да сваля още :). Път и както виждаш представа си нямах коя точно част на mangle трябва да маркирам за tc, затова ги маркирах всички

Примерен код

RATE_TOT=250kbit
RATE_U1=120kbit
RATE_U2=100kbit
RATE_U3=50kbit
RATE_U4=80kbit

RATE_U1_C=250kbit
RATE_U2_C=120kbit

RATE_D1=120kbit
RATE_D2=100kbit
RATE_D3=50kbit
RATE_D4=80kbit

RATE_D1_C=250kbit
RATE_D2_C=120kbit

DEV0="eth1"
DEVQ="imq1"

modprobe imq numdevs=1
ifconfig $DEVQ up

tc qdisc del dev $DEV0 root
tc qdisc del dev $DEVQ root
iptables -t mangle -F



iptables -A PREROUTING -s 192.168.0.1  -j MARK --set-mark 1 -t mangle
iptables -A PREROUTING -s 192.168.0.2  -j MARK --set-mark 2 -t mangle
iptables -A PREROUTING -s 192.168.0.6  -j MARK --set-mark 3 -t mangle
iptables -A PREROUTING -s 192.168.0.7  -j MARK --set-mark 4 -t mangle

tc qdisc add dev $DEV0 root handle 1: htb default 0
tc class add dev $DEV0 parent 1: classid 1:1 htb rate $RATE_TOT
tc class add dev $DEV0 parent 1:1 classid 1:10 htb rate $RATE_U1 ceil $RATE_U1_C
tc class add dev $DEV0 parent 1:1 classid 1:20 htb rate $RATE_U2 ceil $RATE_U1_C
tc class add dev $DEV0 parent 1:1 classid 1:30 htb rate $RATE_U3 ceil $RATE_U2_C
tc class add dev $DEV0 parent 1:1 classid 1:40 htb rate $RATE_U4 ceil $RATE_U1_C

tc filter add dev $DEV0 protocol ip parent 1: prio 1 handle 1 fw classid 1:10
tc filter add dev $DEV0 protocol ip parent 1: prio 1 handle 2 fw classid 1:20
tc filter add dev $DEV0 protocol ip parent 1: prio 1 handle 3 fw classid 1:30
tc filter add dev $DEV0 protocol ip parent 1: prio 1 handle 4 fw classid 1:40

iptables -A POSTROUTING -s 192.168.0.1 -j MARK --set-mark 1 -t mangle
iptables -A POSTROUTING -s 192.168.0.2 -j MARK --set-mark 2 -t mangle
iptables -A POSTROUTING -s 192.168.0.6 -j MARK --set-mark 3 -t mangle
iptables -A POSTROUTING -s 192.168.0.7 -j MARK --set-mark 4 -t mangle

iptables -t mangle -A POSTROUTING -d 192.168.0.1 -j IMQ
iptables -t mangle -A POSTROUTING -d 192.168.0.2 -j IMQ
iptables -t mangle -A POSTROUTING -d 192.168.0.6 -j IMQ
iptables -t mangle -A POSTROUTING -d 192.168.0.7 -j IMQ

tc qdisc add dev $DEVQ root handle 1: htb default 0
tc class add dev $DEVQ parent 1: classid 1:1 htb rate $RATE_TOT
tc class add dev $DEVQ parent 1:1 classid 1:10 htb rate $RATE_D1 ceil $RATE_D1_C
tc class add dev $DEVQ parent 1:1 classid 1:20 htb rate $RATE_D2 ceil $RATE_D1_C
tc class add dev $DEVQ parent 1:1 classid 1:30 htb rate $RATE_D3 ceil $RATE_D2_C
tc class add dev $DEVQ parent 1:1 classid 1:40 htb rate $RATE_D4 ceil $RATE_D1_C

tc filter add dev $DEVQ protocol ip parent 1: prio 1 handle 1 fw classid 1:10
tc filter add dev $DEVQ protocol ip parent 1: prio 1 handle 2 fw classid 1:20
tc filter add dev $DEVQ protocol ip parent 1: prio 1 handle 3 fw classid 1:30
tc filter add dev $DEVQ protocol ip parent 1: prio 1 handle 4 fw classid 1:40

тоя го видях тука. Те нали викаха всички че без imq shaperа няма да стане. Е и със него не стана. тия пак си теглят на посоки.

Ти какво си пуснал за да ти работи нормално? Имаш ли изобщо Windows компири в мрежата?


Титла: Някой използвал ли е пакета iproute2?
Публикувано от: mrvoland в Apr 29, 2003, 14:08
значи инсталирал съм
shaper - Traffic Shaper for Linux 2.2.12-0.6
An init script which sets up traffic shaping using class-based queueing is also provided. This can be used
to build smart bandwidth shapers which know about TCP/IP. See README.cbq for more details.
The kernel support needed to use either of these facilities is described in README.Debian.
така... в ядрото имам следното в секцията QoS(2.4.19)

 
  • QoS and/or fair queueing
    <*>   CBQ packet scheduler
    <*>   CSZ packet scheduler
    <*>   The simplest PRIO pseudoscheduler
    < >   RED queue
    <*>   SFQ queue
    <*>   TEQL queue
    <*>   TBF queue
    <*>   GRED queue
    < >   Diffserv field marker
    <*>   Ingress Qdisc
  •   QoS support
    [ ]     Rate estimator
  •   Packet classifier API
    <*>     TC index classifier
    <*>     Routing table based classifier
    < >     Firewall based classifier
    <*>     U32 classifier
    <*>     Special RSVP classifier
    < >     Special RSVP classifier for IPv6
  •     Traffic policing (needed for in/egress)

    и не знам защо но брат ми (admin в Стемо) ми каза да си пусна от секцията: Network device support  --->
    <M> Traffic Shaper (EXPERIMENTAL), не съм го пробвал без последния модул, но предполагам че ще работи и без него
    init script-a е в /etc/init.d/shaper
    Usage:  shaper {start|stop|restart|force-reload|timecheck|list|stats}
    list и stats са много полезни :)
    В EDASat са описани директно tc както ти ги описваш така че не вярвам че проблема е синтактичен а някой дребничък от тези дразнещите проблемчета :)
    btw аз съм единствения linux  в мрежата :D


  • Титла: Някой използвал ли е пакета iproute2?
    Публикувано от: saturn_vk в Apr 29, 2003, 15:39
    аз съм пуснал всички тези неща, че и още!
    Та да те питам, ти си единствения linux в мрежата. Сваляш ли неща с този компютър, или само го използваш за Masquerade? Щото аз използвам единия linux за Masquerade server и свалям с него.
    Ще мога ли да те помоля да ми изпратиш по icq, irc, email или да ги post-неш тука твоите скриптове за cbq, firewall, masquerade, cbq.init и прочее и всичко друго свързано с networka ако можеш, щото ако не мога да направя свои скриптове като хората, поне да използвам някои които със сигурност бачкат.


    Титла: Някой използвал ли е пакета iproute2?
    Публикувано от: mrvoland в Apr 29, 2003, 17:24
    да работя активно на линукса, и съм сложил shaper за да не ми заемат линията :D пратил съм ти лично съобщение за да не flood форума, предлагам крайният резултат от преборването на shaper-a да го публикуваш тук :) поне ако има някой още да не се мъчи :)


    Титла: Някой използвал ли е пакета iproute2?
    Публикувано от: saturn_vk в Apr 29, 2003, 23:08
    каде точно си я изпратил? нямам лични съобщения. пробвай в еmaila


    Титла: Някой използвал ли е пакета iproute2?
    Публикувано от: KNK в May 15, 2003, 11:46
    tova koeto ti triabva e ingess filter. scripta kojto si napisal raboti samo za izhodiashtia trafik. za vhodiashtia triabva da e pri dostavchika ili da namalish skorostta ot svoia strana, za da ne se prepulva bufera na modema, a da ostane malko miasto za novite zaiavki.LARTC - tuk ima primer, samo triabva da go nastroish za tvoiata skorost.
    Примерен код
    tc qdisc add dev $DEV handle ffff: ingress
     tc filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNLINK}kbit burst 10k drop flowid :1


    Титла: Някой използвал ли е пакета iproute2?
    Публикувано от: saturn_vk в May 21, 2003, 23:07
    за какво се смята адреса 0.0.0.0/0, за целия Интернет ли? В такъв случаи втория ред значи dropва всички неща които идват (src) от Интернета (0.0.0.0/0) със скорост >= на Downlink. Така ли да го разбирам?

    в такъв случаи как да накарам различни компютри от мрежата да свалят с различна бързина от Интернета?


    Титла: Някой използвал ли е пакета iproute2?
    Публикувано от: KNK в May 22, 2003, 15:30
    mozhesh da vliaesh na upload-a i kosveno shte vliaesh na downloada ili puk da si zakachish filtrite na ingress vmesto na root, no poslednoto ne sum go probval. A mozhesh i da go ogranichavash na izhoda kam localnata mrezha t.e. koj kolko shte poluchava ot tova koeto veche e stignalo do teb ot dostavchika.


    Титла: Някой използвал ли е пакета iproute2?
    Публикувано от: saturn_vk в May 23, 2003, 01:45
    e вув всичките тези скриптове (че и новия със ingress дето пак не бачка :)) използвам eth1, която е картата свързана за кабелния модем, а не картата, свързана мрежата.

    Примерен код

    tc qdisc add dev eth1 handle ffff: ingress
    tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate 250kbit burst 10k drop flowid :1
    tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 192.168.0.3/24 police rate ${D1}kbit burst 1k drop flowid :1
    tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 192.168.0.7/24 police rate ${D2}kbit burst 1k drop flowid :1

    tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip dst 192.168.0.3/24 police rate ${D1}kbit burst 1k drop flowid :1
    tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip dst 192.168.0.7/24 police rate ${D2}kbit burst 1k drop flowid :1


    това е част от последния ми скрипт. използвах и src и dst щото не знам точко кое влияе (не че някое повлия де). Eдинствената промяна е че сега та тях леко им вибрира download бързината, но пак си е ~25KB/s.


    Титла: Някой използвал ли е пакета iproute2?
    Публикувано от: mtab в May 25, 2003, 17:25
    mrvoland opitvam se da si pusna cbq + iproute2 + tc v deistvie. Mojesh li da mi predlojish po dobar nachin za sledene na trafik na dadena mreja i ogranichavane na opredeleni adresi, zashtoto suzdavam mreja az izobshto ne sam nayasno s tezi raboti. Ako mojesh da mi pratish neshto gotovo shte ti buda adski blagodaren zashtoto v momenta sam s 256 000 bps i vsichki klienti mi polzvat po ravno trafik po vsyako vreme + edna i-net zala. Ako mojesh da mi dadesh i nyakakvi saveti ... Blagodarya predvaritelno
      
     P.S. Publikuvan mi e maila icq N 136122136.


    Титла: Някой използвал ли е пакета iproute2?
    Публикувано от: KNK в May 26, 2003, 21:04
    Цитат (saturn_vk @ Май 23 2003,01:45)
    Примерен код

    tc qdisc add dev eth1 handle ffff: ingress
    tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate 250kbit burst 10k drop flowid :1
    tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 192.168.0.3/24 police rate ${D1}kbit burst 1k drop flowid :1
    tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 192.168.0.7/24 police rate ${D2}kbit burst 1k drop flowid :1

    tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip dst 192.168.0.3/24 police rate ${D1}kbit burst 1k drop flowid :1
    tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip dst 192.168.0.7/24 police rate ${D2}kbit burst 1k drop flowid :1


    това е част от последния ми скрипт. използвах и src и dst щото не знам точко кое влияе (не че някое повлия де).

    ami che ti navsiakade polzvash mrezhta, a ne konkretnoto IP, kak iskash da stane. Opitaj s tova:
    Примерен код

    tc qdisc add dev eth1 handle ffff: ingress
    tc filter add dev eth1 parent ffff: protocol ip prio 1 u32 match ip src 0.0.0.0/0 police rate 250kbit burst 10k drop flowid :1
    tc filter add dev eth1 parent ffff: protocol ip prio 2 u32 match ip dst 192.168.0.3 police rate ${D1}kbit burst 5k drop flowid :1
    tc filter add dev eth1 parent ffff: protocol ip prio 3 u32 match ip dst 192.168.0.7 police rate ${D2}kbit burst 5k drop flowid :1
    no imaj v predvid, che s tozi script samo im ogranichavash trafika na D1 i D2, a niama nikakav prioritet (e parvo se ogranichava 192.168.0.3, taka che ako si slozhil D1=200 i D2=200 to 192.168.0.3 shte se vazpolzva parvi ot svoia trafik, a za 192.168.0.7 - kakvoto ostane) no pri tazi situacia po-dobre da si polzvash samo iptables:
    Примерен код
    Dp1=${D1}/1460
    iptables -A -i eth1 -d 192.168.0.3 -m limit -limit ${Dp1} -j ACCEPT
    iptables -A -i eth1 -d 192.168.0.3 -j DROP
    Dori shte e po-stabilno i plavno ogranichenieto pri svaliane, no predi tova triabva da pusnesh SSH, telnet i dr. ili puk gi dropish na izlizane
    Примерен код
    Dp1=${D1}/1460
    iptables -A -o eth1 -s 192.168.0.3 -p tcp --tcp-flags ALL ACK -m limit -limit ${Dp1} -j ACCEPT
    iptables -A -o eth1 -s 192.168.0.3 -p tcp --tcp-flags ALL ACK -j DROP
    s tova dazhe dropish (ogranichavash) samo starite downloads/browse, a zaiavkite za novi shte si minat s predimstvo. A kakto veche ti kazah naj-dobre e samo da ogranichish vhoda da ne prehvarlia maksimalnata skorost na vrazkata, a konkretnite razpredelenia na trafika da si gi pravish na izhoda kam potrebitelite (t.e. v root na eth0), ako pak imash probs - daj tochni stojnosti i opishi kakvo tochno iskash, no mislia che s parvia script shte postignesh priblizitelno zhelanite rezultati - triabva ti samo dst, zashtoto lokalni IP-ta otkam Ineta niama kak da ti dojdat.


    Титла: Някой използвал ли е пакета iproute2?
    Публикувано от: KNK в May 27, 2003, 20:33
    imam dve greshki v primerite s iproute, no mislia che scripta s ingress shte ti svarshi rabota.
    1. Dp1 triabva da e cialo chislo, formulata e za priblizitelno izchislenie.
    2. --limit ${Dp1} (ne samo s edno tire, a s dve) vsashtnost triabva da e --limit X/s kadeto X e celochislenia rezultat ot po-gore.

    I edno dopalnenie. Ako iskash mozhesh da uvelichish burst (po default e 5) za da se browse po-barzo ako ne se svalia nishto ot konkretnia potrebitel. stava s --limit-burst 10 naprimer