Controle de Banda !!! Please
Bom dia pessoal !!! Naum quero ser chato ok!!! Mas é o seguinte já li um monte, pode ter certeza um monte mesmo de tutoriais e manuais sonre iproute2, ip... etc etc,... chegando ao script denominado CBQ, ou o Bandlimit, mas gente é o seguinte... é fascinante, ambos realmente controlam a banda, perfeitamente.... MASSSS ... o trafego todo da rede tb....
No CBQ tentei fazer ele limitar a porta 80, naum tive sucesso... até a porta 3128... !!!!!
Eai ? onde estou comendo barriga ?
Sinceramente estou perdido !!!!
Obrigado pela colaboração a todos....
Forte abraço... :-D
Re: Controle de Banda !!! Please
Citação:
Postado originalmente por paulojrandrade
Bom dia pessoal !!! Naum quero ser chato ok!!! Mas é o seguinte já li um monte, pode ter certeza um monte mesmo de tutoriais e manuais sonre iproute2, ip... etc etc,... chegando ao script denominado CBQ, ou o Bandlimit, mas gente é o seguinte... é fascinante, ambos realmente controlam a banda, perfeitamente.... MASSSS ... o trafego todo da rede tb....
No CBQ tentei fazer ele limitar a porta 80, naum tive sucesso... até a porta 3128... !!!!!
Eai ? onde estou comendo barriga ?
Sinceramente estou perdido !!!!
Obrigado pela colaboração a todos....
Forte abraço... :-D
Fica mais fácil de você conseguir ajuda postando alguns dos teus script.
Posta aí...
Re: Controle de Banda !!! Please
amigo... naum sei se vc entendeu... os scripts q tenho é o do Bandlimit e o CBQ... os quais se encontram nesse site... mas tudo bem... estou te enviando o script....
este é o rc.bandlimit-v.04
#!/bin/bash
##############################################################################
# UnderLinux BandLimit #
# ============================================ #
# #
# Copyright (c) 2003 by Marcus Maciel(ScOrP|On) [email protected] #
# https://under-linux.org #
# #
# This program is free software. You can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 2 of the License. #
##############################################################################
# Dependencias
# Ipchains ou Iptables , iproute2 , modulos do kernel de CBQ QoS e compania... hehehe :)
# Iptables: necessita de iptable_mangle e ipt_MARK
# Ipchains: nenhuma
##################
#INSTALACAO
# crie o diretorio bandlimit dentro do seu /etc
# mkdir /etc/bandlimit
# dentro deste diretorio crie os arquivos ips e interfaces
# touch /etc/bandlimit/ips
# touch /etc/bandlimit/interfaces
# depois edite o ips e o interfaces
# colocando dentro do ips
# os ips que vc deseja limitar 1 por linha no seguinte formato
# ip:ratein:rateout ex: 10.0.1.2:97:33
# e no interfaces as interfaces que vc usa na sua maquina
# no formato ethx ex: eth0
# 1 por linha tambem :)))
#
# Para rodar coloque o script dentro do seu rc.local
# Para remover as regras digite rc.bandlimit stop
#
##################
####
# IMPORTANTE!!!! USAMOS OS COMANDO
# iptables -F -t mangle
# ipchains -F input
# ipchains -F output
# Isso fara com que se voce tem alguma regra no seu mangle no iptables
# ou alguma regra no input ou output no seu ipchains esta regra sera apagada
# Para que voce nao perca suas regras de Firewall do iptables/ipchains
# Caso use alguma coisa no mangle do iptables ou alguma coisa no input/output
# no ipchains sete seu script de regras abaixo abaixo
#Lembrando que usamos o mangle apartir do mark 2 e este vai gerando um mark novo
#ate acabar seus ips ou seja se voce fizer pra 250 ips o ultimo mark sera o 252
#Caso use o Mark tente comecar apartir do 1000 para evitar Marks Iguais
#script=/path/seuscript.sh
script=0
##########################################################################################################
#Inicio da Configuracao
#Arquivos de Configuracao
ips=/etc/bandlimit/ips
#ips2=/etc/bandlimit/ips2
interfaces=/etc/bandlimit/interfaces
#########################
#Firewall's Suportados ipchains e Iptables # Padrao IPTABLES
#firewall=ipchains
firewall=iptables
###################################
#############
# Interfaces
redelocal=eth0
#redelocal2=eth0
redelocal2=inexistente
internet=eth1
#############
#Fim da configuracao
##########################################################################################################
#ifacenum=0
###Contando o numero de Interaces####
#for iface in `cat $interfaces`
#do
# ifacenum=`expr $ifacenum + 1`
#done
if [ $firewall == "iptables" ]
then
modprobe iptable_mangle
modprobe ipt_MARK
fi
#inicio do markador :)
mark=2
if [ "$1" = "stop" ]; then
################################
echo "Removendo Regras"
for iface in `cat $interfaces`
do
tc qdisc del dev $iface root
done
if [ $firewall == "iptables" ]
then
iptables -F -t mangle
if [ $script != "0" ]
then
$script
fi
else
ipchains -F input
ipchains -F output
if [ $script != "0" ]
then
$script
fi
fi
################################
else # Se nao tem "stop" entao assume start :)
#Limpar Regras antes de rodar o script ):)
iptables -F -t mangle
if [ $firewall == "iptables" ]
then
iptables -F -t mangle
if [ $script != "0" ]
then
$script
fi
else
ipchains -F input
ipchains -F output
if [ $script != "0" ]
then
$script
fi
fi
#adicionado interfaces
for iface in `cat $interfaces`
do
tc qdisc del dev $iface root
tc qdisc add dev $iface root handle 1 cbq bandwidth 10Mbit avpkt 1000 cell 8
tc class change dev $iface root cbq weight 1Mbit allot 1514
done
####
for ip in `cat $ips`
do
ratein=`echo $ip | cut -d ":" -f 2`
rateout=`echo $ip | cut -d ":" -f 3`
ip=`echo $ip | cut -d ":" -f 1`
#entrada
tc class add dev $redelocal parent 1: classid 1:$mark cbq bandwidth 10Mbit rate "$ratein"Kbit weight `expr $ratein / 10`Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev $redelocal parent 1:$mark handle $mark sfq perturb 10
tc filter add dev $redelocal parent 1:0 protocol ip prio 200 handle $mark fw classid 1:$mark
if [ $firewall == "iptables" ]
then
iptables -t mangle -A POSTROUTING -d $ip -j MARK --set-mark $mark
else
ipchains -A output -d $ip --mark $mark
fi
#Saida
tc class add dev $internet parent 1: classid 1:$mark cbq bandwidth 10Mbit rate "$rateout"Kbit weight `expr $rateout / 10`Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev $internet parent 1:$mark handle $mark sfq perturb 10
tc filter add dev $internet parent 1:0 protocol ip prio 200 handle $mark fw classid 1:$mark
if [ $firewall == "iptables" ]
then
iptables -t mangle -A FORWARD -s $ip -j MARK --set-mark $mark
else
ipchains -A input -s $ip --mark $mark
fi
#################################################################
mark=`expr $mark + 1`
done
if [ $redelocal2 != "inexistente" ]
then
for ip in `cat $ips2`
do
ratein=`echo $ip | cut -d ":" -f 2`
rateout=`echo $ip | cut -d ":" -f 3`
ip=`echo $ip | cut -d ":" -f 1`
#entrada
tc class add dev $redelocal2 parent 1: classid 1:$mark cbq bandwidth 10Mbit rate "$ratein"Kbit weight `expr $rateout / 10`Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev $redelocal2 parent 1:$mark handle $mark sfq perturb 10
tc filter add dev $redelocal2 parent 1:0 protocol ip prio 200 handle $mark fw classid 1:$mark
if [ $firewall == "iptables" ]
then
iptables -t mangle -A POSTROUTING -d $ip -j MARK --set-mark $mark
else
ipchains -A output -d $ip --mark $mark
fi
#Saida
tc class add dev $internet parent 1: classid 1:$mark cbq bandwidth 10Mbit rate "$rateout"Kbit weight `expr $rateout / 10`Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev $internet parent 1:$mark handle $mark sfq perturb 10
tc filter add dev $internet parent 1:0 protocol ip prio 200 handle $mark fw classid 1:$mark
if [ $firewall == "iptables" ]
then
iptables -t mangle -A FORWARD -s $ip -j MARK --set-mark $mark
else
ipchains -A input -s $ip --mark $mark
fi
#################################################################
mark=`expr $mark + 1`
done
fi
fi # fim do script
Re: Controle de Banda !!! Please
Para Controle de Banda eu Utilizo o IPFW+Dummynet (FREEBSD) é muito preciso e flexível.
Também permite que você crie pipes por porta por máquina por rede por interface, muito bom.
Espero ter ajudado!
Re: Controle de Banda !!! Please
obrigado pela dica amigo... mas uso o Slackware 10.2... só queria entender pq qndo limito a navegação, limita tb a rede... ousejas de maquina para maquina fica controlado... nausm sei se vcs estão entendendo.. ;o)