Portál AbcLinuxu, 14. května 2025 14:55

Dotaz: samba/ftp server, traffic shaping odchadzajuci

23.4.2009 13:00 rado3105 | skóre: 11
samba/ftp server, traffic shaping odchadzajuci
Přečteno: 207×
Odpovědět | Admin

Dobry, mam samba/ftp server, ktory je pripojeny do siete. Tato siet je tvorena pocitacmi pripojenymi cez ethernet a wifi(a/g). Podla koncovych ip by som chcel obmedzit maximalnu rychlost dat odchadzajucich z daneho servera(napr. by som si urobil nejaky address list: 1. pre wifi a, 2. pre wifi g 3. pre ethernet) a jednotlivym adress listom pridelil inu maximalnu rychlost uploadu. Vedeli by ste pomoct cim je najlepsie to dosiahnut, resp. ako?

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.4.2009 14:58 NN
Rozbalit Rozbalit vše Re: samba/ftp server, traffic shaping odchadzajuci
Odpovědět | | Sbalit | Link | Blokovat | Admin

iptables a connrate, contrack, pripadne limit burst ?

NN

25.4.2009 12:37 rado3105 | skóre: 11
Rozbalit Rozbalit vše Re: samba/ftp server, traffic shaping odchadzajuci

vedeli by ste mi dat nejaky priklad popripade odkaz, kde si to pozriet. Co som pozeral QOS na linuxe, tak jedine htb, ale to vyzera ze funguje len ked su pritomne 2 network interfacy.

26.4.2009 22:00 JF | skóre: 23
Rozbalit Rozbalit vše Re: samba/ftp server, traffic shaping odchadzajuci

Pošlu ti kus sveho konfiguraku, snad to z toho pochopíš.

Pro vlastní studium doporučuji "man tc".

 

Nejdříve si nadefinuj kořenový flow:

wifiDev="wifi1"


echo WIFI RODGA
tc qdisc del dev $wifiDev root

tc qdisc add dev $wifiDev root handle 10: cbq bandwidth 2Mbit avpkt 1000
tc class add dev $wifiDev parent 10:0 classid 10:1 cbq bandwidth 2Mbit rate 2Mbit allot 1514 weight 1Mbit prio 8 maxburst 20 avpkt 1000

Pak k němu dodefinuj 3 flow pro 3 skupiny uživatelů


tc class add dev $wifiDev parent 10:1 classid 10:100 cbq bandwidth 2Mbit rate 512kbit allot 1514 weight 512Kbit prio 4 maxburst 20 avpkt 1000
tc class add dev $wifiDev parent 10:1 classid 10:200 cbq bandwidth 2Mbit rate 512kbit allot 1514 weight 512Kbit prio 5 maxburst 20 avpkt 1000
tc class add dev $wifiDev parent 10:1 classid 10:300 cbq bandwidth 2Mbit rate 512kbit allot 1514 weight 512Kbit prio 5 maxburst 20 avpkt 1000
tc class add dev $wifiDev parent 10:1 classid 10:700 cbq bandwidth 2Mbit rate 132kbit allot 1514 weight 128Kbit prio 4 maxburst 20 avpkt 1000
tc class add dev $wifiDev parent 10:1 classid 10:800 cbq bandwidth 2Mbit rate 196kbit allot 1514 weight 196Kbit prio 5 maxburst 20 avpkt 1000
tc class add dev $wifiDev parent 10:1 classid 10:900 cbq bandwidth 2Mbit rate 32kbit allot 1514 weight 32Kbit prio 5 maxburst 20 avpkt 1000 bounded

tc qdisc add dev $wifiDev parent 10:100 sfq quantum 1514b perturb 15
tc qdisc add dev $wifiDev parent 10:200 sfq quantum 1514b perturb 15
#tc qdisc add dev $wifiDev parent 10:201 sfq quantum 1514b perturb 15
tc qdisc add dev $wifiDev parent 10:300 sfq quantum 1514b perturb 15
tc qdisc add dev $wifiDev parent 10:700 sfq quantum 1514b perturb 15
tc qdisc add dev $wifiDev parent 10:800 sfq quantum 1514b perturb 15
tc qdisc add dev $wifiDev parent 10:900 sfq quantum 1514b perturb 15

No a nakonec nějaké klasifikátory, krerými přiřadíš procházející pakety do flow:


#---------------------------------
# Network critical stuff ACK, NACK, ....
#FIN,ACK
tc filter add dev $wifiDev parent 10:0 protocol ip prio 23 handle 11 fw flowid 10:100

# Link 1
#tc filter add dev $wifiDev parent 10:0 protocol ip prio 25 u32 match u8 0x4c 0xff at -3 flowid 10:201
#tc filter add dev $wifiDev parent 10:0 protocol ip prio 25 u32 match ip src 10.23.22.235 flowid 10:201

tc filter add dev $wifiDev parent 10:0 protocol ip prio 25 u32 match ip src 10.23.22.235 flowid 10:300
tc filter add dev $wifiDev parent 10:0 protocol ip prio 25 u32 match ip src 10.23.22.16 flowid 10:300
tc filter add dev $wifiDev parent 10:0 protocol ip prio 25 u32 match ip src 10.23.22.17 flowid 10:300
tc filter add dev $wifiDev parent 10:0 protocol ip prio 25 u32 match ip src 10.23.22.18 flowid 10:300
tc filter add dev $wifiDev parent 10:0 protocol ip prio 25 u32 match ip src 10.23.22.19 flowid 10:300

# VoIP
tc filter add dev $wifiDev parent 10:0 protocol ip prio 24 u32 match ip src 10.23.22.236 flowid 10:700
tc filter add dev $wifiDev parent 10:0 protocol ip prio 24 u32 match ip src `gethostip -d sipy.cz` flowid 10:700
tc filter add dev $wifiDev parent 10:0 protocol ip prio 24 u32 match ip dst `gethostip -d sipy.cz` flowid 10:700
tc filter add dev $wifiDev parent 10:0 protocol ip prio 24 u32 match ip src `gethostip -d hlas13.802.cz` flowid 10:700
tc filter add dev $wifiDev parent 10:0 protocol ip prio 24 u32 match ip dst `gethostip -d hlas13.802.cz` flowid 10:700

#Linka2
tc filter add dev $wifiDev parent 10:0 protocol ip prio 25 u32 match ip src 10.23.22.237 flowid 10:200

#free
tc filter add dev $wifiDev parent 10:0 protocol ip prio 25 u32 match ip src 10.25.11.128/25 flowid 10:900

#CZfree
tc filter add dev $wifiDev parent 10:0 protocol ip prio 25 u32 match ip src 10.0.0.0/8 flowid 10:800
tc filter add dev $wifiDev parent 10:0 protocol ip prio 25 u32 match ip dst 10.0.0.0/8 flowid 10:800

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.