Fedora 9 + CBQ - Não faz limitação, nem de download, nem upload.

1. Fedora 9 + CBQ - Não faz limitação, nem de download, nem upload.

Tony Miranda
cyberwalk

(usa Debian)

Enviado em 03/02/2009 - 04:00h

Pessoal,


estou com um problema para implementar o CBQ em meu servidor.
Possuo o Fedora 9 com o kernel padrão do fedora (2.6.27.12-78.2.8.fc9.i686) que foi atualizado direto pelo yum.

Possuo duas interfaces reais (eth0 e eth1) e uma virtual (eth0:1) e meu link é através de um modem adsl (ppp0).
Possuo também o SQUID rodando e meu iptables faz redirecionamento de portas, ou seja, qq coisa vindo da rede interna (eth0)
com destino a porta 80, redireciona para a porta do SQUID (3128).

O problema real é o seguinte:
O CBQ não está fazendo a limitação que deveria, não importa a RATE ou o WEIGHT q eu altere nas regras, ele nao faz a limitação,
seja para download, quanto para upload.

Abaixo segue minha conf:

=====================================================
Interfaces:

eth0 (Rede Interna - 192.168.0.0/24)
eth0:1 (Rede para administração de AP-Wireless - Sem uso de rede - 192.168.100.0/24)
eth1 (Sem configuração - conectada ao modem ADSL)
ppp0 (Link com a internet ligado a eth1)

=====================================================
CBQ:

cbq-0002.in.redelocal:
DEVICE=eth0,100Mbit,10Mbit
RATE=200Kbps
WEIGHT=20Kbps
PRIO=5
BOUNDED=no
ISOLATED=no
RULE=192.168.0.0/24

cbq-0003.in.192168000002:
DEVICE=eth0,100Mbit,10Mbit
RATE=100Kbps
WEIGHT=10Kbps
PRIO=5
BOUNDED=yes
ISOLATED=yes
RULE=192.168.0.2/32

cbq-1002.out.redelocal:
DEVICE=ppp0,10Mbit,1Mbit
RATE=100Kbps
WEIGHT=10Kbps
PRIO=5
BOUNDED=yes
ISOLATED=yes
RULE=192.168.0.0/24,

cbq-1003.out.192168000002:
DEVICE=ppp0,10Mbit,1Mbit
RATE=300Kbps
WEIGHT=30Kbps
PRIO=5
BOUNDED=yes
ISOLATED=yes
RULE=192.168.0.2/32,
================================================

Isso é o que aparece com o comando 'cat /var/cache/cbq.init':

/sbin/tc qdisc del dev eth0 root
/sbin/tc qdisc add dev eth0 root handle 1 cbq bandwidth 100Mbit avpkt 3000 cell 8
/sbin/tc class change dev eth0 root cbq weight 10Mbit allot 1514

/sbin/tc qdisc del dev ppp0 root
/sbin/tc qdisc add dev ppp0 root handle 1 cbq bandwidth 10Mbit avpkt 3000 cell 8
/sbin/tc class change dev ppp0 root cbq weight 1Mbit allot 1514

/sbin/tc class add dev eth0 parent 1: classid 1:2 cbq bandwidth 100Mbit rate 200Kbps weight 20Kbps prio 5 allot 1514 cell 8 maxburst 20 avpkt 3000 bounded isolated
/sbin/tc qdisc add dev eth0 parent 1:2 handle 2 tbf rate 200Kbps buffer 10Kb/8 limit 15Kb mtu 1500
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.0/24 classid 1:2

/sbin/tc class add dev eth0 parent 1: classid 1:3 cbq bandwidth 100Mbit rate 100Kbps weight 10Kbps prio 5 allot 1514 cell 8 maxburst 20 avpkt 3000 bounded isolated
/sbin/tc qdisc add dev eth0 parent 1:3 handle 3 tbf rate 100Kbps buffer 10Kb/8 limit 15Kb mtu 1500
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.2/32 classid 1:3

/sbin/tc class add dev ppp0 parent 1: classid 1:1002 cbq bandwidth 10Mbit rate 100Kbps weight 10Kbps prio 5 allot 1514 cell 8 maxburst 20 avpkt 3000 bounded isolated
/sbin/tc qdisc add dev ppp0 parent 1:1002 handle 1002 tbf rate 100Kbps buffer 10Kb/8 limit 15Kb mtu 1500
/sbin/tc filter add dev ppp0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.0.0/24 classid 1:1002

/sbin/tc class add dev ppp0 parent 1: classid 1:1003 cbq bandwidth 10Mbit rate 300Kbps weight 30Kbps prio 5 allot 1514 cell 8 maxburst 20 avpkt 3000 bounded isolated
/sbin/tc qdisc add dev ppp0 parent 1:1003 handle 1003 tbf rate 300Kbps buffer 10Kb/8 limit 15Kb mtu 1500
/sbin/tc filter add dev ppp0 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.0.2/32 classid 1:1003

========================================================================================================================

Isso, quando executo o comando 'cbq stats' apos teste no velocimetro 'www.speedtest.net':

### eth0: queueing disciplines

qdisc cbq 1: root rate 100000Kbit (bounded,isolated) prio no-transmit
Sent 1585999 bytes 1339 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
borrowed 0 overactions 0 avgidle 234 undertime 0

### eth0: traffic classes

class cbq 1: root rate 100000Kbit (bounded,isolated) prio no-transmit
Sent 1586435 bytes 1341 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
borrowed 0 overactions 0 avgidle 227 undertime 0

### eth0: filtering rules

filter parent 1: protocol ip pref 100 u32
filter parent 1: protocol ip pref 100 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 100 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:2 (rule hit 1342 success 1342)
dst 192.168.0.0/24 (success 1342 )
filter parent 1: protocol ip pref 100 u32 fh 800::801 order 2049 key ht 800 bkt 0 flowid 1:3 (rule hit 0 success 0)
dst 192.168.0.2/32 (success 0 )

### eth1: queueing disciplines

qdisc pfifo_fast 0: root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 6957726 bytes 21689 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0

### ppp0: queueing disciplines

qdisc cbq 1: root rate 10000Kbit (bounded,isolated) prio no-transmit
Sent 392585 bytes 856 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
borrowed 0 overactions 0 avgidle 2343 undertime 0

### ppp0: traffic classes

class cbq 1: root rate 10000Kbit (bounded,isolated) prio no-transmit
Sent 392585 bytes 856 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
borrowed 0 overactions 0 avgidle 2343 undertime 0

### ppp0: filtering rules

filter parent 1: protocol ip pref 100 u32
filter parent 1: protocol ip pref 100 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 100 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1002 (rule hit 856 success 0)
src 192.168.0.0/24 (success 0 )
filter parent 1: protocol ip pref 100 u32 fh 800::801 order 2049 key ht 800 bkt 0 flowid 1:1003 (rule hit 856 success 0)
src 192.168.0.2/32 (success 0 )


Repare nas linhas referente ao filtro para a classe de IP e o filtro para o IP.Parece que ele não acha nenhum trafego para o filtro com IP especifico. Porém, mesmo se eu limitando o filtro da classe de IP para algo como RATE=100Kbps, não ocorre a limitação.

=========================================================================================================================

Não entendo por que não funciona, ao meu ver esta tudo correto. A unica coisa que me falta ver é o kernel. Digo isso porque
minha primeira opção seria o HTB, pore, ele começou a dar erros dizendo que meu Kernel não dava suporte ao HTB ou o HTB já
estava rodando.
Como não queria mecher no Kernel, decidi pelo CBQ, mas com isso, estou preocupado se este meu Kernel realmente está bom.

Por favor me ajudem.

PS.: Alguem pdoeria me dizer quais as opções do Kernel eu preciso compilar para um bom funcionamento do QoS?


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts