Re: Controle de velocidade
ow.. to no mesmo barco q vc, vc ja conseguiu algo??
Re: Controle de velocidade
vcs terão de usar os arquivos /etc/ppp/ip-up e ip-down.
Esses arquivos saum executados sempre que uma conexão ppp eh estabelecida.
vo forncer o meu ip-up:
#!/bin/bash
#
#Primeiro, o script coleta as variáveis passadas pelo PPPD.
#interface= o numero da interface pppx que o cliente usa pra se conectar ao server
#remoteIP= o ip do cliente
#download= a velocidade setada para o download
interface=$1
remoteIP=$5
download=`grep Download /var/run/radattr.$interface | awk '{ print $3; }'`
download_8=`expr $download / 8`
upload=`grep Upload /var/run/radattr.$interface | awk '{ print $3; }'`
upload_metade=`expr $upload / 2`
contamark=`echo $interface | cut -c 4-99`
mark=`expr $contamark + 500`
mark2=`expr $contamark + 510`
mark2_1=`expr $contamark + 511`
TC="/sbin/tc -b"
UP="eth0"
IPT="/usr/sbin/iptables"
link=256
link_8=`expr 256 / 8`
#Essa linha cria um arquivo de log para a interface com os dados básico.
#util para debug das variáveis.
echo "PPP started at $(date):
interface = $interface
Remote IP = $remoteIP
download = $download
download_8= $download_8
upload = $upload
upload_metade = $upload_metade
mark = $mark
mark2 = $mark2
mark2_1 = $mark2_1
link_8 = $link_8
" >/tmp/$interface
echo "$download" > /tmp/$interface.download
echo "$upload" > /tmp/$interface.upload
echo "$mark" > /tmp/$interface.mark
#Agora setamos o controle de banda efetivamente
#através do htb
#----
# DOWNLOAD
#----
/sbin/tc qdisc add dev $interface root handle 1: htb default 10
/sbin/tc class add dev $interface parent 1: classid 1:1 htb rate 12500kbps ceil 12500kbps burst 2k quantum 1536
/sbin/tc class add dev $interface parent 1:1 classid 1:0x10 htb rate 1kbps ceil 1kbps burst 2k quantum 1536
/sbin/tc qdisc add dev $interface parent 1:0x10 handle 0x10: pfifo limit 5
/sbin/tc class add dev $interface parent 1:1 classid 1:0x20 htb rate "$link_8"kbps ceil "$link_8"kbps burst 2k prio 1 quantum 1536
/sbin/tc class add dev $interface parent 1:0x20 classid 1:0x21 htb rate "$download_8"kbps ceil "$download_8"kbps burst 2k prio 1 quantum 1500
/sbin/tc filter add dev $interface protocol ip parent 1:0 prio 1 u32 match ip dst "$remoteIP"/32 flowid 1:0x21
/sbin/tc qdisc add dev $interface parent 1:0x21 handle 0x21: pfifo limit 5
esse script pega as variaveis da conexãop logo qwue o ppp eh acionadoe ja cria as regras para o usuário. Note que vc deve informar a velocidade pela tabela radreply.
crie kmais um campo com o nome do usuario que vc deseja controlar a banda....
e usando o Reply-message vc seta no valor "Download 256" por exemplo.
e deixe o ip fixo tb.