Nesse artigo vamos falar um pouco sobre o Shaperd, que vem para controle de banda nas distribuição
Debian. O foco desse artigo não é exaurir todas as funcionalidades da ferramenta, mas sim dar uma
visão de como colocar a ferramenta em produção e funcional.
Configurando o Iptables e direcionando o tráfego para Shaperd
Subindo as regras do firewall, com o iptables vamos "direcionar" os pacotes para que sejam entregues para o Shaperd, permitindo a ele fazer o Shapper.
Lembrando que quando se direciona o tráfego de determinados IPs e no Shaperd não tem configurações de Shaper para o referido IP ele fica perdido, ou seja, se você jogar toda a rede e só fizer regra para alguns, os outros ficarão sem acesso.
Para evitar isso podemos subir a regra para IPs específicos um a um ou, se optar por jogar a rede toda, lembre de configurá-la no Shaperd, lembrando também que se parar o Shaperd retire essas linhas do IPtables.
#Configuração do iptables para a maquina com IP=192.168.10.2
iptables -A FORWARD -s 192.168.10.2/32 -i eth1 -o eth0 -j QUEUE
iptables -A FORWARD -d 192.168.10.2/32 -o eth1 -i eth0 -m state --state ESTABLISHED,RELATED -j QUEUE
#Configuração do iptables para a maquina com IP=192.168.10.3
iptables -A FORWARD -s 192.168.10.3/32 -i eth1 -o eth0 -j QUEUE
iptables -A FORWARD -d 192.168.10.3/32 -o eth1 -i eth0 -m state --state ESTABLISHED,RELATED -j QUEUE
#Exemplo de configuração do iptables para toda a rede 192.168.10.0/24 #iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -o eth0 -j QUEUE #iptables -A FORWARD -d 192.168.10.0/24 -o eth1 -i eth0 -m state --state ESTABLISHED,RELATED -j QUEUE
Bom, basicamente é isso! Para que funcione de forma simples você pode fazer perfumaria nele especificando portas nas configurações do Shaperd.
[3] Comentário enviado por tosko em 01/05/2011 - 13:04h
em, neste caso desta configuração do shaperd vc não esta confundindo kbit/s por kbyte/s porque na classe A vc ta limitando uma banda de 56kbyte/s e la no final na class_from_b e class_from_c o total do link é 512kbyte/s que da um total de um link de 4Mbit/s é isto mesmo o link necessario para este escript deste jeito é um link de 4Mbit/s Up e Down? ou é 512Kbit/s up e down?
lembrando que link de internet e transferência de rede local é medida em Kbit, os gerenciadores de download medem a velocidade do download em Kbyte (ou seja kbit * 8)
é isto? ou tu confundiu kbyte por kbit ?
outra coisa este shaperd vai limitar o trafego da rede local ou só o que vai pra net?
[5] Comentário enviado por ratifers em 02/05/2011 - 11:56h
osko não os dados colocado estão certos tanto o é porconta que é o arquivos de configuração e se estivesse errado ele não funcionária esse ..arquivo foi meramente ilustrativo e utilizei testes com a prórpia interface de rede fastethernet. nada impede de adequar suas necessidades .mas nesse exemplo.
nesse exemplo o que ele faz limita para o ip 192.168.10.3 o uso de 512 kbytes/s e para o resto o uso de 56kbytes/s como tem o borrow o que pode acontecer eh que ip 192.168.10.3 não esta usando os 512 kbytes/s disponivel para ele sendo assim o resto da rede pode usa-ló ou seja ele soma a regra dos 56kbytes/s mais o que está disponivel no 512kbytes/s sendo que no topo de trafego dessa rede ele pode usar teria que ter um link para suportar o trafego de 56k mais os 512k tanto para up quanto para down veja que na regra eu trato isso e pode ser mudado tanto a banda liberada para up como a banda liberada para down. e como disse anteriormente sem problema vc utilizar isso para controle de rede desde que a maquina seja o gateway ou configure a para controlar a respectiva interface um exemplo seria vc configurar o entra na eth0 e o que o sai dela controlando essa banda.
Espero que tenha conseguido esclarecer sua duvida.
[7] Comentário enviado por ratifers em 10/05/2011 - 13:49h
bom jimmy.aa com isso você está fazendo um shappe na placa de rede então ele irá barrar todo o trafego que nela ali passar salvo se você trabalhar essas exceções como dito na ultima linha ou seja fazer a perfumaria.
[8] Comentário enviado por rafaelhenrique em 10/10/2011 - 10:48h
Oi galera!!
Alguém ai já testou essas configurações com um Firewall (iptables) + Proxy (squid3) já em funcionamento? Tenho um pouco de medo que umas regras atrapalhem as outras... pois tenho um Firewall ENORME aqui... vou fazer uns testes com a minha VM porém gostaria de saber se algum de vocês já fez a experiência.
E parabéns ao ratifers pois o artigo está otimo! Fez um ótimo trabalho companheiro! :D
O ip da minha máquina virtual é 172.16.100.2 e as regras do iptables ficaram da seguinte forma:
# iptables-save
# Generated by iptables-save v1.4.8 on Mon Oct 10 16:46:40 2011
*filter
:INPUT ACCEPT [39498:18222886]
:FORWARD ACCEPT [838:123718]
:OUTPUT ACCEPT [39607:8531833]
-A FORWARD -s 172.16.100.0/24 -i vboxnet0 -o eth0 -j QUEUE
-A FORWARD -d 172.16.100.0/24 -i eth0 -o vboxnet0 -m state --state RELATED,ESTABLISHED -j QUEUE
COMMIT
# Completed on Mon Oct 10 16:46:40 2011
# Generated by iptables-save v1.4.8 on Mon Oct 10 16:46:40 2011
*nat
:PREROUTING ACCEPT [3829:411030]
:POSTROUTING ACCEPT [3435:290914]
:OUTPUT ACCEPT [3435:290914]
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 172.16.100.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Oct 10 16:46:40 2011
A máquina virtual navega, porém quando eu mando baixar uma imagem ISO de Debian por exemplo ela atinge o topo de 223 K/s e eu queria que ela somente baixasse a 56 K/s o que eu fiz errado? Alguém ai pode me dar uma ajuda?
Obrigado
PS: O shaperd está rodando e não apresentou nenhum erro
Pois quando era estabelecida uma conexão na porta 80 quem gerenciava a mesma era o Squid3 e não o Shaperd!
Removi a regra e tudo funcionou como o previsto! Portanto se eu quiser usar o Squid3 terei que limitar a porta 80 com delay polls (tem vários tutoriais no VOL sobre isso).
[13] Comentário enviado por ksombrah em 13/05/2013 - 09:49h
Bom dia!
Estou com um problema no Shaperd com o seguinte cenário:
WAN : eth1 e/ou ppp0
LAN : eth0
Tem um link redundante que utilizo quando a internet (eth1) cai, ai eu aciono a 3g (ppp0) as regras no firewall conseguem fazer o roteamento e o squid funciona belezinha, mas a navegação sem proxy, controlada pelo shaperd, não funciona, mas quando voltou para a internet ele funciona normalmente,