>>Могет кто знает,как сделать,чтобы,например 110 и 25 порт не шейпился?
>> а то инет трафик шейпиться,но надо,чтоб почта не шейпилась,
>> тоесть работала быстро...инет должен шейпиться по большому диапазону,
>> шейпить тока порты 80,21,етц,просьба не предлагать :)
>>спасибо...
>
>
>помечать в ядре при помощи ipchains разными метками н раскидывать, основываясь на
>метках, по разным классам cbq?
Вот интересный скрипт как основа для ковыряния:
#!/bin/sh
## Traffic shaper for cohen
## $Id: 01qos,v 1.2 2002/06/30 05:02:15 packbart Exp $
TC=/sbin/tc
## ADSL
$TC qdisc del dev ppp0 root
# Bandbreite insgesamt auf 192kBit begrenzen, damit der Puffer im DSL-Geraet nicht volllaeuft
$TC qdisc add dev ppp0 root handle 1:0 cbq bandwidth 192kbit avpkt 1000 cell 8
$TC class add dev ppp0 parent 1:0 classid 1:1 cbq bandwidth 192kbit rate 192kbit weight 19.2kbit prio 8 allot 1492 cell 8 maxburst 20 avpkt 1000
# 4 Prioritaetsklassen, die untereinander Bandbreite tauschen
$TC class add dev ppp0 parent 1:1 classid 10 cbq bandwidth 192kbit rate 48kbit weight 19.2kbit prio 1 allot 1492 cell 8 maxburst 20 avpkt 1000 sharing borrow
$TC class add dev ppp0 parent 1:1 classid 20 cbq bandwidth 192kbit rate 48kbit weight 19.2kbit prio 5 allot 1492 cell 8 maxburst 20 avpkt 1000 sharing borrow
$TC class add dev ppp0 parent 1:1 classid 30 cbq bandwidth 192kbit rate 48kbit weight 16.8kbit prio 7 allot 1492 cell 8 maxburst 20 avpkt 1000 sharing borrow
$TC class add dev ppp0 parent 1:1 classid 40 cbq bandwidth 192kbit rate 48kbit weight 16.8kbit prio 8 allot 1492 cell 8 maxburst 10 avpkt 1000 sharing borrow
# SFQ fuer Prio 1, 2 - TBF 168kBit fuer Prio 3, 4
$TC qdisc add dev ppp0 parent 1:10 sfq perturb 10
$TC qdisc add dev ppp0 parent 1:20 sfq perturb 10
$TC qdisc add dev ppp0 parent 1:30 tbf rate 168kbit burst 1492 latency 50ms
$TC qdisc add dev ppp0 parent 1:40 tbf rate 168kbit burst 1492 latency 50ms
# Prio 1: IRC, SSH, DNS
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dport 6667 0xffff flowid 1:10
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dport 22 0xffff flowid 1:10
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip sport 22 0xffff flowid 1:10
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip sport 53 0xffff flowid 1:10
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dport 53 0xffff flowid 1:10
# Prio 2: WWW, SMTP, News, SSL-Webserver
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dport 80 0xffff flowid 1:20
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dport 3128 0xffff flowid 1:20
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dport 25 0xffff flowid 1:20
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dport 119 0xffff flowid 1:20
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip sport 443 0xffff flowid 1:20
# Prio 3: Webserver, SAFT
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip sport 80 0xffff flowid 1:30
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip sport 487 0xffff flowid 1:30
# Prio 4, Idle-Klasse: edonkey, kazaa
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dport 4661 0xffff flowid 1:40
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip sport 4661 0xffff flowid 1:40
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dport 4662 0xffff flowid 1:40
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip sport 4662 0xffff flowid 1:40
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dport 4665 0xffff flowid 1:40
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip sport 4665 0xffff flowid 1:40
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dport 1214 0xffff flowid 1:40
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip sport 1214 0xffff flowid 1:40
# Gaeste-DHCP nach 4
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip src 10.42.22.0/24 flowid 1:40
$TC filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip src 10.42.16.0/24 flowid 1:40
# IPv6 geht pauschal nach 1
$TC filter add dev ppp0 parent 1:0 protocol ip prio 2 u32 match ip protocol 41 0xff flowid 1:10
# alles andere nach 2
$TC filter add dev ppp0 parent 1:0 protocol ip prio 3 u32 match ip protocol 0 0x00 flowid 1:20
## WaveLAN
$TC qdisc del dev eth2 root
$TC qdisc add dev eth2 root handle 2:0 cbq bandwidth 11Mbit avpkt 1000 cell 8
$TC class add dev eth2 parent 2:0 classid 2:1 cbq bandwidth 11Mbit rate 11Mbit weight 1.1Mbit prio 8 allot 1500 cell 8 maxburst 20 avpkt 1000
$TC class add dev eth2 parent 2:1 classid 10 cbq bandwidth 11Mbit rate 11Mbit weight 1.1Mbit prio 1 allot 1500 cell 8 maxburst 20 avpkt 1000 isolated borrow
$TC class add dev eth2 parent 2:1 classid 20 cbq bandwidth 11Mbit rate 128kbit weight 12.8kbit prio 8 allot 1500 cell 8 maxburst 20 avpkt 1000 sharing bounded
$TC qdisc add dev eth2 parent 2:10 sfq perturb 10
$TC qdisc add dev eth2 parent 2:20 sfq
# IPSec & IPv6 unbeschraenkt
$TC filter add dev eth2 parent 2:0 protocol ip prio 1 u32 match ip protocol 50 0xff flowid 2:10
$TC filter add dev eth2 parent 2:0 protocol ip prio 1 u32 match ip protocol 41 0xff flowid 2:10
# unverschluesselter Traffic (WaveLAN-Gaeste) begrenzt auf 128kBit
$TC filter add dev eth2 parent 2:0 protocol ip prio 2 u32 match ip protocol 0 0x00 flowid 2:20