[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Controle de Banda Debian Lenny



Ola Junior, 
seguinte explicarei a topologia que tenho. 

--172.16.0.0/16--eth1---FW---tun0--m Internet -> LINK 1024k. 
Preciso controlar o trafego da máquina 172.16.0.4, onde tudo que vem na porta 3389 de entrada e saida tenha 512kb, o http, https e ssh 400kb, e o restante 112.
Porém fiz as regras semelhante a postada, mas so cai na classe 3. 
minhas regras: http://pastebin.com/FZj32JZm 
Obrigado pela ajuda. 


Em 13 de outubro de 2010 09:11, Junior Polegato - Linux <linux@juniorpolegato.com.br> escreveu:
Em 12-10-2010 22:28, gunix escreveu:
Junior,
praticamente implantado a solução para controle de banda. Agradeço todo esforo a este trabalho a vc.
Porem se possivel me ajude em mais 2 duvidas.
Eu marquei todos os pacotes que vem da eth1 com 1
iptables -t mangle -A PREROUTING -i eth1 -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -i eth1 -j RETURN
e mais abaixo joguei isso para a classe que me da velocidade de acesso discado.
Imagine que eu tenha 3 clientes:
192.168.0.1
192.168.0.2
192.168.0.3
Tenho que marcar cada 1 com estacao com uma valor diferente e depois jogar para as classes?
Ex:
iptables -t mangle -A PREROUTING -i eth1 -d 192.168.0.1 -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -i eth1 -d 192.168.0.2 -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -i eth1 -d 192.168.0.3 -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -i eth1 -d 192.168.0.1 -j RETURN
iptables -t mangle -A PREROUTING -i eth1 -d 192.168.0.3 -j RETURN
iptables -t mangle -A PREROUTING -i eth1 -d 192.168.0.2 -j RETURN
tc filter add dev eth0 parent 1: protocol ip handle 1 fw classid 1:11
tc filter add dev eth0 parent 1: protocol ip handle 2 fw classid 1:20
é isso?
E quando uso squid? Fiz uma teste e para quem usa proxy a navegação parece que fica meio louca. TEm alguem que tem que fazer?
Não testei 100%, mas provavelmente de problemas...


Olá!

       Legal que entendeu o espírito do controle de banda e está funcionando!

       Quanto a marcar pacotes pelos destinos da sua rede internet, este deve ser feito depois de roteamento, pois o pacote chega na eth1 (PREROUTING) com o IP de destino do seu firewall, o qual verifica na sua tabela de roteamento para qual IP da rede internet se destina este pacote, então troca o IP dele pelo IP da sua rede interna e então manda o pacote para sua interface de rede interna eth0 (POSTROUTING), aí sim entram nas regras do TC. Dessa forma o correto seria:

iptables -t mangle -A POSTROUTING -o eth0 -d 192.168.0.1 -j MARK --set-mark 1
iptables -t mangle -A POSTROUTING -o eth0 -d 192.168.0.1 -j RETURN
iptables -t mangle -A POSTROUTING -o eth0 -d 192.168.0.2 -j MARK --set-mark 1
iptables -t mangle -A POSTROUTING -o eth0 -d 192.168.0.2 -j RETURN
iptables -t mangle -A POSTROUTING -o eth0 -d 192.168.0.3 -j MARK --set-mark 2
iptables -t mangle -A POSTROUTING -o eth0 -d 192.168.0.3 -j RETURN
tc filter add dev eth0 parent 1: protocol ip handle 1 fw classid 1:11
tc filter add dev eth0 parent 1: protocol ip handle 2 fw classid 1:20

       Veja que o RETURN fica abaixo de cada regra para que o firewall não passe pelas outras desnecessariamente.

       Veja também que os pacotes já foram marcados com 1 quando chegaram da internet, então apenas precisa marcar com 2 os que não fazem parte do balaio, sendo dessa forma desnecessárias as 4 primeiras linhas acima.

       Ainda pode organizar e subdividir sua rede interna em classes de IP para não ficar fazendo regras 1 a 1. Por exemplo, IPs de 192.168.0.0 a 192.168.0.7 são da classe 192.168.0.0/29, os de 192.168.0.1 a 192.168.0.15 são da classe 192.168.0.8/29, de 192.168.0.128 a 192.168.0.255 da classe 192.168.0.0/25, aí é só marcar a classe de IP e filtrar cada marca para uma classe do TC, e assim não vai precisar fazer IP a IP.



[]'s
        Junior Polegato


--
To UNSUBSCRIBE, email to debian-user-portuguese-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4CB5A1FB.80901@juniorpolegato.com.br" target="_blank">http://lists.debian.org/4CB5A1FB.80901@juniorpolegato.com.br




--
Att,
Maiquel

Reply to: