HTB com pppoe-server para controle de banda

Pra quem quer usar o HTB pra controlar banda dos clientes pppoe (interface ppp0, ppp1 etc)…

Muitos podem achar que é uma certa gambiarra, mas o resultado funciona. Não vou explicar como configurar o pppoe-server pois existem vários tutorias no VOL explicando como, bem como também a instalação do HTB.

Crie no /etc/htb o arquivo ppp0-qos.cfg, nele você coloca os dados abaixo:

class rede_interna
   bandwidth 100000;
   limit  100000;
   burst 2;
   priority 1;
   client cliente_up_128
      bandwidth 128;
      limit 128;
      burst 2;
      priority 1;
      src
         10.0.0.0/24;
      ;
   };
   client cliente_down_512
      bandwidth 128;
      limit 512;
      burst 2;
      priority 1;
      dst
         10.0.0.0/24;
      ;
   };
};
class default bandwidth 8; ;

No arquivo acima estou dizendo ao HTB que controle a banda da faixa de IP 10.0.0.0/24 pra 512k de download e 128k de upload. Lembrando que todos os arquivos ppp0-qos.cfg, ppp1-qos.cfg etc tem que ter o mesmo conteúdo.

Você pode criar aí dentro desse arquivo vários “planos” de internet, com faixa de redes diferentes, lembrando que tem que colocar os IPs relacionados no /etc/ppp/chap-secrets conforme a conta do indivíduo.

No arquivo /etc/rc.d/rc.htb altere da seguinte forma:

case "$1" in
#start HTB on ppp0
   'start_ppp0')
      /sbin/htb ppp0 start
      /sbin/htb ppp1 start
      /sbin/htb ppp2 start
      /sbin/htb ppp3 start ;;
#stop HTB on ppp0
   'stop_ppp0')
      /sbin/htb ppp0 stop
      /sbin/htb ppp1 stop
      /sbin/htb ppp2 stop
      /sbin/htb ppp3 stop ;;
 *)
echo " Usage $0 start|stop|start_eth0|stop_eth0|start_eth1|stop_eth1|show_eth0|show_eth1|gen_eth0|gen_eth1" ;;
esac

Coloque a quantidade de ppp que achar conveniente aos acessos simultâneos de seus usuários, eu coloquei até ppp70.

Copie o arquivo ppp0-qos.cfg que consta no /etc/htb para ppp1-qos.cfg, assim como para todos que você indicou no arquivo acima /etc/rc.d/rc.htb. No meu caso foi até o ppp70-qos.cfg. Lembrando que todos tem que ter o mesmo conteúdo.

Bom, agora quando um usuário conectar e levantar a interface ppp0, ppp1, ppp2 etc, o controle de banda já sera feito.

Agora vem a parte meio que gambiarra do negócio, toda vez que o usuário conectar, tem que executar o /etc/rc.d/rc.htb start_ppp0, então como o cron só da pra rodar no mínimo de minuto em minuto, você pode criar um script da seguinte forma.

Crie o arquivo “exec”, dê permissão de execução (chmod +x exec), seu conteúdo será:

#!/bin/sh
while :;
do
    /usr/local/bin/./rc.htb start_ppp0 >> /dev/null
    sleep 5
done

Salve e saia.

Esse arquivo vai executar o rc.htb start_ppp0 a cada 5 segundos, coloque pra rodar em background com o &, adicione ele no rc.local.

Outra coisa, copiei o rc.htb pra /usr/local/bin pra ele não ficar no /etc/rc.d.

Alessandro.

Publicado por Alessandro Périgo

Fonte: viva o linux

Tags: , , , , , , ,
0 votes, average: 0,00 out of 50 votes, average: 0,00 out of 50 votes, average: 0,00 out of 50 votes, average: 0,00 out of 50 votes, average: 0,00 out of 5 (0 votos, média: 0,00 por 5)
You need to be a registered member to rate this post.
Loading ... Loading ...

Sobre Diablos 4-Ever

Eu não exploro as falhas, São as falhas que me exploram.

Comentários estão fechados.