- Limitando Saída
+ Responder ao Tópico
-
Limitando Saída
bom dia galera do UL!
preciso de uma ajuda q pra vcs devem ser basica.. mais pra mim ta dificil
tenho clientes atraz de um servidor Slackware.. mais to com um problema.. fiz o cqb por cliente em http esta tudo normal.. mais no emule e saida de alguns clientes chegam eh 1mb.. existe algum meio de eu controlar a banda de saida do emule?
desde jah agradeço.. obrigado e tchau
-
Re: Limitando Saída
Boa tarde. seguinte, uma maneira que eu utilizo para limitar a saida, em especial do e-mule é um controle de mascaramento juntamente com htb, que no seu caso vc utiliza cbq.
Como proceder?
Simples, o seu servidor provavelmente tem no minimo duas placas de rede, uma que vai pra net e uma pra local, todas os pedidos que vem da local com ips do tipo 192.168.x.x são mascarados e saem do serdidor com outro ip, vamos dizer que com 10.1.1.2, vão até o modem e de lah são mascarados mais uma vez e recebem o ip real 200.x.x.x
A dificuldade de se implementar o controle de saida é exatamente porque como o mascaramento está habilitado a origem passa a ser o proprio servidor, então se vc fizer o controle de saida assim ele vai afetar o trafego de todos os clientes inclusive o trafego realmente originado do servidor.
Então a solução eh vc criar regras em seu masq dizendo que tudo que vier da interface local com as portas de destido de 1 a 1024 serão mascarados para o ip 10.1.1.2, crie algumas regras para privilegiar portas acima de 1024, como a 1862(msn) 5190(icq) 5900 a 5009(vnc), fazendo-as sair também pelo 10.1.1.2, todo o resto do trafego vc mascara para um outro ip, ou seja, as portas de 1024 a 65535 serão mascarados para o ip 10.1.1.3.
Agora temos todo o trafego mormal a sair pelo ip 10.1.1.2 e todo o trafego não registrado, normalmente os p2p saindo pelo 10.1.1.3, agora eh só vc aplicar o seu cbq dizendo que tudo que sair pela interface eth0 pelo ip 10.1.1.3 sera limitado a 128Kbs, assim os downloads continuarão bons e o uploads serão limitados.
Infelismente não saberei lhe passar a sintaxe de como criar essa regras de mascaramento com o iptables, pois eu utilizo um programa exelente chamado shorewall www.shorewall.net que simplifica e organiza a administração o iptables. vou colar aki em baixo o meu arquivo masq do shorewall para vc entender oque eu estou a fazer, lembro-lhe que possuo 3 interfaces, duas locais(eth2 eth1) e uma net(eth0)
Ah sim, não se esqueça de direcionar tanto as portas de tcp quanto de udp e o segundo ip 10.1.1.3 vc precisará criar em sua interface net.
int de saida int de origem ip de saida protocolo porta de destino
#######################################################
## PORTAS ---> 10.1.1.5 ##
#######################################################
eth0 eth2 10.1.1.5 tcp 5190,1863
eth0 eth2 10.1.1.5 udp 5190,1863
eth0 eth1 10.1.1.5 tcp 5190,1863
eth0 eth1 10.1.1.5 udp 5190,1863
#######################################################
## RANGES ---> 10.1.1.5 ##
#######################################################
eth0 eth2 10.1.1.5 tcp 1:1024
eth0 eth2 10.1.1.5 udp 1:1024
eth0 eth2 10.1.1.5 tcp 5900:5910
eth0 eth2 10.1.1.5 udp 5900:5910
eth0 eth1 10.1.1.5 tcp 1:1024
eth0 eth1 10.1.1.5 udp 1:1024
eth0 eth1 10.1.1.5 tcp 5900:5910
eth0 eth1 10.1.1.5 udp 5900:5910
########################################################################################
## RANGES ---> 10.1.1.4 ##
#########################################################################################
eth0 eth2 10.1.1.4 tcp 1024:65535
eth0 eth2 10.1.1.4 udp 1024:65535
eth0 eth1 10.1.1.4 tcp 1024:65535
eth0 eth1 10.1.1.4 udp 1024:65535
O ip ao qual eu vou reduzir o trafego de saida será o 10.1.1.4.
Bom, é isso ai, espero ter ajudado.
Qulquer coisa [email protected]
-
Re: Limitando Saída
Eu resolvi isso sem viagem alguma simplesmente criando uma regra para cada ip.
Eu tenho os ips num numa tabela mysql, o que propicia criar todas as regras automaticamente., Usei a tabela mangle do iptables criando uma MARK com numero que é o ID do cliente que no meu caso está na tabela cadastro também do mysql.
arquivo regrasipt
##Cliente Paulo Henrique ###
iptables -t mangle -A FORWARD -s 10.1.1.100/32 -j MARK --set-mark 49
iptables -t mangle -A POSTROUTING -s 10.1.1.100/32 -j MARK --set-mark 49
Meu cbq é controlado por um programa que criei chamado cbq-web ele cria os arquivos do cbq usando dados provindos de tabelas do mysql, com ip, cadastro.
dentro do arquivo cbq do cliente eu cito a mark 49 por exemplo dessa maneira.
MARK=49
essa MARK tem que estar no arquivo do cbq que contém virgula após os ips:
tipo assim:
/etc/sysconfig/cbq-0002.paulo-IN
DEVICE=eth0,100Mbit,10Mbit
RATE=128Kbit
WEIGHT=13Kbit
PRIO=5
RULE=10.1.1.100/32,
RULE=10.1.1.101/32,
MARK=49
BOUNDED=yes
ISOLATED=no
Ou seja, resumindo.
Você faz uma regra no iptables igual a dai de cima
e cita a mark no arquivo de saída do iptables.
Funciona perfeitamente.
-
Re: Limitando Saída
Tudo bem MASTERGTx, mas assim vc limita o trafego de saida e não apenas a saida dos p2p e similares, além de que vc vai precisar cadastrar novas regras a cada cliente novo que vc tiver.
Para a pergunta que ele fez de como limitar o trafego dos donkeys e afins essa regra não vai ser muito boa, pois o upload do cliente vai ficar colado nos 128Kbs apenas com o trafego do p2p e quando ele precisar enviar um ack a responta será demorada, isso sem falr se ele quiser enviar uma foto para um fotolog, ou orkut da vida.
Da maneira que eu implementei o upload do cliente só está sendo limitado para os p2p e afins, todo o resto do upload sai em velocidade full.
Ah sim, e obrigado por dizer que eu viajei, acho que aki deveriamos crescer a ajudar um ao outro e não mandar essas indiretas querendo chamar os outros de burros.
Não sou o dono da verdade, mas quero respeito.
-
Re: Limitando Saída
muito bom Waclawiak gostei !!!!!!!! :-o
tem que mostrar p esse tec. de resvistas como é que se faz, eles axão que sabem de tudo!!!
flo velho !! :mrgreen:
-
Re: Limitando Saída
Opa, vcs entenderam mal, nviagem pra mim é uma solução complexa, isso logo quer dizer que vc não é burro, com essas regras todo o upload do cliente estará limitado na velocidade predefinida ué, pra que deixar upload full?
o cara tem por exemplo 128kb de upload, se ele usar isso tudo fornecendo up em p2p ou não é problema do cliente.
Já pensou se o cliente faz um servidor de ftp na máquina dele? já pensou no cliente enviando arquivos a 2mb e saturando meu pu por exemplo?
Jé pensou se ele monta um servidor de páginas ma náquina dele e server arquivos usando isso?
Por isso que eu faço como no adsl, vc tem uma velocidadee vc usa como quiser.
Por isso minha solução pareçe a mais razoável. e não se ofenda é meu ponto de vista, e não acho que sei tudo ok olha, eu osu iniciante.
Gratos..
-
Re: Limitando Saída
Só mais uma, pra controle do p2p existe o pacote iptablesp2p pra fazer esse tipo de controle, ele marka pacotes usando MARK também e vc independentede usar cbq ou htb vai ter que apontar uma mark nas conf do arquivo.
tipo no cbq depois de implantar o iptables-p2p, eu crio um arquivo de nome
cbq-FFFF.p2p e dentro dele espeficico quanto de banda total pode ser estabelicidade pra toda a rede p2p dentro da minha banda dei esse nome pq é o último nome em hexadecimal e sua regra será a última a ser lida. Usando a imaginação vc pode fazer uma regra pra cada cliente e especificar dentro de cada arquivo de cliente, agora como fazer isso é preciso pesquisar, tem vários tutoriais em www.google.com.br/linux procure "iptables-p2p".
Espero realmente ter ajudado.