Junior, estou com mais 1 pequena duvida no meu caso.
iptables -t mangle -I POSTROUTING 1 -o eth0 -d 192.168.0.1 -j MARK --set-mark 2 iptables -t mangle -I POSTROUTING 2 -o eth0 -d 192.168.0.1 -j RETURN O que é os numeros após POSTROUTING? é a marcação do pacote? O Pacote que veio com marcação 1 para o destino 192.168.0.1 foi marcdo como 2 e na linha seguinte o pacote marcado como 2 ele da um RETURN? Grato Att Gustavo Em 13 de outubro de 2010 09:11, Junior Polegato - Linux < li...@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 > >